Revision 5d344f4 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) August 3, 2018, 15:22 (GMT) |
Cycles: Light tree: Area light fix The bounding boxes for area lights was not calculated properly but has now been fixed. |
Revision e8e0669 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) August 3, 2018, 15:22 (GMT) |
Cycles: Picking position and normal fix for MIS The picking position and normal has been changed to use the position and normal from the last non-transparent bounce. |
Revision 84fec21 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) August 3, 2018, 15:21 (GMT) |
Cycles: Light tree instancing and energy fixes Instancing for mesh lights now works with the light tree. The conversion from emission to luminance is now using linear_rgb_to_gray() instead. |
Revision b1837d5 by Brecht Van Lommel (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 30, 2018, 10:03 (GMT) |
Fix CUDA build for many light sampling, still fails when running. |
Revision b3c375e by Brecht Van Lommel (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 30, 2018, 10:03 (GMT) |
Fix missing viewport update when toggling light BVH option. |
Revision 1fe1e74 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 27, 2018, 16:19 (GMT) |
Cycles: WIP: Volumes are not using the light tree. If a shading point is inside or on the boundary of a volume then it will use the old sampling method until we have properly implemented the volume parts of the paper. Also, the PDF picking probability for volumes have now been updated properly since the PDF restructure. Tried to provide the correct shading point and normal to the MIS calculations. This part needs more work. |
Revision 6045fc4 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 27, 2018, 16:18 (GMT) |
Cycles: Light tree optimization The importance metric calculations now uses the fast_cos() and fast_acos() functions. This gave a 1.4x speedup on one of the test scenes. |
Revision 00b90ed by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 27, 2018, 16:16 (GMT) |
Cycles: Light tree related bug fixes - Fixed bug in triangle_light_pdf_area() from PDF refactor - Early exit if picking prob is zero in tree traversal - The background index is now an index into the lights array instead of the distribution array. |
Revision beef487 by Erik Englesson (gsoc-2018-many-light-sampling, soc-2020-production-ready-light-tree, soc-2020-production-ready-light-tree-2) July 20, 2018, 12:29 (GMT) |
Cycles: Several emitters per leaf in light tree This commits makes it possible for leaf nodes in the light tree to have more than one emitter. This reduces the maximum depth of the light tree which makes the traversal of the tree faster but the sampling code is slower if a leaf with several emitters is found. Technical details: -- If cost of splitting in build is larger than the energy of the node then we create a leaf instead of splitting. -- Maximum emitters per leaf is now set to 64 -- During traversal if a leaf with several emitters is found then we sample one of these based on the importance of each emitter. This is calculated on the fly and therefore a CDF generation without dynamic allocation was implemented. - Moved the distribution id to node id lookup from light_distribution_pdf() to light_bvh_pdf(). |
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. |
|