[Bf-blender-cvs] [b3ebdf64459] soc-2018-hair-shader: Access primary reflection roughness via cycles's stack

L. E. Segovia noreply at git.blender.org
Thu May 31 15:07:26 CEST 2018


Commit: b3ebdf64459d7a99e9a848a49f7eaa250b8a07bd
Author: L. E. Segovia
Date:   Thu May 31 13:07:00 2018 +0000
Branches: soc-2018-hair-shader
https://developer.blender.org/rBb3ebdf64459d7a99e9a848a49f7eaa250b8a07bd

Access primary reflection roughness via cycles's stack

Ref T54796

===================================================================

M	intern/cycles/kernel/svm/svm_closure.h

===================================================================

diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index 3914171666a..15f0d997da9 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -730,6 +730,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
 			uint offset_ofs, ior_ofs, color_ofs, parametrization;
 			decode_node_uchar4(data_node.y, &offset_ofs, &ior_ofs, &color_ofs, &parametrization);
 
+			float m0_roughness = (stack_valid(data_node2.x))? stack_load_float(stack, data_node2.x): __uint_as_float(data_node2.y);
 			float alpha = (stack_valid(offset_ofs))? stack_load_float(stack, offset_ofs): __uint_as_float(data_node.z);
 			float ior = (stack_valid(ior_ofs))? stack_load_float(stack, ior_ofs): __uint_as_float(data_node.w);
 
@@ -743,7 +744,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
 				bsdf->N = N;
 				bsdf->v = param1;
 				bsdf->s = param2;
-				bsdf->m0_roughness = __uint_as_float(data_node2.y);
+				bsdf->m0_roughness = m0_roughness;
 				bsdf->alpha = alpha;
 				bsdf->eta = ior;
 				bsdf->extra = extra;



More information about the Bf-blender-cvs mailing list