Blender Git Commit Log

Git Commits -> Revision beef487

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().

Commit Details:

Full Hash: beef4874d330776d825c666ad21809c3b9fd0bcc
Parent Commit: ff4833a
Lines Changed: +242, -69

8 Modified Paths:

/intern/cycles/kernel/kernel_light.h (+104, -27) (Diff)
/intern/cycles/kernel/kernel_path_surface.h (+55, -24) (Diff)
/intern/cycles/kernel/kernel_textures.h (+2, -0) (Diff)
/intern/cycles/render/light.cpp (+68, -7) (Diff)
/intern/cycles/render/light_tree.cpp (+3, -6) (Diff)
/intern/cycles/render/light_tree.h (+6, -5) (Diff)
/intern/cycles/render/scene.cpp (+2, -0) (Diff)
/intern/cycles/render/scene.h (+2, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021