Fix #34226: cycles shadow pass got incorrectly influenced by world multiple
importance sampleing.
This commit is contained in:
@@ -125,14 +125,7 @@ __device_inline void kernel_write_light_passes(KernelGlobals *kg, __global float
|
||||
kernel_write_pass_float3(buffer + kernel_data.film.pass_transmission_color, sample, L->color_transmission);
|
||||
if(flag & PASS_SHADOW) {
|
||||
float4 shadow = L->shadow;
|
||||
|
||||
/* bit of an ugly hack to compensate for emitting triangles influencing
|
||||
* amount of samples we get for this pass */
|
||||
if(kernel_data.integrator.progressive && kernel_data.integrator.pdf_triangles != 0.0f)
|
||||
shadow.w = 0.5f;
|
||||
else
|
||||
shadow.w = 1.0f;
|
||||
|
||||
shadow.w = kernel_data.film.pass_shadow_scale;
|
||||
kernel_write_pass_float4(buffer + kernel_data.film.pass_shadow, sample, shadow);
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user