RealBadAngel b35cdb7061 Upload
2013-11-03 17:01:44 +01:00

43 lines
1010 B
GLSL

// nvidia shader library
// http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html
uniform float BufferWidth;
uniform float BufferHeight;
uniform float Speed;
uniform float Speed2;
uniform float Pulse;
uniform float PulseE;
uniform float CenterX;
uniform float CenterY;
uniform float ElapsedTime;
struct VS_INPUT
{
float4 Pos:POSITION;
float2 Tex:TEXCOORD0;
};
struct VS_OUTPUT
{
float4 Pos:POSITION;
float2 Tex:TEXCOORD0;
};
VS_OUTPUT main(VS_INPUT input)
{
float2 offset = float2(0.5/BufferWidth, 0.5/BufferHeight);
VS_OUTPUT output;
output.Pos = input.Pos;
float r = ElapsedTime*Speed;
float2 cs = float2(sin(r), cos(r));
r = 2.0*(pow(0.5*(sin(Speed2*ElapsedTime)+1.0), PulseE)-0.5);
r = 1 + Pulse*r;
float2 ctr = float2(CenterX, CenterY);
float2 t = r*(float2(input.Tex.xy + offset)-ctr);
output.Tex = (((float2((t.x*cs.x - t.y*cs.y),(t.x*cs.y + t.y*cs.x))))+ctr);
return output;
}