<div dir="ltr"><div dir="ltr"><div>Hi all,</div><div><br></div><div>Today is <a href="https://vimeo.com/39345149" target="_blank">Midsummer</a> in Sweden, so I will be off earlier than usual. Here is my report for this week:</div><div><br></div><div><b><u>This week</u></b></div><div><u></u><b><u></u></b></div><ul><li>Light picking PDF<br></li><ul><li>Previously
the probability to pick a certain lamp was 1/num_lamps and the
probability to pick an emissive triangle was
area_of_triangle/total_triangl<wbr>e_area, and if both lamps and emissive triangles were in the scene then the probability is half of the one mentioned.</li><li>With
the new light BVH, we pick lights with different probabilities and the
code has now been changed to reflect this. Now we have separate
functions for calculating the probability of picking a certain light and
the probability of picking a particular point on the light. The
combination of these two probabilities becomes the final PDF.</li><li>For
multiple importance sampling, we need to be able to calculate the
picking probability for any light(as was kindly pointed out by Stefan
Werner). I have now added code to do this. Given a light, it figures out
which leaf node in the light BVH the light belongs to. Then starting
from the root, the picking probability is calculated while traversing
the light BVH down to the particular leaf.<br></li></ul><li> Support for distant lights</li><ul><li>From
what I can see, distant lights are not handled in the paper. In this
first iteration of distant lights support, these types of lights are
treated as a special case. They are not being added to the light BVH as
other lights since it is not possible to calculate their importance(no
bounding box). Instead, with a certain probability, I pick a light from
the light BVH and otherwise I choose one of the distant lights randomly.
Currently, the probability to choose a light from the light BVH instead
of a distant light is 1.0 - 0.5 * num_distant_lights / num_lamps. This
is similar to the previous method where it was a 50-50 chance of picking
a lamp vs an emissive triangle and then just an equal chance for each
lamp.<br></li></ul></ul><div><div class="gmail-m_3193824662990260296m_-7682682940882657453m_1345316775439720246gmail-adL">The light picking work can be found in this <a href="https://developer.blender.org/rB118731d7d415" target="_blank">commit</a>, and the support for distant lights can be found in this <a href="https://developer.blender.org/rB8b24cf8c83a1" target="_blank">commit</a>.<br></div><div class="gmail-m_3193824662990260296m_-7682682940882657453m_1345316775439720246gmail-adL"><br></div></div></div><div><u><b>Next week</b></u></div><div>I would like to have a look at the following:<br><ul><li>Add support for background lights</li><li>Another iteration on distant lights</li><ul><li>Is there a better way to incorporate the distant lights instead of treating them as a special case?<br></li><li>If not, is there a better probability to pick between sampling the light BVH vs distant lights?</li><li>When
picking between distant lights, could I do something better than just
randomly? The probability for picking a particular distant light could
be based on shading position, light direction, and energy?<br></li></ul><li>Start implementation of the splitting method<br></li></ul></div><div><u><b></b></u></div><div><u><b><br></b></u></div><div>I wish you all a great weekend.<br></div><div><b></b><u><b></b></u></div><div><u><b><br></b></u></div><div>Thanks,</div><div>Erik</div><br></div>