mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-30 15:31:34 +00:00
4d697283ae
For vulkan/broadway this just means to ignore it, but for the gl backend we support (with up to 4 texture inputs, which is similar to what shadertoy does, so should be widely supported).
22 lines
557 B
GLSL
22 lines
557 B
GLSL
// VERTEX_SHADER:
|
|
void main() {
|
|
gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
|
|
vUv = vec2(aUv.x, aUv.y);
|
|
}
|
|
|
|
// FRAGMENT_SHADER:
|
|
// The shader supplies:
|
|
void mainImage(out vec4 fragColor, in vec2 fragCoord, in vec2 resolution, in vec2 uv);
|
|
|
|
uniform vec2 u_size;
|
|
uniform sampler2D u_source2;
|
|
uniform sampler2D u_source3;
|
|
uniform sampler2D u_source4;
|
|
|
|
void main() {
|
|
vec4 fragColor;
|
|
vec2 fragCoord = vec2(vUv.x * u_size.x, (1.0-vUv.y) * u_size.y);
|
|
mainImage(fragColor, fragCoord, u_size, vUv);
|
|
gskSetOutputColor(fragColor);
|
|
}
|