diff options
Diffstat (limited to 'src/shader/point.fragment.glsl')
-rw-r--r-- | src/shader/point.fragment.glsl | 21 |
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; +} |