factor/extra/gpu/demos/bunny/bunny.v.glsl

23 lines
494 B
GLSL

#version 110
uniform mat4 mv_matrix, p_matrix;
uniform vec3 light_position;
attribute vec3 vertex, normal;
varying vec3 frag_normal;
varying vec3 frag_light_direction;
varying vec3 frag_eye_direction;
void
main()
{
vec4 position = mv_matrix * vec4(vertex, 1.0);
gl_Position = p_matrix * position;
frag_normal = (mv_matrix * vec4(normal, 0.0)).xyz;
frag_light_direction = (mv_matrix * vec4(light_position, 1.0)).xyz - position.xyz;
frag_eye_direction = position.xyz;
}