26 lines
571 B
GLSL
26 lines
571 B
GLSL
#version 430
|
|
|
|
layout (binding = 0) uniform sampler2D sprite;
|
|
|
|
layout (location = 0) in vec4 color;
|
|
layout (location = 1) in vec2 uv;
|
|
|
|
layout (location = 0) out vec4 texel;
|
|
|
|
layout (binding = 0) uniform Effect {
|
|
float effect_magnitude;
|
|
};
|
|
|
|
void main() {
|
|
vec4 color1 = texture(sprite, uv) / 3.0;
|
|
vec4 color2 = texture(sprite, uv + 0.002 * effect_magnitude) / 3.0;
|
|
vec4 color3 = texture(sprite, uv - 0.002 * effect_magnitude) / 3.0;
|
|
|
|
color1 *= 2.0;
|
|
color2.g = 0.0;
|
|
color2.b = 0.0;
|
|
color3.r = 0.0;
|
|
|
|
texel = color * (color1 + color2 + color3);
|
|
}
|