Browse Source

PhongShader: using `position` for vertex position.

pull/7/head
Vladimír Vondruš 14 years ago
parent
commit
40523e530c
  1. 14
      src/Shaders/PhongShader.vert

14
src/Shaders/PhongShader.vert

@ -2,7 +2,7 @@ uniform mat4 transformationMatrix;
uniform mat4 projectionMatrix; uniform mat4 projectionMatrix;
uniform vec3 light; uniform vec3 light;
layout(location = 0) in vec4 vertex; layout(location = 0) in vec4 position;
layout(location = 1) in vec3 normal; layout(location = 1) in vec3 normal;
out vec3 transformedNormal; out vec3 transformedNormal;
@ -11,18 +11,18 @@ out vec3 cameraDirection;
void main() { void main() {
/* Transformed vertex position */ /* Transformed vertex position */
vec4 transformedVertex4 = transformationMatrix*vertex; vec4 transformedPosition4 = transformationMatrix*position;
vec3 transformedVertex = transformedVertex4.xyz/transformedVertex4.w; vec3 transformedPosition = transformedPosition4.xyz/transformedPosition4.w;
/* Transformed normal vector */ /* Transformed normal vector */
transformedNormal = normalize(mat3x3(transformationMatrix)*normal); transformedNormal = normalize(mat3x3(transformationMatrix)*normal);
/* Direction to the light */ /* Direction to the light */
lightDirection = normalize(light - transformedVertex); lightDirection = normalize(light - transformedPosition);
/* Direction to the camera */ /* Direction to the camera */
cameraDirection = -transformedVertex; cameraDirection = -transformedPosition;
/* Transform the vertex */ /* Transform the position */
gl_Position = projectionMatrix*transformedVertex4; gl_Position = projectionMatrix*transformedPosition4;
} }

Loading…
Cancel
Save