Revision ff4833a by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 13, 2018, 11:47 (GMT) |
Cycles: Bug fixes - Stopping recursive tree traversal if negative PDFs are encountered. - accum_light_tree_contribution() now takes a scale factor as input which is passed through to accum_light_contribution - light_bvh_sample now changes randu. This is similar to the other *_sample functions. This fixed a bug where recursive traversal with no splitting gave a different result compared to just using light_sample. |
Revision 0db119a by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 13, 2018, 11:44 (GMT) |
Cycles: Updated SAOH with regularization factor This factor penalizes thin bounding boxes in the tree construction. |
Revision 8a0ff32 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 13, 2018, 11:41 (GMT) |
Cycles: Updated cone aggregation and measure The paper provided a way to merge two bounding cones and an updated version of the cone measure. |
Revision 260b2e9 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 13, 2018, 11:33 (GMT) |
Cycles: Updated the importance metric The new paper provides an updated importance metric which is now implemented. Also, a bug in the index used for background lights in the MIS calculations have been fixed. Technical details: - The new importance metric depends on the normal at the shading point. The MIS calculations have been changed accordingly. - The uncertainty angle was described in the paper and is now implemented. - In the implementation details section of the paper they mention that they limit the distance if splitting is disabled. This is implemented too. |
Revision 2d6e1dd by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 13, 2018, 11:30 (GMT) |
Cycles: Updated rescaling of random numbers The new paper describes how they rescale the random numbers in the tree traversal. We do the same now. |
Revision c6bd7a9 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 13, 2018, 11:21 (GMT) |
Cycles: Updated the split heuristic The split heuristic is now based on the new paper instead of the abstract/slides from 2017. |
Revision 36cfc9e by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 6, 2018, 07:20 (GMT) |
Cycles: First iteration on split traversal This makes it possible to sample and evaluate several lights in a single tree traversal. Should sample highly specular lights better too. Can only be used in branched path tracing. This commit contains the following: * GUI for setting the splitting threshold * Recursive split traversal - Split method based on solid angle and BSDF peak - At leafs the path radiance is accumulated to L - Have created a simplified GGX eval that is not currently being used. * Refactor of common code This is in development. |
Revision 5c10bd4 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 29, 2018, 14:25 (GMT) |
Fix: Merge conflict with background resolution |
Revision 136991b by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 29, 2018, 09:02 (GMT) |
Merge branch 'master' into gsoc-2018-many-light-sampling |
Revision 2cdb08f by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 29, 2018, 08:34 (GMT) |
Cycles: Background lights works with light tree Added support for background lights when using the light tree, fixed minor bugs related to disabled lights and trying to build the light tree without any lights. Now samples either the light tree, distant lights or background lights based on their energy. |
Revision 8b24cf8 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 22, 2018, 06:07 (GMT) |
Cycles: Support for distant lights Distant lights are not put in the light BVH and are treated as a special case. Either we sample a light from the BVH or choose one of the distant lights. |
Revision 118731d by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 22, 2018, 06:05 (GMT) |
Cycles: New design for PDF computations Now there are functions to calculate the picking probability for a given lamp/triangle. Fixed a bug that lamps was before triangles in the distribution array. |
Revision 2f85295 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 21, 2018, 09:33 (GMT) |
Cleanup: Replaced space tabs with real tabs |
Revision 6f2d885 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 15, 2018, 10:27 (GMT) |
Cleanup: Refactored code Merged the device_update_tree_distribution() and device_update_distribution() functions. |
Revision df7f4d1 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 15, 2018, 10:21 (GMT) |
Cycles: Area lights support and better energy estimation The light BVH now supports area lights. Also, the total emitted energy of each light is now calculated by integrating luminance over the sphere of directions and area. |
Revision 0028f7c by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 8, 2018, 13:21 (GMT) |
Merge branch 'master' into gsoc-2018-many-light-sampling |
Revision a3826bf by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 8, 2018, 11:51 (GMT) |
Cycles: Added a checkbox in Blender's GUI to turn on/off the new light sampling method. The checkbox can be found at the bottom of the sampling section in the Render tab. The method is not used by default. |
Revision 4f55918 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 8, 2018, 11:51 (GMT) |
Cycles: Implemented the SAOH splitting method Previously the light bvh construction code used a simple method to split a node into two child nodes based only on the bounding box of the node. Now, it splits a node into two by looking at the energy and direction of the lights inside the nodes and the area of their bounding boxes. Technical changes: - Implemented orientation BVH build - Added energy to each node based on emission - Updated PDF calculations for lights when using the light BVH |
Revision bcb89f0 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 4, 2018, 09:10 (GMT) |
Fix: Minimal compilation error fix |
Revision 2e17c3f by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) June 1, 2018, 14:12 (GMT) |
Added simple construction and sampling code for light BVH The light BVH is created on the host out of all emissive triangles and all lights in the scene. The nodes of the light BVH is then copied to the device where it is used when sampling lights. When a light is asked for it traverses the light BVH randomly to find a single light. This is still very much in development. |
|