summaryrefslogtreecommitdiffhomepage
path: root/examples/shaders/resources
diff options
context:
space:
mode:
authorchriscamacho <[email protected]>2019-09-22 20:28:50 +0100
committerRay <[email protected]>2019-09-22 21:28:50 +0200
commita679b0ccc015295ed8c305605b0bf19112f949f3 (patch)
tree6763eee4263e93a2c1ab05964236f02bf5339db5 /examples/shaders/resources
parentacedf4a0d5f2cb721dc12cf56a176fe420e63d2e (diff)
downloadraylib-a679b0ccc015295ed8c305605b0bf19112f949f3.tar.gz
raylib-a679b0ccc015295ed8c305605b0bf19112f949f3.zip
contributed simple shader example (#973)
Contributed simple shader example
Diffstat (limited to 'examples/shaders/resources')
-rw-r--r--examples/shaders/resources/mask.pngbin0 -> 74820 bytes
-rw-r--r--examples/shaders/resources/plasma.pngbin0 -> 581880 bytes
-rw-r--r--examples/shaders/resources/shaders/glsl330/mask.fs21
-rw-r--r--examples/shaders/resources/shaders/glsl330/mask.vs21
4 files changed, 42 insertions, 0 deletions
diff --git a/examples/shaders/resources/mask.png b/examples/shaders/resources/mask.png
new file mode 100644
index 00000000..06a25978
--- /dev/null
+++ b/examples/shaders/resources/mask.png
Binary files differ
diff --git a/examples/shaders/resources/plasma.png b/examples/shaders/resources/plasma.png
new file mode 100644
index 00000000..01c2d883
--- /dev/null
+++ b/examples/shaders/resources/plasma.png
Binary files differ
diff --git a/examples/shaders/resources/shaders/glsl330/mask.fs b/examples/shaders/resources/shaders/glsl330/mask.fs
new file mode 100644
index 00000000..a0627909
--- /dev/null
+++ b/examples/shaders/resources/shaders/glsl330/mask.fs
@@ -0,0 +1,21 @@
+#version 330
+
+// Input vertex attributes (from vertex shader)
+in vec2 fragTexCoord;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform sampler2D mask;
+uniform int frame;
+
+// Output fragment color
+out vec4 finalColor;
+
+void main()
+{
+ vec4 maskColour = texture(mask, fragTexCoord+vec2(sin(-frame/150.0)/10.0,cos(-frame/170.0)/10.0));
+ if (maskColour.r < 0.25) discard;
+ vec4 texelColor = texture(texture0, fragTexCoord+vec2(sin(frame/90.0)/8.0,cos(frame/60.0)/8.0));
+
+ finalColor = texelColor * maskColour;
+}
diff --git a/examples/shaders/resources/shaders/glsl330/mask.vs b/examples/shaders/resources/shaders/glsl330/mask.vs
new file mode 100644
index 00000000..66a15161
--- /dev/null
+++ b/examples/shaders/resources/shaders/glsl330/mask.vs
@@ -0,0 +1,21 @@
+#version 330
+
+// Input vertex attributes
+in vec3 vertexPosition;
+in vec2 vertexTexCoord;
+
+// Input uniform values
+uniform mat4 mvp;
+uniform mat4 matModel;
+
+// Output vertex attributes (to fragment shader)
+out vec2 fragTexCoord;
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragTexCoord = vertexTexCoord;
+
+ // Calculate final vertex position
+ gl_Position = mvp*vec4(vertexPosition, 1.0);
+}