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.
This commit is contained in:
Brecht Van Lommel
2018-02-28 23:00:46 +01:00
parent 03d1070378
commit 7f86afec9d
8 changed files with 124 additions and 45 deletions

View File

@@ -55,6 +55,7 @@ ccl_device_inline void path_state_init(KernelGlobals *kg,
#ifdef __VOLUME__
state->volume_bounce = 0;
state->volume_bounds_bounce = 0;
if(kernel_data.integrator.use_volumes) {
/* Initialize volume stack with volume we are inside of. */