summaryrefslogtreecommitdiff
path: root/examples/resources/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'examples/resources/shaders')
-rw-r--r--examples/resources/shaders/glsl330/lightmap.fs22
-rw-r--r--examples/resources/shaders/glsl330/lightmap.vs31
2 files changed, 53 insertions, 0 deletions
diff --git a/examples/resources/shaders/glsl330/lightmap.fs b/examples/resources/shaders/glsl330/lightmap.fs
new file mode 100644
index 0000000..aa821f3
--- /dev/null
+++ b/examples/resources/shaders/glsl330/lightmap.fs
@@ -0,0 +1,22 @@
+#version 330
+// Input vertex attributes (from vertex shader)
+in vec2 fragTexCoord;
+in vec2 fragTexCoord2;
+in vec3 fragPosition;
+in vec4 fragColor;
+in vec3 fragNormal;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform sampler2D texture1;
+
+// Output fragment color
+out vec4 finalColor;
+
+void main() {
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture( texture0, fragTexCoord );
+ vec4 texelColor2 = texture( texture1, fragTexCoord2 );
+ vec3 normal = normalize( fragNormal );
+ finalColor = texelColor * texelColor2;
+}
diff --git a/examples/resources/shaders/glsl330/lightmap.vs b/examples/resources/shaders/glsl330/lightmap.vs
new file mode 100644
index 0000000..dec46fe
--- /dev/null
+++ b/examples/resources/shaders/glsl330/lightmap.vs
@@ -0,0 +1,31 @@
+#version 330
+// Input vertex attributes
+in vec3 vertexPosition;
+in vec2 vertexTexCoord;
+in vec2 vertexTexCoord2;
+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 vec2 fragTexCoord2;
+// out vec4 fragColor;
+out vec3 fragNormal;
+
+void main() {
+ // Send vertex attributes to fragment shader
+ fragPosition = vec3( matModel * vec4( vertexPosition, 1.0 ) );
+ fragTexCoord = vertexTexCoord;
+ fragTexCoord2 = vertexTexCoord2;
+ // fragColor = vertexColor;
+ fragNormal = normalize( vec3( matNormal * vec4( vertexNormal, 1.0 ) ) );
+
+ // Calculate final vertex position
+ gl_Position = mvp * vec4( vertexPosition, 1.0 );
+}