Cycles: first step for implementation of non-progressive sampler that handles
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 13 Jun 2012 11:44:48 +0000 (11:44 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 13 Jun 2012 11:44:48 +0000 (11:44 +0000)
commit4ba456d1754c29b488b8304c8546af45078e8536
tree49649b7442d58aa835a7428043130f158613521d
parentdcda234a3d93ed44189fac3716a694f4f75f366e
Cycles: first step for implementation of non-progressive sampler that handles
direct and indirect lighting differently. Rather than picking one light for each
point on the path, it now loops over all lights for direct lighting. For indirect
lighting it still picks a random light each time.

It gives control over the number of AA samples, and the number of Diffuse, Glossy,
Transmission, AO, Mesh Light, Background and Lamp samples for each AA sample.

This helps tuning render performance/noise and tends to give less noise for renders
dominated by direct lighting.

This sampling mode only works on the CPU, and still needs proper tile rendering
to show progress (will follow tommorrow or so), because each AA sample can be quite
slow now and so the delay between each update wil be too long.
14 files changed:
intern/cycles/blender/addon/properties.py
intern/cycles/blender/addon/ui.py
intern/cycles/blender/blender_object.cpp
intern/cycles/blender/blender_sync.cpp
intern/cycles/kernel/kernel_emission.h
intern/cycles/kernel/kernel_light.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_shader.h
intern/cycles/kernel/kernel_types.h
intern/cycles/render/integrator.cpp
intern/cycles/render/integrator.h
intern/cycles/render/light.cpp
intern/cycles/render/light.h
intern/cycles/render/scene.cpp