summaryrefslogtreecommitdiff
path: root/packages/frontend/src/utility/image-compositor-functions/mirror.glsl
blob: b27934e9ef239cf94c0a560e35175ae8e19a3add (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#version 300 es
precision mediump float;

in vec2 in_uv;
uniform sampler2D in_texture;
uniform vec2 in_resolution;
uniform int u_h;
uniform int u_v;
out vec4 out_color;

void main() {
	vec2 uv = in_uv;
	if (u_h == -1 && in_uv.x > 0.5) {
		uv.x = 1.0 - uv.x;
	}
	if (u_h == 1 && in_uv.x < 0.5) {
		uv.x = 1.0 - uv.x;
	}
	if (u_v == -1 && in_uv.y > 0.5) {
		uv.y = 1.0 - uv.y;
	}
	if (u_v == 1 && in_uv.y < 0.5) {
		uv.y = 1.0 - uv.y;
	}
	out_color = texture(in_texture, uv);
}