summaryrefslogtreecommitdiff
path: root/src/shader/point.fragment.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader/point.fragment.glsl')
-rw-r--r--src/shader/point.fragment.glsl21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/shader/point.fragment.glsl b/src/shader/point.fragment.glsl
new file mode 100644
index 0000000000..2f099feb79
--- /dev/null
+++ b/src/shader/point.fragment.glsl
@@ -0,0 +1,21 @@
+#define root2 1.4142135623730951
+
+uniform sampler2D u_image;
+uniform vec2 u_tl;
+uniform vec2 u_br;
+uniform vec4 u_color;
+
+uniform vec2 pos;
+uniform float inbounds;
+uniform vec4 color;
+
+void main() {
+ vec2 pos = (gl_PointCoord * 2.0 - 1.0) * root2 / 2.0 + 0.5;
+
+ float inbounds = step(0.0, pos.x) * step(0.0, pos.y) *
+ (1.0 - step(1.0, pos.x)) * (1.0 - step(1.0, pos.y));
+
+ vec4 color = texture2D(u_image, mix(u_tl, u_br, pos)) * inbounds;
+
+ gl_FragColor = color * u_color;
+}