X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=ld37_one_room;a=blobdiff_plain;f=sdr%2Fuber.v.glsl;fp=sdr%2Fuber.v.glsl;h=a6c82d05606a1d0d483154a27332dc1719ea0ac4;hp=0000000000000000000000000000000000000000;hb=f8ad31b8b1856784aefdd3457b6b8f5cb5576892;hpb=cc8a355e7b709f3eb1132cd6b63cf4e482d58332 diff --git a/sdr/uber.v.glsl b/sdr/uber.v.glsl new file mode 100644 index 0000000..a6c82d0 --- /dev/null +++ b/sdr/uber.v.glsl @@ -0,0 +1,33 @@ +varying vec3 vpos, vdir, normal; +#ifdef USE_SHADOWMAP +varying vec4 shadow_tc; +#endif +#ifdef USE_CUBEMAP +varying vec3 wdir; +uniform mat4 envmap_matrix; +#endif + +void main() +{ + gl_Position = ftransform(); + + vpos = (gl_ModelViewMatrix * gl_Vertex).xyz; + normal = gl_NormalMatrix * gl_Normal; + vdir = -vpos; +#ifdef USE_CUBEMAP + wdir = (envmap_matrix * vec4(vdir, 1.0)).xyz; // bring back to world space +#endif +#ifdef USE_TEXMAP + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; +#endif + +#ifdef USE_SHADOWMAP + mat4 offmat = mat4(0.5, 0.0, 0.0, 0.0, + 0.0, 0.5, 0.0, 0.0, + 0.0, 0.0, 0.5, 0.0, + 0.5, 0.5, 0.5, 1.0); + mat4 tex_matrix = offmat * gl_TextureMatrix[1]; + + shadow_tc = tex_matrix * vec4(vpos, 1.0); +#endif +}