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