Add Light Tracing

This feature was relatively easy to implement in LuxCore, because it already had a bidirectional engine and all materials had the code for rendering by tracing from lights instead of the camera.
However, Cycles does not have this infrastructure in place.

It performs light tracing on the CPU while doing regular pathtracing on the GPU(s). The results are added.
The light tracing is done on the CPU because a) the code already existed (for OpenCL it does not) and b) it is good enough, the CPU can get a light traced caustic clean just as quickly as the GPU renders the rest.

Here you can see a test animation rendered with 40 sec rendertime per frame, specs in the description:

2 Likes