!!ARBfp1.0
# cgc version 2.0.0015, build date May 15 2008
# command line args: -profile arbfp1
# source file: interaction_fp.cg
#vendor NVIDIA Corporation
#version 2.0.0.15
#profile arbfp1
#program main
#semantic main.diffusemap : TEXUNIT0
#semantic main.bumpmap : TEXUNIT1
#semantic main.specularmap : TEXUNIT2
#semantic main.attenuationmap_xy : TEXUNIT3
#semantic main.attenuationmap_z : TEXUNIT4
#semantic main.view_origin : C4
#semantic main.light_origin : C2
#semantic main.light_color : C3
#semantic main.light_scale : C6
#semantic main.ambientFactor : C7
#var float4 IN.colour : $vin.COLOR : COL0 : 0 : 1
#var float4 IN.position : $vin.TEXCOORD0 : TEX0 : 0 : 1
#var float4 IN.tex_diffuse_bump : $vin.TEXCOORD1 : TEX1 : 0 : 1
#var float4 IN.tex_specular : $vin.TEXCOORD2 : TEX2 : 0 : 1
#var float4 IN.tex_atten_xy_z : $vin.TEXCOORD3 : TEX3 : 0 : 1
#var float3 IN.tangent : $vin.TEXCOORD4 : TEX4 : 0 : 1
#var float3 IN.binormal : $vin.TEXCOORD5 : TEX5 : 0 : 1
#var float3 IN.normal : $vin.TEXCOORD6 : TEX6 : 0 : 1
#var sampler2D diffusemap : TEXUNIT0 : texunit 0 : 1 : 1
#var sampler2D bumpmap : TEXUNIT1 : texunit 1 : 2 : 1
#var sampler2D specularmap : TEXUNIT2 : texunit 2 : 3 : 1
#var sampler2D attenuationmap_xy : TEXUNIT3 : texunit 3 : 4 : 1
#var sampler2D attenuationmap_z : TEXUNIT4 : texunit 4 : 5 : 1
#var float3 view_origin : C4 : c[4] : 6 : 1
#var float3 light_origin : C2 : c[2] : 7 : 1
#var float3 light_color : C3 : c[3] : 8 : 1
#var float3 light_scale : C6 : c[6] : 9 : 1
#var float ambientFactor : C7 : c[7] : 10 : 1
#var float4 main.color : $vout.COLOR : COL : -1 : 1
#const c[0] = 0.5 2 32 1
#const c[1] = 0
PARAM c[8] = { { 0.5, 2, 32, 1 },
		{ 0 },
		program.local[2..7] };
TEMP R0;
TEMP R1;
TEMP R2;
ADD R0.xyz, -fragment.texcoord[0], c[2];
DP3 R1.z, fragment.texcoord[6], R0;
DP3 R1.x, fragment.texcoord[4], R0;
DP3 R1.y, fragment.texcoord[5], R0;
DP3 R0.x, R1, R1;
RSQ R0.w, R0.x;
MUL R2.xyz, R0.w, R1;
ADD R0.xyz, -fragment.texcoord[0], c[4];
DP3 R1.z, fragment.texcoord[6], R0;
DP3 R1.x, R0, fragment.texcoord[4];
DP3 R1.y, R0, fragment.texcoord[5];
DP3 R0.w, R1, R1;
RSQ R0.w, R0.w;
MAD R1.xyz, R0.w, R1, R2;
DP3 R1.w, R1, R1;
RSQ R1.w, R1.w;
TEX R0.xyz, fragment.texcoord[1].zwzw, texture[1], 2D;
ADD R0.xyz, R0, -c[0].x;
MUL R0.xyz, R0, c[0].y;
DP3 R0.w, R0, R0;
RSQ R0.w, R0.w;
MUL R0.xyz, R0.w, R0;
MUL R1.xyz, R1.w, R1;
DP3_SAT R0.w, R0, R1;
DP3 R0.x, R0, R2;
MOV R1.x, c[0].w;
ADD R0.y, R1.x, -c[7].x;
MAD_SAT R2.x, R0.y, R0, c[7];
MOV R0.xyz, c[6];
MUL R0.xyz, R0, c[3];
MUL R0.xyz, R0, R2.x;
TEX R1, fragment.texcoord[1], texture[0], 2D;
MUL R1.xyz, R1, R0;
MUL R1, R1, fragment.color.primary;
TEX R0.xyz, fragment.texcoord[2], texture[2], 2D;
TXP R2.xyz, fragment.texcoord[3], texture[3], 2D;
POW R0.w, R0.w, c[0].z;
MUL R0.xyz, R0, c[3];
MAD R0.xyz, R0, R0.w, R1;
CMP R2.xyz, -fragment.texcoord[3].w, R2, c[1].x;
MOV R1.y, c[0].x;
MOV R1.x, fragment.texcoord[3].z;
TEX R1.xyz, R1, texture[4], 2D;
MUL R0.xyz, R0, R2;
MUL result.color.xyz, R0, R1;
MOV result.color.w, R1;
END
# 46 instructions, 3 R-regs
