celestia/shaders/shadowtex.vp

31 lines
879 B
Plaintext

!!VP1.0
# Vertex program use for applying shadow textures. 2D texture coordinates
# are generated from vertex coordinates using the s and t texture planes
# in constants c[41] and c[42].
#
# c[0]..c[3] contains the concatenation of the modelview and projection
# matrices.
# c[20] contains the color
# c[41]..c[42] contain the texture transformation
# c[16] contains the light direction; used to compute texture coordinates
# for a 'shadow mask' texture used to prevent shadows from appearing on
# the wrong side of an object.
# Transform the vertex by the modelview matrix
DP4 o[HPOS].x, c[0], v[OPOS];
DP4 o[HPOS].y, c[1], v[OPOS];
DP4 o[HPOS].z, c[2], v[OPOS];
DP4 o[HPOS].w, c[3], v[OPOS];
# Generate texture coordinates
DP4 o[TEX0].x, c[41], v[OPOS];
DP4 o[TEX0].y, c[42], v[OPOS];
DP4 o[TEX1].x, c[16], v[OPOS];
# Color
MOV o[COL0], c[20];
END