!!ARBfp1.0 # cgc version 1.5.0019, build date Feb 22 2007 06:27:05 # command line args: -q -profile arbfp1 -entry ps_main #vendor NVIDIA Corporation #version 1.5.0.19 #profile arbfp1 #program ps_main #semantic refractiveIndex #semantic parallax #semantic viewPos #semantic mvp #semantic m #semantic normalMap #semantic rainbowMap #semantic heightMap #semantic skyMap #var float2 input.texcoord : $vin.TEXCOORD0 : TEX0 : 0 : 1 #var float3 input.viewVec : $vin.TEXCOORD1 : TEX1 : 0 : 1 #var float3 input.tangent : $vin.TEXCOORD2 : TEX2 : 0 : 1 #var float3 input.bitangent : $vin.TEXCOORD3 : TEX3 : 0 : 1 #var float3 input.normal : $vin.TEXCOORD4 : TEX4 : 0 : 1 #var float3 input.cubemapCorrection : $vin.TEXCOORD5 : TEX5 : 0 : 1 #var float refractiveIndex : : c[0] : -1 : 1 #var float2 parallax : : c[1] : -1 : 1 #var float3 viewPos : : : -1 : 0 #var float4x4 mvp : : , 4 : -1 : 0 #var float4x4 m : : , 4 : -1 : 0 #var sampler2D normalMap : : texunit 1 : -1 : 1 #var sampler2D rainbowMap : : texunit 3 : -1 : 1 #var sampler2D heightMap : : texunit 0 : -1 : 1 #var samplerCUBE skyMap : : texunit 2 : -1 : 1 #var float4 ps_main : $vout.COLOR0 : COL : -1 : 1 #const c[2] = 0 0.001953125 512 2 #const c[3] = 1 0.2 PARAM c[4] = { program.local[0..1], { 0, 0.001953125, 512, 2 }, { 1, 0.2 } }; TEMP R0; TEMP R1; TEMP R2; TEMP R3; DP3 R0.y, fragment.texcoord[1], fragment.texcoord[1]; RSQ R0.y, R0.y; TEX R0.x, fragment.texcoord[0], texture[0], 2D; MUL R3.xyz, R0.y, fragment.texcoord[1]; MAD R0.x, R0, c[1], c[1].y; MAD R0.xy, -R3, R0.x, fragment.texcoord[0]; ADD R1, R0.xyxy, c[2].xxyy; TEX R0.yw, R1.xwzw, texture[1], 2D; TEX R2.yw, R1.zwzw, texture[1], 2D; ADD R2.xz, R2.yyww, -R0.yyww; TEX R2.yw, R1, texture[1], 2D; MUL R0.xz, R1.xyyw, c[2].z; TEX R1.yw, R1.zyzw, texture[1], 2D; ADD R1.xy, R1.ywzw, -R2.ywzw; FRC R1.zw, R0.xyxz; MAD R1.xy, R1.z, R1, R2.ywzw; MAD R0.xy, R1.z, R2.xzzw, R0.ywzw; ADD R0.xy, R0, -R1; MAD R0.xy, R1.w, R0, R1; MUL R0.xy, R0.yxzw, c[2].w; ADD R2.xy, R0, -c[3].x; MUL R0.x, R2.y, R2.y; MAD R0.x, -R2, R2, -R0; ADD R0.y, R0.x, c[3].x; RSQ R0.y, R0.y; DP3 R0.x, fragment.texcoord[4], fragment.texcoord[4]; RCP R2.z, R0.y; RSQ R0.x, R0.x; MUL R0.xyz, R0.x, fragment.texcoord[4]; DP3 R1.w, R0, R2; DP3 R0.y, fragment.texcoord[2], fragment.texcoord[2]; RSQ R0.y, R0.y; MUL R1.xyz, R0.y, fragment.texcoord[2]; DP3 R0.x, fragment.texcoord[3], fragment.texcoord[3]; RSQ R0.x, R0.x; DP3 R1.x, R2, R1; MUL R0.xyz, R0.x, fragment.texcoord[3]; DP3 R1.y, R2, R0; DP3 R0.x, R1.xyww, R1.xyww; RSQ R0.x, R0.x; MUL R0.xyz, R0.x, R1.xyww; DP3 R1.w, -R3, R0; MUL R1.xyz, -R3.zxyw, R0.yzxw; MAD R1.xyz, -R3.yzxw, R0.zxyw, -R1; MUL R2.xyz, R0.yzxw, R1.zxyw; MAD R0.w, -R1, R1, c[3].x; MAD R1.xyz, R0.zxyw, R1.yzxw, -R2; RSQ R0.w, R0.w; RCP R2.x, R0.w; DP3 R0.w, R1, R1; RSQ R2.y, R0.w; MUL_SAT R2.x, R2, c[0]; MAD R0.w, -R2.x, R2.x, c[3].x; MUL R1.xyz, R2.y, R1; RSQ R0.w, R0.w; RCP R2.w, R0.w; MUL R1.xyz, R2.x, R1; MAD R1.xyz, R2.w, -R0, R1; ADD R1.xyz, R1, -fragment.texcoord[5]; MOV R2.x, -R1; MOV R2.yz, R1; MUL R1.xyz, -R1.w, R0; MAD R1.xyz, -R1, c[2].w, R3; ADD R3.xyz, -fragment.texcoord[5], R1; POW R0.x, R1.w, c[3].y; MOV R0.y, c[2].x; TEX R0, R0, texture[3], 2D; ADD R0, R0, -c[3].x; MAD R1, R1.w, R0, c[3].x; MOV R0.yz, R3; MOV R0.x, -R3; TEX R0, R0, texture[2], CUBE; MUL R1, R0, R1; TEX R0, R2, texture[2], CUBE; ADD R0, R0, -R1; MAD result.color, R2.w, R0, R1; END # 76 instructions, 4 R-regs