summaryrefslogtreecommitdiffhomepage
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
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.
-rw-r--r--examples/Makefile.Web8
-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
-rw-r--r--examples/shaders/shaders_lightmap.c1
6 files changed, 108 insertions, 5 deletions
diff --git a/examples/Makefile.Web b/examples/Makefile.Web
index e8a72661..aa42d722 100644
--- a/examples/Makefile.Web
+++ b/examples/Makefile.Web
@@ -968,10 +968,10 @@ shaders/shaders_julia_set: shaders/shaders_julia_set.c
shaders/shaders_lightmap: shaders/shaders_lightmap.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) -s FORCE_FILESYSTEM=1 \
- --preload-file shaders/resources/shaders/glsl330/lightmap.vs \
- --preload-file shaders/resources/shaders/glsl330/lightmap.fs \
- --preload-file shaders/resources/cubicmap_atlas.png \
- --preload-file shaders/resources/spark_flame.png
+ --preload-file shaders/resources/shaders/glsl100/lightmap.vs@resources/shaders/glsl100/lightmap.vs \
+ --preload-file shaders/resources/shaders/glsl100/lightmap.fs@resources/shaders/glsl100/lightmap.fs \
+ --preload-file shaders/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png \
+ --preload-file shaders/resources/spark_flame.png@resources/spark_flame.png
shaders/shaders_mesh_instancing: shaders/shaders_mesh_instancing.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \
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);
+}
diff --git a/examples/shaders/shaders_lightmap.c b/examples/shaders/shaders_lightmap.c
index c5ed6094..445d81d2 100644
--- a/examples/shaders/shaders_lightmap.c
+++ b/examples/shaders/shaders_lightmap.c
@@ -170,4 +170,3 @@ int main(void)
return 0;
}
-