| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- uniform sampler2D tex0;
- uniform float time = 5.0;
- uniform float rt_w = 1280.0;
- uniform float rt_h = 720.0;
- uniform float stitching_size = 6.0;
- uniform int invert = 0;
- vec4 PostFX(sampler2D tex, vec2 uv, float time)
- {
- vec4 c = vec4(0.0);
- float size = stitching_size;
- vec2 cPos = uv * vec2(rt_w, rt_h);
- vec2 tlPos = floor(cPos / vec2(size, size));
- tlPos *= size;
- int remX = int(mod(cPos.x, size));
- int remY = int(mod(cPos.y, size));
- if (remX == 0 && remY == 0)
- tlPos = cPos;
- vec2 blPos = tlPos;
- blPos.y += (size - 1.0);
- if ((remX == remY) ||
- (((int(cPos.x) - int(blPos.x)) == (int(blPos.y) - int(cPos.y)))))
- {
- if (invert == 1)
- c = vec4(0.2, 0.15, 0.05, 1.0);
- else
- c = texture2D(tex, tlPos * vec2(1.0/rt_w, 1.0/rt_h)) * 1.4;
- }
- else
- {
- if (invert == 1)
- c = texture2D(tex, tlPos * vec2(1.0/rt_w, 1.0/rt_h)) * 1.4;
- else
- c = vec4(0.0, 0.0, 0.0, 1.0);
- }
- return c;
- }
- void main (void)
- {
- vec2 uv = gl_TexCoord[0].st;
- if (uv.y > 0.5)
- {
- gl_FragColor = PostFX(tex0, uv, time);
- }
- else
- {
- uv.y += 0.5;
- vec4 c1 = texture2D(tex0, uv);
- gl_FragColor = c1;
- }
- }
|