summaryrefslogtreecommitdiff
path: root/examples/resources/shaders/glsl330
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
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')
-rw-r--r--examples/resources/shaders/glsl330/base.fs25
-rw-r--r--examples/resources/shaders/glsl330/base.vs26
-rw-r--r--examples/resources/shaders/glsl330/lighting.vs32
3 files changed, 83 insertions, 0 deletions
diff --git a/examples/resources/shaders/glsl330/base.fs b/examples/resources/shaders/glsl330/base.fs
new file mode 100644
index 0000000..6b50062
--- /dev/null
+++ b/examples/resources/shaders/glsl330/base.fs
@@ -0,0 +1,25 @@
+#version 330
+
+// Input vertex attributes (from vertex shader)
+in vec2 fragTexCoord;
+in vec4 fragColor;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform vec4 colDiffuse;
+
+// Output fragment color
+out vec4 finalColor;
+
+// NOTE: Add here your custom variables
+
+void main()
+{
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture(texture0, fragTexCoord);
+
+ // NOTE: Implement here your fragment shader code
+
+ finalColor = texelColor*colDiffuse;
+}
+
diff --git a/examples/resources/shaders/glsl330/base.vs b/examples/resources/shaders/glsl330/base.vs
new file mode 100644
index 0000000..8cc2abb
--- /dev/null
+++ b/examples/resources/shaders/glsl330/base.vs
@@ -0,0 +1,26 @@
+#version 330
+
+// Input vertex attributes
+in vec3 vertexPosition;
+in vec2 vertexTexCoord;
+in vec3 vertexNormal;
+in vec4 vertexColor;
+
+// Input uniform values
+uniform mat4 mvp;
+
+// Output vertex attributes (to fragment shader)
+out vec2 fragTexCoord;
+out vec4 fragColor;
+
+// NOTE: Add here your custom variables
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragTexCoord = vertexTexCoord;
+ fragColor = vertexColor;
+
+ // Calculate final vertex position
+ gl_Position = mvp*vec4(vertexPosition, 1.0);
+} \ No newline at end of file
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);
+}