!!NVfp4.0
# cgc version 2.1.0000, build date Jan 30 2009
# command line args: 
#vendor NVIDIA Corporation
#version 2.1.0.0
#profile gp4fp
#program main
#semantic normalmap
#semantic diffusmap
#semantic bloodmap
#var sampler2D normalmap :  : texunit 2 : -1 : 1
#var sampler2D diffusmap :  : texunit 0 : -1 : 1
#var sampler2D bloodmap :  : texunit 1 : -1 : 1
#var float3 LightDir : $vin.ATTR0 : ATTR0 : -1 : 1
#var float3 ViewDir : $vin.ATTR1 : ATTR1 : -1 : 1
#var float4 gl_FragColor : $vout.COLOR : COL : -1 : 1
#var float4 gl_TexCoord[0] : $vin.TEX0 : TEX0 : -1 : 1
#var float4 gl_TexCoord[1] :  :  : -1 : 0
#var float4 gl_TexCoord[2] :  :  : -1 : 0
#var float4 gl_TexCoord[3] :  :  : -1 : 0
#var float4 gl_TexCoord[4] :  :  : -1 : 0
#var float4 gl_TexCoord[5] :  :  : -1 : 0
#var float4 gl_TexCoord[6] :  :  : -1 : 0
#var float4 gl_TexCoord[7] :  :  : -1 : 0
ATTRIB fragment_texcoord[] = { fragment.texcoord[0..0] };
ATTRIB fragment_attrib[] = { fragment.attrib[0..1] };
TEMP R0, R1, R2;
TEMP RC, HC;
OUTPUT oCol = result.color;
MUL.F R1.xy, fragment.texcoord[0], {8, 0, 0, 0}.x;
TEX.F R0.xyz, R1, texture[2], 2D;
ADD.F R0.xyz, R0, {-0.5, 0, 0, 0}.x;
MUL.F R0.xyz, R0, {2, 0, 0, 0}.x;
DP3.F R1.w, fragment.attrib[0], R0;
MUL.F R0.xyz, R1.w, R0;
MAD.F R0.xyz, -R0, {2, 0, 0, 0}.x, fragment.attrib[0];
DP3.F R0.x, R0, fragment.attrib[1];
MAX.F R0.x, R0, {0, 0, 0, 0};
POW.F R2.x, R0.x, {6, 0, 0, 0}.x;
TEX.F R1.xyz, R1, texture[0], 2D;
TEX.F R0, fragment.texcoord[0], texture[1], 2D;
ADD.F R0.xyz, R0, -R1;
MIN.F R2.x, R2, {1, 0, 0, 0};
MAX.F R1.w, R1, {0, 0, 0, 0}.x;
ADD.F R1.w, R1, R2.x;
MAD.F R0.xyz, R0.w, R0, R1;
MUL.F R0.xyz, R0, R1.w;
MIN.F R0.xyz, R0, {1, 0, 0, 0}.x;
MAX.F oCol.xyz, R0, {0, 0, 0, 0}.x;
MOV.F oCol.w, {1, 0, 0, 0}.x;
END
# 21 instructions, 3 R-regs
