aboutsummaryrefslogtreecommitdiff
path: root/deps/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs
diff options
context:
space:
mode:
Diffstat (limited to 'deps/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs')
-rw-r--r--deps/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs33
1 files changed, 33 insertions, 0 deletions
diff --git a/deps/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs b/deps/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs
new file mode 100644
index 0000000..cf8aec4
--- /dev/null
+++ b/deps/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs
@@ -0,0 +1,33 @@
+#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
+
+// NOTE: Render size values must be passed from code
+const float renderWidth = 800;
+const float renderHeight = 450;
+
+uniform float pixelWidth = 5.0;
+uniform float pixelHeight = 5.0;
+
+void main()
+{
+ float dx = pixelWidth*(1.0/renderWidth);
+ float dy = pixelHeight*(1.0/renderHeight);
+
+ vec2 coord = vec2(dx*floor(fragTexCoord.x/dx), dy*floor(fragTexCoord.y/dy));
+
+ vec3 tc = texture(texture0, coord).rgb;
+
+ finalColor = vec4(tc, 1.0);
+} \ No newline at end of file