otclientv8/data/shaders/map_rainbow_vertex.frag
2021-04-07 21:31:27 +00:00

34 lines
750 B
GLSL

attribute vec2 a_TexCoord;
attribute vec2 a_Vertex;
varying vec2 v_TexCoord;
varying vec2 v_TexCoord2;
uniform mat3 u_TextureMatrix;
uniform mat3 u_TransformMatrix;
uniform mat3 u_ProjectionMatrix;
uniform vec2 u_Offset;
uniform vec2 u_Center;
uniform float u_Time;
vec2 effectTextureSize = vec2(466.0, 342.0);
vec2 direction = vec2(1.0,0.2);
float speed = 200.0;
vec2 rotate(vec2 v, float a) {
float s = sin(a);
float c = cos(a);
mat2 m = mat2(c, -s, s, c);
return m * v;
}
void main()
{
gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
v_TexCoord2 = ((a_Vertex + direction * u_Time * speed) / effectTextureSize);
}