summaryrefslogtreecommitdiff
path: root/examples/resources/shaders/glsl330/lighting.vs
diff options
context:
space:
mode:
authorjussi2023-05-30 13:42:43 +0300
committerjussi2023-05-30 13:42:43 +0300
commite1cc1e9e2796540ab81b9798aeb1684614c66b88 (patch)
treee4a9cf22336af770d6803717012708350e2dc503 /examples/resources/shaders/glsl330/lighting.vs
parent335321e3aa238069df88cf06c98119ef4ef348d3 (diff)
downloadreilua-enhanced-e1cc1e9e2796540ab81b9798aeb1684614c66b88.tar.gz
reilua-enhanced-e1cc1e9e2796540ab81b9798aeb1684614c66b88.tar.bz2
reilua-enhanced-e1cc1e9e2796540ab81b9798aeb1684614c66b88.zip
Light property functions and basic light example.
Diffstat (limited to 'examples/resources/shaders/glsl330/lighting.vs')
-rw-r--r--examples/resources/shaders/glsl330/lighting.vs32
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/resources/shaders/glsl330/lighting.vs b/examples/resources/shaders/glsl330/lighting.vs
new file mode 100644
index 0000000..f8ec45f
--- /dev/null
+++ b/examples/resources/shaders/glsl330/lighting.vs
@@ -0,0 +1,32 @@
+#version 330
+
+// Input vertex attributes
+in vec3 vertexPosition;
+in vec2 vertexTexCoord;
+in vec3 vertexNormal;
+in vec4 vertexColor;
+
+// Input uniform values
+uniform mat4 mvp;
+uniform mat4 matModel;
+uniform mat4 matNormal;
+
+// Output vertex attributes (to fragment shader)
+out vec3 fragPosition;
+out vec2 fragTexCoord;
+out vec4 fragColor;
+out vec3 fragNormal;
+
+// NOTE: Add here your custom variables
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragPosition = vec3(matModel*vec4(vertexPosition, 1.0));
+ fragTexCoord = vertexTexCoord;
+ fragColor = vertexColor;
+ fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0)));
+
+ // Calculate final vertex position
+ gl_Position = mvp*vec4(vertexPosition, 1.0);
+}