aboutsummaryrefslogtreecommitdiffstats
path: root/shaders/rect.frag
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-12-07 21:42:52 +0100
committerDavid Robillard <d@drobilla.net>2019-12-11 23:18:51 +0100
commitad39159e3ada8086ad8385226c0361f4ff51f90d (patch)
tree1c483cac5f63e8dd2e90477992f77418654434c4 /shaders/rect.frag
parent47b8e416954e499247cc4bb002496c4d8aa1a808 (diff)
downloadpugl-ad39159e3ada8086ad8385226c0361f4ff51f90d.tar.gz
pugl-ad39159e3ada8086ad8385226c0361f4ff51f90d.tar.bz2
pugl-ad39159e3ada8086ad8385226c0361f4ff51f90d.zip
GL3 Test: Use instancing
Diffstat (limited to 'shaders/rect.frag')
-rw-r--r--shaders/rect.frag13
1 files changed, 6 insertions, 7 deletions
diff --git a/shaders/rect.frag b/shaders/rect.frag
index c5dedf9..5e3af9d 100644
--- a/shaders/rect.frag
+++ b/shaders/rect.frag
@@ -10,10 +10,9 @@
specified precisely in pixels to draw sharp lines. The border width is just
hardcoded, but could be made a uniform or vertex attribute easily enough. */
-uniform vec2 u_size;
-uniform vec4 u_fillColor;
-
noperspective in vec2 f_uv;
+noperspective in vec2 f_size;
+noperspective in vec4 f_fillColor;
layout(location = 0) out vec4 FragColor;
@@ -22,14 +21,14 @@ main()
{
const float borderWidth = 2.0;
- vec4 borderColor = u_fillColor + vec4(0.0, 0.4, 0.4, 0.0);
+ vec4 borderColor = f_fillColor + vec4(0.0, 0.4, 0.4, 0.0);
float t = step(borderWidth, f_uv[1]);
- float r = step(borderWidth, u_size.x - f_uv[0]);
- float b = step(borderWidth, u_size.y - f_uv[1]);
+ float r = step(borderWidth, f_size.x - f_uv[0]);
+ float b = step(borderWidth, f_size.y - f_uv[1]);
float l = step(borderWidth, f_uv[0]);
float fillMix = t * r * b * l;
float borderMix = 1.0 - fillMix;
- vec4 fill = fillMix * u_fillColor;
+ vec4 fill = fillMix * f_fillColor;
vec4 border = borderMix * borderColor;
FragColor = fill + border;