OpenShadingLanguage 1.00
# Compiled by oslc 1.3.0
shader node_texture_coordinate
param	normal	NormalIn	0 0 0 		 %read{12,29} %write{0,0}
param	int	is_background	0 		 %read{1,1} %write{2147483647,-1}
param	int	from_dupli	0 		 %read{14,48} %write{2147483647,-1}
param	string	bump_offset	"center" 		 %read{32,46} %write{2147483647,-1}
oparam	point	Generated	0 0 0 		 %read{36,51} %write{2,51} %derivs
oparam	point	UV	0 0 0 		 %read{38,53} %write{3,53} %derivs
oparam	point	Object	0 0 0 		 %read{40,55} %write{4,55} %derivs
oparam	point	Camera	0 0 0 		 %read{42,57} %write{8,57} %derivs
oparam	point	Window	0 0 0 		 %read{44,59} %write{11,60} %derivs
oparam	normal	Normal	0 0 0 		 %read{2147483647,-1} %write{12,25}
oparam	point	Reflection	0 0 0 		 %read{2147483647,-1} %write{13,31}
global	point	P	 %read{2,24} %write{2147483647,-1} %derivs
global	vector	I	 %read{13,30} %write{2147483647,-1}
global	normal	N	 %read{0,0} %write{2147483647,-1}
local	point	___293_Pcam	 %read{6,9} %write{5,5} %derivs
const	point	$const1	0 0 0		 %read{3,5} %write{2147483647,-1}
const	string	$const2	"camera"		 %read{5,22} %write{2147483647,-1}
const	string	$const3	"world"		 %read{5,25} %write{2147483647,-1}
temp	point	$tmp2	 %read{8,8} %write{6,6} %derivs
const	string	$const4	"transform"		 %read{7,23} %write{2147483647,-1}
const	string	$const5	"common"		 %read{8,24} %write{2147483647,-1}
const	string	$const6	"NDC"		 %read{11,24} %write{2147483647,-1}
temp	point	$tmp3	 %read{11,11} %write{9,9} %derivs
temp	int	$tmp4	 %read{2147483647,-1} %write{15,15}
const	string	$const7	"geom:dupli_generated"		 %read{15,15} %write{2147483647,-1}
temp	int	$tmp5	 %read{2147483647,-1} %write{16,16}
const	string	$const8	"geom:dupli_uv"		 %read{16,16} %write{2147483647,-1}
temp	int	$tmp6	 %read{2147483647,-1} %write{17,17}
const	string	$const9	"geom:generated"		 %read{17,17} %write{2147483647,-1}
temp	int	$tmp7	 %read{2147483647,-1} %write{18,18}
const	string	$const10	"geom:uv"		 %read{18,18} %write{2147483647,-1}
const	string	$const11	"object"		 %read{20,25} %write{2147483647,-1}
temp	vector	$tmp8	 %read{31,31} %write{30,30}
const	string	$const12	"reflect"		 %read{26,26} %write{2147483647,-1}
const	int	$const13	2		 %read{60,60} %write{2147483647,-1}
temp	float	$tmp9	 %read{28,28} %write{27,27}
temp	float	$tmp10	 %read{29,29} %write{28,28}
const	float	$const14	2		 %read{28,28} %write{2147483647,-1}
temp	vector	$tmp11	 %read{30,30} %write{29,29}
const	string	$const15	"dx"		 %read{32,32} %write{2147483647,-1}
temp	int	$tmp12	 %read{33,33} %write{32,32}
temp	int	$tmp13	 %read{35,35} %write{34,34}
const	int	$const16	0		 %read{34,48} %write{2147483647,-1}
temp	vector	$tmp14	 %read{37,37} %write{36,36} %derivs
temp	vector	$tmp15	 %read{39,39} %write{38,38} %derivs
temp	vector	$tmp16	 %read{41,41} %write{40,40} %derivs
temp	vector	$tmp17	 %read{43,43} %write{42,42} %derivs
temp	vector	$tmp18	 %read{45,45} %write{44,44} %derivs
const	string	$const17	"dy"		 %read{46,46} %write{2147483647,-1}
temp	int	$tmp19	 %read{47,47} %write{46,46}
temp	int	$tmp20	 %read{49,49} %write{48,48}
temp	vector	$tmp21	 %read{51,51} %write{50,50} %derivs
temp	vector	$tmp22	 %read{53,53} %write{52,52} %derivs
temp	vector	$tmp23	 %read{55,55} %write{54,54} %derivs
temp	vector	$tmp24	 %read{57,57} %write{56,56} %derivs
temp	vector	$tmp25	 %read{59,59} %write{58,58} %derivs
const	float	$const18	0		 %read{60,60} %write{2147483647,-1}
code NormalIn
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:23
# 	int is_background = 0,
	assign		NormalIn N 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{23} %argrw{"wr"}
code ___main___
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:36
# 		Generated = P;
	if		is_background 14 32 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{36} %argrw{"r"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:37
# 		UV = point(0.0, 0.0, 0.0);
	assign		Generated P 	%line{37} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:38
# 		Object = P;
	assign		UV $const1 	%line{38} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:39
# 		point Pcam = transform("camera", "world", point(0, 0, 0));
	assign		Object P 	%line{39} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:40
# 		Camera = transform("camera", P + Pcam);
	transform	___293_Pcam $const2 $const3 $const1 	%line{40} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:41
# 		Window = transform("NDC", P + Pcam);
	add		$tmp2 P ___293_Pcam 	%line{41} %argrw{"wrr"}
	functioncall	$const4 9 	%argrw{"r"}
# D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h:228
#     float sqr(float x) { return x*x; }
	transform	Camera $const5 $const2 $tmp2 	%filename{"D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{228} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:42
# 		Normal = NormalIn;
	add		$tmp3 P ___293_Pcam 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{42} %argrw{"wrr"}
	functioncall	$const4 12 	%argrw{"r"}
# D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h:228
# {
	transform	Window $const5 $const6 $tmp3 	%filename{"D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{228} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:43
# 		Reflection = I;
	assign		Normal NormalIn 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{43} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:44
# 	}
	assign		Reflection I 	%line{44} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:47
# 			getattribute("geom:dupli_generated", Generated); 
	if		from_dupli 17 19 	%line{47} %argrw{"r"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:48
# 			getattribute("geom:dupli_uv", UV);
	getattribute	$tmp4 $const7 Generated 	%line{48} %argrw{"wrw"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:49
# 		}
	getattribute	$tmp5 $const8 UV 	%line{49} %argrw{"wrw"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:52
# 			getattribute("geom:uv", UV);
	getattribute	$tmp6 $const9 Generated 	%line{52} %argrw{"wrw"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:53
# 		}
	getattribute	$tmp7 $const10 UV 	%line{53} %argrw{"wrw"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:56
# 		Camera = transform("camera", P);
	functioncall	$const4 21 	%line{56} %argrw{"r"}
# D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h:228
# }
	transform	Object $const5 $const11 P 	%filename{"D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{228} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:57
# 		Window = transform("NDC", P);
	functioncall	$const4 23 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{57} %argrw{"r"}
# D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h:228
#     return distance(q, a + clamp(t, 0.0, 1.0)*d);
	transform	Camera $const5 $const2 P 	%filename{"D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{228} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:58
# 		Normal = transform("world", "object", NormalIn);
	functioncall	$const4 25 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{58} %argrw{"r"}
# D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h:228
#     float t = dot(q - a, d)/dd;
	transform	Window $const5 $const6 P 	%filename{"D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{228} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:59
# 		Reflection = -reflect(I, NormalIn);
	transformn	Normal $const3 $const11 NormalIn 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{59} %argrw{"wrrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:60
# 	}
	functioncall	$const12 31 	%line{60} %argrw{"r"}
# D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h:177
# PERCOMP1 (fabs)
	dot		$tmp9 NormalIn I 	%filename{"D:/blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\stdosl.h"} %line{177} %argrw{"wrr"}
	mul		$tmp10 $const14 $tmp9 	%argrw{"wrr"}
	mul		$tmp11 $tmp10 NormalIn 	%argrw{"wrr"}
	sub		$tmp8 I $tmp11 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:60
# 	}
	neg		Reflection $tmp8 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl"} %line{60} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:63
# 		if (!from_dupli) {
	eq		$tmp12 bump_offset $const15 	%line{63} %argrw{"wrr"}
	if		$tmp12 46 60 	%argrw{"r"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:64
# 			Generated += Dx(Generated);
	eq		$tmp13 from_dupli $const16 	%line{64} %argrw{"wrr"}
	if		$tmp13 40 40 	%argrw{"r"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:65
# 			UV += Dx(UV);
	Dx		$tmp14 Generated 	%line{65} %argrw{"wr"} %argderivs{1}
	add		Generated Generated $tmp14 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:66
# 		}
	Dx		$tmp15 UV 	%line{66} %argrw{"wr"} %argderivs{1}
	add		UV UV $tmp15 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:68
# 		Camera += Dx(Camera);
	Dx		$tmp16 Object 	%line{68} %argrw{"wr"} %argderivs{1}
	add		Object Object $tmp16 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:69
# 		Window += Dx(Window);
	Dx		$tmp17 Camera 	%line{69} %argrw{"wr"} %argderivs{1}
	add		Camera Camera $tmp17 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:70
# 	}
	Dx		$tmp18 Window 	%line{70} %argrw{"wr"} %argderivs{1}
	add		Window Window $tmp18 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:72
# 		if (!from_dupli) {
	eq		$tmp19 bump_offset $const17 	%line{72} %argrw{"wrr"}
	if		$tmp19 60 60 	%argrw{"r"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:73
# 			Generated += Dy(Generated);
	eq		$tmp20 from_dupli $const16 	%line{73} %argrw{"wrr"}
	if		$tmp20 54 54 	%argrw{"r"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:74
# 			UV += Dy(UV);
	Dy		$tmp21 Generated 	%line{74} %argrw{"wr"} %argderivs{1}
	add		Generated Generated $tmp21 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:75
# 		}
	Dy		$tmp22 UV 	%line{75} %argrw{"wr"} %argderivs{1}
	add		UV UV $tmp22 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:77
# 		Camera += Dy(Camera);
	Dy		$tmp23 Object 	%line{77} %argrw{"wr"} %argderivs{1}
	add		Object Object $tmp23 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:78
# 		Window += Dy(Window);
	Dy		$tmp24 Camera 	%line{78} %argrw{"wr"} %argderivs{1}
	add		Camera Camera $tmp24 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:79
# 	}
	Dy		$tmp25 Window 	%line{79} %argrw{"wr"} %argderivs{1}
	add		Window Window $tmp25 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_texture_coordinate.osl:82
# }
	compassign	Window $const13 $const18 	%line{82} %argrw{"wrr"}
	end
