summaryrefslogtreecommitdiffhomepage
path: root/shaders/glsl330/phong.vs
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/glsl330/phong.vs')
-rw-r--r--shaders/glsl330/phong.vs29
1 files changed, 29 insertions, 0 deletions
diff --git a/shaders/glsl330/phong.vs b/shaders/glsl330/phong.vs
new file mode 100644
index 00000000..d68d9b3f
--- /dev/null
+++ b/shaders/glsl330/phong.vs
@@ -0,0 +1,29 @@
+#version 330
+
+// Input vertex attributes
+in vec3 vertexPosition;
+in vec2 vertexTexCoord;
+in vec3 vertexNormal;
+
+// Input uniform values
+uniform mat4 mvpMatrix;
+
+// Output vertex attributes (to fragment shader)
+out vec2 fragTexCoord;
+out vec3 fragNormal;
+
+// NOTE: Add here your custom variables
+uniform mat4 modelMatrix;
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragTexCoord = vertexTexCoord;
+
+ // Calculate view vector normal from model
+ mat3 normalMatrix = transpose(inverse(mat3(modelMatrix)));
+ fragNormal = normalize(normalMatrix*vertexNormal);
+
+ // Calculate final vertex position
+ gl_Position = mvpMatrix*vec4(vertexPosition, 1.0);
+} \ No newline at end of file