21 lines
641 B
Plaintext
21 lines
641 B
Plaintext
varying vec2 uv;
|
|
uniform float cycle;
|
|
uniform float offset;
|
|
uniform sampler2D texture, noise;
|
|
|
|
void main() {
|
|
float y = 0.5 + (uv.y - 0.5) * 1.4 / (uv.x + 0.001);
|
|
y = clamp(y,0.0,1.0);
|
|
|
|
float sample = texture2D(texture,vec2((uv.x + cycle * 2.0) * 4.0, y)).r;
|
|
vec3 nSamp = texture2D(noise, vec2(cycle, y)).rgb;
|
|
|
|
sample = pow((sample - 0.05) * 1.15, 1.4);
|
|
sample *= abs(mod(nSamp.r + nSamp.g, 1.0) - 0.5) * 2.0;
|
|
sample -= (nSamp.b + (uv.x - 0.95) * 20.0) * smoothstep(0.95, 1.0, uv.x);
|
|
sample *= smoothstep(0.0, 0.01, uv.x);
|
|
|
|
gl_FragColor.rgb = (vec3(sample) * gl_Color.rgb) * gl_Color.a;
|
|
gl_FragColor.a = 0.0;
|
|
}
|