Per-thread RNGs and RNG bugfix

This commit is contained in:
David 2021-08-30 18:34:14 +02:00
commit 52806e4457
6 changed files with 70 additions and 39 deletions

View file

@ -40,9 +40,9 @@ struct camera {
/* Methods */
ray get_ray(float s, float t) const
ray get_ray(float s, float t, int32_t thread_id = 0) const
{
vec3 rd = lens_radius * random_in_unit_disk();
vec3 rd = lens_radius * random_in_unit_disk(thread_id);
vec3 offset = u * rd.x + v * rd.y;
return ray(origin + offset, lower_left_corner + s*horizontal + t*vertical - origin - offset);