mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-11 05:01:09 +00:00
9f91fa8f43
This fixes some jerkiness with vertical scrollers due to a bad sine period and makes the overall appearance of the effect what it was originally supposed to be. The old warp2 shader was not created by replicating the formula but by trial and error until it looked close enough. A version of the old warp2 shader with a fixed sine period is still available as a custom hardware shader.
18 lines
417 B
GLSL
18 lines
417 B
GLSL
uniform float timer;
|
|
|
|
vec4 ProcessTexel()
|
|
{
|
|
vec2 texCoord = vTexCoord.st;
|
|
|
|
const float pi = 3.14159265358979323846;
|
|
vec2 offset = vec2(0.0,0.0);
|
|
|
|
float siny = sin(pi * 2.0 * (texCoord.y * 2.0 + timer * 0.75)) * 0.03;
|
|
offset.y = siny + sin(pi * 2.0 * (texCoord.x + timer * 0.75)) * 0.03;
|
|
offset.x = siny + sin(pi * 2.0 * (texCoord.x + timer * 0.45)) * 0.02;
|
|
|
|
texCoord += offset;
|
|
|
|
return getTexel(texCoord);
|
|
}
|
|
|