oops, get back setup/data/tools
[xonotic/netradiant.git] / setup / data / tools / gl / lighting_DBS_omni_fp.glp
1 !!ARBfp1.0
2 # cgc version 1.3.0001, build date Aug  4 2004 10:01:10
3 # command line args: -profile arbfp1
4 # source file: ..\..\setup\data\tools\gl\lighting_DBS_XY_Z_arbfp1.cg
5 # source file: ..\..\setup\data\tools\gl/utils.cg
6 #vendor NVIDIA Corporation
7 #version 1.0.02
8 #profile arbfp1
9 #program main
10 #semantic main.diffusemap
11 #semantic main.bumpmap
12 #semantic main.specularmap
13 #semantic main.attenuationmap_xy
14 #semantic main.attenuationmap_z
15 #semantic main.view_origin
16 #semantic main.light_origin
17 #semantic main.light_color
18 #semantic main.bump_scale
19 #semantic main.specular_exponent
20 #var float4 IN.position : $vin.TEX0 : TEX0 : 0 : 1
21 #var float4 IN.tex_diffuse_bump : $vin.TEX1 : TEX1 : 0 : 1
22 #var float4 IN.tex_specular : $vin.TEX2 : TEX2 : 0 : 1
23 #var float4 IN.tex_atten_xy_z : $vin.TEX3 : TEX3 : 0 : 1
24 #var float3 IN.tangent : $vin.TEX4 : TEX4 : 0 : 1
25 #var float3 IN.binormal : $vin.TEX5 : TEX5 : 0 : 1
26 #var float3 IN.normal : $vin.TEX6 : TEX6 : 0 : 1
27 #var sampler2D diffusemap :  : texunit 0 : 1 : 1
28 #var sampler2D bumpmap :  : texunit 1 : 2 : 1
29 #var sampler2D specularmap :  : texunit 2 : 3 : 1
30 #var sampler2D attenuationmap_xy :  : texunit 3 : 4 : 1
31 #var sampler2D attenuationmap_z :  : texunit 4 : 5 : 1
32 #var float3 view_origin :  : c[4] : 6 : 1
33 #var float3 light_origin :  : c[2] : 7 : 1
34 #var float3 light_color :  : c[3] : 8 : 1
35 #var float bump_scale :  : c[1] : 9 : 1
36 #var float specular_exponent :  : c[5] : 10 : 1
37 #var float4 main.color : $vout.COL : COL : -1 : 1
38 #const c[0] = 0.5 2 0
39 PARAM c[6] = { { 0.5, 2, 0 },
40                 program.local[1..5] };
41 TEMP R0;
42 TEMP R1;
43 TEMP R2;
44 ADD R1.xyz, -fragment.texcoord[0], c[2];
45 DP3 R0.z, fragment.texcoord[6], R1;
46 DP3 R0.x, fragment.texcoord[4], R1;
47 DP3 R0.y, fragment.texcoord[5], R1;
48 ADD R1.xyz, -fragment.texcoord[0], c[4];
49 DP3 R0.w, R0, R0;
50 DP3 R2.z, fragment.texcoord[6], R1;
51 DP3 R2.x, fragment.texcoord[4], R1;
52 DP3 R2.y, fragment.texcoord[5], R1;
53 RSQ R0.w, R0.w;
54 MUL R1.xyz, R0.w, R0;
55 DP3 R1.w, R2, R2;
56 RSQ R0.w, R1.w;
57 MUL R2.xyz, R0.w, R2;
58 ADD R2.xyz, R1, R2;
59 DP3 R0.w, R2, R2;
60 RSQ R2.w, R0.w;
61 TEX R0.xyz, fragment.texcoord[1].zwzw, texture[1], 2D;
62 ADD R0.xyz, R0, -c[0].x;
63 MUL R0.xyz, R0, c[0].y;
64 MUL R0.z, R0, c[1].x;
65 DP3 R1.w, R0, R0;
66 RSQ R0.w, R1.w;
67 MUL R0.xyz, R0.w, R0;
68 MUL R2.xyz, R2.w, R2;
69 DP3_SAT R0.w, R0, R2;
70 DP3_SAT R0.x, R0, R1;
71 TEX R2.xyz, fragment.texcoord[2], texture[2], 2D;
72 MUL R1.xyz, R2, c[3];
73 POW R0.w, R0.w, c[5].x;
74 MUL R2.xyz, R1, R0.w;
75 MUL R1.xyz, R0.x, c[3];
76 TEX R0, fragment.texcoord[1], texture[0], 2D;
77 MAD R2.xyz, R0, R1, R2;
78 TXP R0.xyz, fragment.texcoord[3], texture[3], 2D;
79 MOV R1.y, c[0].z;
80 MOV R1.x, fragment.texcoord[3].z;
81 TEX R1.xyz, R1, texture[4], 2D;
82 MUL R0.xyz, R2, R0;
83 MUL result.color.xyz, R0, R1;
84 MOV result.color.w, R0;
85 END
86 # 41 instructions, 3 R-regs