<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>