OpenShadingLanguage 1.00
# Compiled by oslc 1.4.0
shader node_hair_bsdf
param	color	Color	0.80000001 0.80000001 0.80000001 		 %read{17,31} %write{2147483647,-1}
param	string	component	"Reflection" 		 %read{13,24} %write{2147483647,-1}
param	float	Offset	0 		 %read{26,29} %write{2147483647,-1}
param	float	RoughnessU	0.1 		 %read{2,2} %write{2147483647,-1}
param	float	RoughnessV	1 		 %read{5,5} %write{2147483647,-1}
param	normal	Normal	0 0 0 		 %read{16,30} %write{0,0}
oparam	closure color	BSDF			 %read{2147483647,-1} %write{12,31}
global	normal	Ng	 %read{0,0} %write{2147483647,-1}
global	vector	dPdu	 %read{27,30} %write{2147483647,-1}
global	vector	dPdv	 %read{15,18} %write{2147483647,-1}
local	float	IsStrand	 %read{8,8} %write{7,7}
local	float	roughnessh	 %read{16,30} %write{3,3}
local	float	roughnessv	 %read{16,30} %write{6,6}
const	float	$const1	0.001		 %read{3,6} %write{2147483647,-1}
const	float	$const2	1		 %read{2,5} %write{2147483647,-1}
const	string	$const3	"clamp"		 %read{1,4} %write{2147483647,-1}
temp	float	$tmp1	 %read{3,3} %write{2,2}
temp	float	$tmp2	 %read{6,6} %write{5,5}
temp	int	$tmp3	 %read{2147483647,-1} %write{7,7}
const	string	$const4	"geom:is_curve"		 %read{7,7} %write{2147483647,-1}
temp	int	$tmp4	 %read{9,9} %write{8,8}
const	float	$const5	0		 %read{8,19} %write{2147483647,-1}
temp	int	$tmp5	 %read{11,11} %write{10,10}
const	string	$const6	"transparent"		 %read{12,23} %write{2147483647,-1}
const	string	$const7	"Reflection"		 %read{13,24} %write{2147483647,-1}
temp	int	$tmp6	 %read{14,14} %write{13,13}
temp	closure color	$tmp7	 %read{17,17} %write{16,16}
temp	vector	$tmp8	 %read{16,16} %write{15,15}
const	string	$const8	"hair_reflection"		 %read{16,27} %write{2147483647,-1}
temp	closure color	$tmp9	 %read{20,20} %write{19,19}
temp	vector	$tmp10	 %read{19,19} %write{18,18}
const	string	$const9	"hair_transmission"		 %read{19,30} %write{2147483647,-1}
temp	int	$tmp11	 %read{22,22} %write{21,21}
temp	int	$tmp12	 %read{25,25} %write{24,24}
temp	closure color	$tmp13	 %read{28,28} %write{27,27}
temp	float	$tmp14	 %read{27,27} %write{26,26}
temp	closure color	$tmp15	 %read{31,31} %write{30,30}
temp	float	$tmp16	 %read{30,30} %write{29,29}
code Normal
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:28
# 	output closure color BSDF = 0)
	assign		Normal Ng 	%filename{"D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl"} %line{28} %argrw{"wr"}
code ___main___
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:32
# 	float roughnessv = clamp(RoughnessV, 0.001, 1.0);
	functioncall	$const3 4 	%filename{"D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl"} %line{32} %argrw{"r"}
# D:/blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\stdosl.h:144
# PERCOMP1 (inversesqrt)
	min		$tmp1 RoughnessU $const2 	%filename{"D:/blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{144} %argrw{"wrr"}
	max		roughnessh $tmp1 $const1 	%argrw{"wrr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:33
# 	getattribute("geom:is_curve", IsStrand);
	functioncall	$const3 7 	%filename{"D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl"} %line{33} %argrw{"r"}
# D:/blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\stdosl.h:144
# PERCOMP1 (sqrt)
	min		$tmp2 RoughnessV $const2 	%filename{"D:/blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{144} %argrw{"wrr"}
	max		roughnessv $tmp2 $const1 	%argrw{"wrr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:34
# 
	getattribute	$tmp3 $const4 IsStrand 	%filename{"D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl"} %line{34} %argrw{"wrw"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:36
# 		if (backfacing()) {
	eq		$tmp4 IsStrand $const5 	%line{36} %argrw{"wrr"}
	if		$tmp4 21 32 	%argrw{"r"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:37
# 			BSDF = transparent();
	backfacing	$tmp5 	%line{37} %argrw{"w"}
	if		$tmp5 13 21 	%argrw{"r"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:38
# 		}
	closure		BSDF $const6 	%line{38} %argrw{"wr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:41
# 				BSDF = Color * hair_reflection(Normal, roughnessh, roughnessv, normalize(dPdv), 0.0);
	eq		$tmp6 component $const7 	%line{41} %argrw{"wrr"}
	if		$tmp6 18 21 	%argrw{"r"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:42
# 			else
	normalize	$tmp8 dPdv 	%line{42} %argrw{"wr"}
	closure		$tmp7 $const8 Normal roughnessh roughnessv $tmp8 $const5 	%argrw{"wrrrrrr"}
	mul		BSDF $tmp7 Color 	%argrw{"wrr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:44
# 		}
	normalize	$tmp10 dPdv 	%line{44} %argrw{"wr"}
	closure		$tmp9 $const9 Normal roughnessh roughnessv $tmp10 $const5 	%argrw{"wrrrrrr"}
	mul		BSDF $tmp9 Color 	%argrw{"wrr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:48
# 			BSDF = transparent();
	backfacing	$tmp11 	%line{48} %argrw{"w"}
	if		$tmp11 24 32 	%argrw{"r"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:49
# 		}
	closure		BSDF $const6 	%line{49} %argrw{"wr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:52
# 				BSDF = Color * hair_reflection(Normal, roughnessh, roughnessv, dPdu, -Offset);
	eq		$tmp12 component $const7 	%line{52} %argrw{"wrr"}
	if		$tmp12 29 32 	%argrw{"r"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:53
# 			else
	neg		$tmp14 Offset 	%line{53} %argrw{"wr"}
	closure		$tmp13 $const8 Normal roughnessh roughnessv dPdu $tmp14 	%argrw{"wrrrrrr"}
	mul		BSDF $tmp13 Color 	%argrw{"wrr"}
# D:\\blender_dev\\code\\blender\\intern\\cycles\\kernel\\shaders\\node_hair_bsdf.osl:55
# 		}
	neg		$tmp16 Offset 	%line{55} %argrw{"wr"}
	closure		$tmp15 $const9 Normal roughnessh roughnessv dPdu $tmp16 	%argrw{"wrrrrrr"}
	mul		BSDF $tmp15 Color 	%argrw{"wrr"}
	end
