quakeforge/libs/video/renderer/glsl/quakemdl.vert
2012-01-02 13:40:48 +09:00

25 lines
524 B
GLSL

uniform sampler2D normals;
uniform mat4 mvp_mat;
uniform mat3 norm_mat;
attribute vec4 vcolor;
attribute vec3 stn;
attribute vec3 vertex;
varying vec3 normal;
varying vec2 st;
varying vec4 color;
void
main (void)
{
float nind;
vec3 norma, normb;
gl_Position = mvp_mat * vec4 (vertex, 1.0);
st = stn.st;
nind = stn.p;
norma = texture2D (normals, vec2 (0.0, nind)).xyz;
normb = texture2D (normals, vec2 (1.0, nind)).xyz;
normal = norm_mat * (2.0 * norma + normb / 128.0 - vec3 (1.0, 1.0, 1.0));
color = vcolor;
}