summaryrefslogtreecommitdiff
path: root/gsk/gl/resources/coloring.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'gsk/gl/resources/coloring.glsl')
-rw-r--r--gsk/gl/resources/coloring.glsl22
1 files changed, 22 insertions, 0 deletions
diff --git a/gsk/gl/resources/coloring.glsl b/gsk/gl/resources/coloring.glsl
new file mode 100644
index 0000000000..a675493030
--- /dev/null
+++ b/gsk/gl/resources/coloring.glsl
@@ -0,0 +1,22 @@
+// VERTEX_SHADER:
+uniform vec4 u_color;
+
+_OUT_ vec4 final_color;
+
+void main() {
+ gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
+
+ vUv = vec2(aUv.x, aUv.y);
+
+ final_color = gsk_premultiply(u_color) * u_alpha;
+}
+
+// FRAGMENT_SHADER:
+
+_IN_ vec4 final_color;
+
+void main() {
+ vec4 diffuse = GskTexture(u_source, vUv);
+
+ gskSetOutputColor(final_color * diffuse.a);
+}