Cycles: Small improvement for volume render (decoupled)

Simplify branching here a bit, helps ~3% in volume_light_sampling.blend (Branched MIS scene).
This commit is contained in:
Thomas Dinges 2015-02-14 20:44:30 +01:00
parent 2fad3132a3
commit d979f39cf1

@ -130,9 +130,6 @@ ccl_device void kernel_path_indirect(KernelGlobals *kg, RNG *rng, Ray ray,
rphase, rscatter, &volume_segment, NULL, true);
}
if(result != VOLUME_PATH_SCATTERED)
throughput *= volume_segment.accum_transmittance;
/* free cached steps */
kernel_volume_decoupled_free(kg, &volume_segment);
@ -142,6 +139,9 @@ ccl_device void kernel_path_indirect(KernelGlobals *kg, RNG *rng, Ray ray,
else
break;
}
else {
throughput *= volume_segment.accum_transmittance;
}
}
else
#endif
@ -575,9 +575,6 @@ ccl_device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample,
rphase, rscatter, &volume_segment, NULL, true);
}
if(result != VOLUME_PATH_SCATTERED)
throughput *= volume_segment.accum_transmittance;
/* free cached steps */
kernel_volume_decoupled_free(kg, &volume_segment);
@ -587,6 +584,9 @@ ccl_device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample,
else
break;
}
else {
throughput *= volume_segment.accum_transmittance;
}
}
else
#endif