File: grassFar.vp

package info (click to toggle)
spring 0.81.2.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 28,496 kB
  • ctags: 37,096
  • sloc: cpp: 238,659; ansic: 13,784; java: 12,175; awk: 3,428; python: 1,159; xml: 738; perl: 405; sh: 297; makefile: 267; pascal: 228; objc: 192
file content (41 lines) | stat: -rw-r--r-- 1,298 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
!!ARBvp1.0
ATTRIB pos = vertex.position;
PARAM mat[4] = { state.matrix.mvp };
PARAM mat3[4] = { state.matrix.program[0] };
OUTPUT opos = result.position;
TEMP worldPos,temp,temp2;

MAD worldPos, program.env[8], vertex.normal.x, pos;
MAD worldPos, program.env[9], vertex.normal.y, worldPos;
ADD worldPos, program.env[11], worldPos;

#calculate texture coords
MUL result.texcoord[0], worldPos.xzyw, program.env[13];					#ground shade texture
MUL result.texcoord[2], worldPos.xzyw, program.env[14];					#main ground texture
ADD result.texcoord[3], vertex.texcoord,program.env[10];					#grass billboard texture

#tex coords for shadow texture
DP4 temp.x, worldPos, mat3[0];
DP4 temp.y, worldPos, mat3[1];

ABS temp2,temp;
ADD temp2,temp2,program.env[17];
RSQ temp2.x, temp2.x;
RSQ temp2.y, temp2.y;
ADD temp2,temp2,program.env[18];
MAD result.texcoord[1], temp, temp2,program.env[16];

DP4 temp2.z, worldPos, mat3[2];
ADD result.texcoord[1].z, temp2.z, {0,0,-0.0005,0};	#grass would sometimes be shadowed by the ground beneath it
DP4 result.texcoord[1].w, worldPos, mat3[3];

#world space to clip space
DP4 opos.x, worldPos, mat[0];
DP4 opos.y, worldPos, mat[1];
DP4 opos.z, worldPos, mat[2];
DP4 opos.w, worldPos, mat[3];

DP4 result.fogcoord.x, worldPos, mat[2];
MOV result.color, vertex.color;

END