Cycles: don't count volume boundaries as transparent bounces.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 28 Feb 2018 22:00:46 +0000 (23:00 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Thu, 1 Mar 2018 00:21:29 +0000 (01:21 +0100)
commit7f86afec9d6799e22127c53d9d0805a87462fc08
tree566aca7a18e47b45251b10fcb5b4393c0d3562a8
parent03d10703783a0d233517aac558ac3f0a7d55d302
Cycles: don't count volume boundaries as transparent bounces.

This is more important now that we will have tigther volume bounds that
we hit multiple times. It also avoids some noise due to RR previously
affecting these surfaces, which shouldn't have been the case and should
eventually be fixed for transparent BSDFs as well.

For non-volume scenes I found no performance impact on NVIDIA or AMD.
For volume scenes the noise decrease and fixed artifacts are worth the
little extra render time, when there is any.
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_path_branched.h
intern/cycles/kernel/kernel_path_state.h
intern/cycles/kernel/kernel_path_surface.h
intern/cycles/kernel/kernel_types.h
intern/cycles/kernel/split/kernel_next_iteration_setup.h
intern/cycles/kernel/split/kernel_queue_enqueue.h
intern/cycles/kernel/split/kernel_shader_setup.h