36 lines
733 B
GLSL
36 lines
733 B
GLSL
#version 330 core
|
|
layout (location = 0) in vec4 vertex;
|
|
|
|
out vec2 TexCoords;
|
|
|
|
uniform bool chaos;
|
|
uniform bool confuse;
|
|
uniform bool shake;
|
|
uniform float time;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = vec4(vertex.xy, 0.0, 1.0);
|
|
vec2 texture = vertex.zw;
|
|
if( chaos)
|
|
{
|
|
float strength = 0.3;
|
|
vec2 pos = vec2(texture.x + sin(time) * strength, texture.y + cos(time) * strength);
|
|
TexCoords = pos;
|
|
}
|
|
else if (confuse)
|
|
{
|
|
TexCoords = vec2(1.0 - texture.x, 1.0 - texture.y);
|
|
}
|
|
else
|
|
{
|
|
TexCoords = texture;
|
|
}
|
|
|
|
if(shake)
|
|
{
|
|
float strength = 0.01;
|
|
gl_Position.x += cos(time * 10) * strength;
|
|
gl_Position.y += cos(time * 15) * strength;
|
|
}
|
|
} |