forked from bartvdbraak/blender
Cycles: Fix issue in closure merge function.
* Did not check data2, this partially fixes T45583. * Initialize data2 in some closures to avoid potential problems. Differential Revision: https://developer.blender.org/D1436
This commit is contained in:
parent
d49703b298
commit
4737b12462
@ -459,7 +459,7 @@ ccl_device void shader_merge_closures(ShaderData *sd)
|
|||||||
continue;
|
continue;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(!(sci->type == scj->type && sci->data0 == scj->data0 && sci->data1 == scj->data1))
|
if(!(sci->type == scj->type && sci->data0 == scj->data0 && sci->data1 == scj->data1 && sci->data2 == scj->data2))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(CLOSURE_IS_BSDF_OR_BSSRDF(sci->type)) {
|
if(CLOSURE_IS_BSDF_OR_BSSRDF(sci->type)) {
|
||||||
|
@ -30,6 +30,7 @@ ccl_device void svm_node_glass_setup(ShaderData *sd, ShaderClosure *sc, int type
|
|||||||
else {
|
else {
|
||||||
sc->data0 = 0.0f;
|
sc->data0 = 0.0f;
|
||||||
sc->data1 = 0.0f;
|
sc->data1 = 0.0f;
|
||||||
|
sc->data2 = 0.0f;
|
||||||
ccl_fetch(sd, flag) |= bsdf_reflection_setup(sc);
|
ccl_fetch(sd, flag) |= bsdf_reflection_setup(sc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -393,6 +394,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
|
|||||||
sc->N = N;
|
sc->N = N;
|
||||||
sc->data0 = 0.0f;
|
sc->data0 = 0.0f;
|
||||||
sc->data1 = 0.0f;
|
sc->data1 = 0.0f;
|
||||||
|
sc->data2 = 0.0f;
|
||||||
ccl_fetch(sd, flag) |= bsdf_transparent_setup(sc);
|
ccl_fetch(sd, flag) |= bsdf_transparent_setup(sc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -545,6 +547,7 @@ ccl_device void svm_node_closure_volume(KernelGlobals *kg, ShaderData *sd, float
|
|||||||
if(sc) {
|
if(sc) {
|
||||||
sc->data0 = param2; /* g */
|
sc->data0 = param2; /* g */
|
||||||
sc->data1 = 0.0f;
|
sc->data1 = 0.0f;
|
||||||
|
sc->data2 = 0.0f;
|
||||||
ccl_fetch(sd, flag) |= volume_henyey_greenstein_setup(sc);
|
ccl_fetch(sd, flag) |= volume_henyey_greenstein_setup(sc);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user