summaryrefslogtreecommitdiffhomepage
path: root/examples/shaders/resources
diff options
context:
space:
mode:
authorJussi Viitala <[email protected]>2023-11-18 21:02:33 +0200
committerGitHub <[email protected]>2023-11-18 20:02:33 +0100
commit25c6c12150d6f0aeea83d55d1a0f16e12a3effd3 (patch)
treeb42d7be21d1e0d48a829c0ba0d5ea5f99fa5d2f3 /examples/shaders/resources
parentf607cac267ae21e9b6392dc510f389b43c9e63f4 (diff)
downloadraylib-25c6c12150d6f0aeea83d55d1a0f16e12a3effd3.tar.gz
raylib-25c6c12150d6f0aeea83d55d1a0f16e12a3effd3.zip
Added glsl 100 and 120 shaders to lightmap example. (#3543)
* Added glsl 100 and 120 shaders to lightmap example. * Fixed lightmap example resource loading on web.
Diffstat (limited to 'examples/shaders/resources')
-rw-r--r--examples/shaders/resources/shaders/glsl100/lightmap.fs22
-rw-r--r--examples/shaders/resources/shaders/glsl100/lightmap.vs31
-rw-r--r--examples/shaders/resources/shaders/glsl120/lightmap.fs20
-rw-r--r--examples/shaders/resources/shaders/glsl120/lightmap.vs31
4 files changed, 104 insertions, 0 deletions
diff --git a/examples/shaders/resources/shaders/glsl100/lightmap.fs b/examples/shaders/resources/shaders/glsl100/lightmap.fs
new file mode 100644
index 00000000..9f0bcd27
--- /dev/null
+++ b/examples/shaders/resources/shaders/glsl100/lightmap.fs
@@ -0,0 +1,22 @@
+#version 100
+
+precision mediump float;
+
+// Input vertex attributes (from vertex shader)
+varying vec2 fragTexCoord;
+varying vec2 fragTexCoord2;
+varying vec3 fragPosition;
+varying vec4 fragColor;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform sampler2D texture1;
+
+void main()
+{
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture2D(texture0, fragTexCoord);
+ vec4 texelColor2 = texture2D(texture1, fragTexCoord2);
+
+ gl_FragColor = texelColor * texelColor2;
+}
diff --git a/examples/shaders/resources/shaders/glsl100/lightmap.vs b/examples/shaders/resources/shaders/glsl100/lightmap.vs
new file mode 100644
index 00000000..f5d87b3e
--- /dev/null
+++ b/examples/shaders/resources/shaders/glsl100/lightmap.vs
@@ -0,0 +1,31 @@
+#version 100
+
+// Input vertex attributes
+attribute vec3 vertexPosition;
+attribute vec2 vertexTexCoord;
+attribute vec2 vertexTexCoord2;
+attribute vec4 vertexColor;
+
+// Input uniform values
+uniform mat4 mvp;
+uniform mat4 matModel;
+
+// Output vertex attributes (to fragment shader)
+varying vec3 fragPosition;
+varying vec2 fragTexCoord;
+varying vec2 fragTexCoord2;
+varying vec4 fragColor;
+
+// NOTE: Add here your custom variables
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragPosition = vec3(matModel*vec4(vertexPosition, 1.0));
+ fragTexCoord = vertexTexCoord;
+ fragTexCoord2 = vertexTexCoord2;
+ fragColor = vertexColor;
+
+ // Calculate final vertex position
+ gl_Position = mvp*vec4(vertexPosition, 1.0);
+}
diff --git a/examples/shaders/resources/shaders/glsl120/lightmap.fs b/examples/shaders/resources/shaders/glsl120/lightmap.fs
new file mode 100644
index 00000000..93a0609e
--- /dev/null
+++ b/examples/shaders/resources/shaders/glsl120/lightmap.fs
@@ -0,0 +1,20 @@
+#version 120
+
+// Input vertex attributes (from vertex shader)
+varying vec2 fragTexCoord;
+varying vec2 fragTexCoord2;
+varying vec3 fragPosition;
+varying vec4 fragColor;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform sampler2D texture1;
+
+void main()
+{
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture2D(texture0, fragTexCoord);
+ vec4 texelColor2 = texture2D(texture1, fragTexCoord2);
+
+ gl_FragColor = texelColor * texelColor2;
+}
diff --git a/examples/shaders/resources/shaders/glsl120/lightmap.vs b/examples/shaders/resources/shaders/glsl120/lightmap.vs
new file mode 100644
index 00000000..9847b253
--- /dev/null
+++ b/examples/shaders/resources/shaders/glsl120/lightmap.vs
@@ -0,0 +1,31 @@
+#version 120
+
+// Input vertex attributes
+attribute vec3 vertexPosition;
+attribute vec2 vertexTexCoord;
+attribute vec2 vertexTexCoord2;
+attribute vec4 vertexColor;
+
+// Input uniform values
+uniform mat4 mvp;
+uniform mat4 matModel;
+
+// Output vertex attributes (to fragment shader)
+varying vec3 fragPosition;
+varying vec2 fragTexCoord;
+varying vec2 fragTexCoord2;
+varying vec4 fragColor;
+
+// NOTE: Add here your custom variables
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragPosition = vec3(matModel*vec4(vertexPosition, 1.0));
+ fragTexCoord = vertexTexCoord;
+ fragTexCoord2 = vertexTexCoord2;
+ fragColor = vertexColor;
+
+ // Calculate final vertex position
+ gl_Position = mvp*vec4(vertexPosition, 1.0);
+}