Blender Git Commit Log

Git Commits -> Revision b459d9f

Revision b459d9f by Lukas Stockner (master)
September 14, 2016, 17:45 (GMT)
Cycles: Stop lamp sampling if the lamp isn't visible

Both spot and area light have large areas where they're not visible.
Therefore, this patch stops the light sampling code when one of these cases (outside of the spotlight cone or behind the area light) occurs, before the lamp shader is evaluated.
In the case of the area light, the solid angle sampling can also be skipped.

In a test scene with Sample All Lights and 18 Area lamps and 9 Spot lamps that all point away from the area that the camera sees, render time drops from 12sec to 5sec.

Reviewers: brecht, sergey, dingto, juicyfruit

Differential Revision: https://developer.blender.org/D2216

Commit Details:

Full Hash: b459d9f46c5355841aae3048c27cf778c0291566
Parent Commit: aae2cea
Lines Changed: +110, -114

4 Modified Paths:

/intern/cycles/kernel/kernel_light.h (+14, -9) (Diff)
/intern/cycles/kernel/kernel_path_surface.h (+36, -36) (Diff)
/intern/cycles/kernel/kernel_path_volume.h (+39, -49) (Diff)
/intern/cycles/kernel/split/kernel_direct_lighting.h (+21, -20) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021