!!ARBvp1.0
# cgc version 2.1.0009, build date Aug  6 2008
# command line args: -profile arbvp1 -Dblah
# source file: E:\projects\luxiniaprojects\tutorials\gpuprogs\tangentnormalmap.cg
#vendor NVIDIA Corporation
#version 2.1.0.9
#profile arbvp1
#program lit1_v
#semantic lit1_v.lightpos
#semantic lit1_v.campos
#semantic lit1_v.WorldViewProjMatrix
#var float4 IN.pos : $vin.POSITION : POSITION : 0 : 1
#var float2 IN.tex0 : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
#var float3 IN.normal : $vin.NORMAL : NORMAL : 0 : 1
#var float4 IN.tangent : $vin.ATTR15 : ATTR15 : 0 : 1
#var float4 lightpos :  : c[5] : 1 : 1
#var float4 campos :  : c[6] : 2 : 1
#var float4x4 WorldViewProjMatrix :  : c[1], 4 : 3 : 1
#var float4 lit1_v.position : $vout.POSITION : HPOS : -1 : 1
#var float2 lit1_v.tex0 : $vout.TEXCOORD0 : TEX0 : -1 : 1
#var float3 lit1_v.lightvec : $vout.TEXCOORD1 : TEX1 : -1 : 1
#var float3 lit1_v.camvec : $vout.TEXCOORD2 : TEX2 : -1 : 1
#const c[0] = -4 0 5
PARAM c[7] = { { -4, 0, 5 },
		program.local[1..6] };
TEMP R0;
TEMP R1;
TEMP R2;
ADD R2.xyz, -vertex.position, c[5];
MOV R0.xyz, vertex.attrib[15];
MUL R1.xyz, vertex.normal.zxyw, R0.yzxw;
MAD R0.xyz, vertex.normal.yzxw, R0.zxyw, -R1;
MUL R1.xyz, R0, -vertex.attrib[15].w;
ADD R0.xyz, -vertex.position, c[6];
DP3 R0.w, R2, vertex.normal;
SLT R1.w, c[0].y, R0;
MAD R1.w, R1, c[0].x, c[0].z;
DP3 result.texcoord[1].y, R2, R1;
DP3 result.texcoord[2].y, R1, R0;
MUL result.texcoord[1].z, R0.w, R1.w;
DP3 result.texcoord[1].x, R2, vertex.attrib[15];
DP3 result.texcoord[2].z, vertex.normal, R0;
DP3 result.texcoord[2].x, vertex.attrib[15], R0;
MOV result.texcoord[0].xy, vertex.texcoord[0];
DP4 result.position.w, vertex.position, c[4];
DP4 result.position.z, vertex.position, c[3];
DP4 result.position.y, vertex.position, c[2];
DP4 result.position.x, vertex.position, c[1];
END
# 20 instructions, 3 R-regs
