Skip to content

get the radiance at a single surface point #1290

Answered by merlinND
boringfish asked this question in Q&A
Discussion options

You must be logged in to vote

Hello @boringfish,

When using mi.render(), the sampler is automatically seeded with the correct wavefront size.
In your test script, you have used integrator.sample() directly, which does not take care of seeding for you.

By first rendering 1 ray at a time, I assume that you have seeded the sampler with a wavefront size of 1.
This means that from that point on, the sampler will generate only 1 random number. You can check this with sampler.next_1d().
When you switch to a bundle of ray_count, that 1 random number gets broadcaast (copied) over all ray_count lanes, which is why you get the same result for each lane.

Also, don't forget to schedule the state of the sampler after each call to i…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by boringfish
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants