Fix T41139: Cycles Hair BSDF roughness problem
This commit is contained in:
@@ -936,9 +936,10 @@ ccl_device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, con
|
|||||||
sd->u = isect->u;
|
sd->u = isect->u;
|
||||||
sd->v = 0.0f;
|
sd->v = 0.0f;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
tg = normalize(curvetangent(isect->u, p[0], p[1], p[2], p[3]));
|
||||||
|
|
||||||
if(kernel_data.curve.curveflags & CURVE_KN_RIBBONS) {
|
if(kernel_data.curve.curveflags & CURVE_KN_RIBBONS) {
|
||||||
tg = normalize(curvetangent(isect->u, p[0], p[1], p[2], p[3]));
|
|
||||||
sd->Ng = normalize(-(D - tg * (dot(tg, D))));
|
sd->Ng = normalize(-(D - tg * (dot(tg, D))));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -950,7 +951,6 @@ ccl_device_inline float3 bvh_curve_refine(KernelGlobals *kg, ShaderData *sd, con
|
|||||||
float gd = isect->v;
|
float gd = isect->v;
|
||||||
|
|
||||||
if(gd != 0.0f) {
|
if(gd != 0.0f) {
|
||||||
tg = normalize(curvetangent(isect->u, p[0], p[1], p[2], p[3]));
|
|
||||||
sd->Ng = sd->Ng - gd * tg;
|
sd->Ng = sd->Ng - gd * tg;
|
||||||
sd->Ng = normalize(sd->Ng);
|
sd->Ng = normalize(sd->Ng);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user