diff options
Diffstat (limited to 'gsk/gl/resources/coloring.glsl')
-rw-r--r-- | gsk/gl/resources/coloring.glsl | 22 |
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); +} |