31 lines
526 B
GLSL
31 lines
526 B
GLSL
#version 450
|
|
|
|
layout(location = 0) in vec2 v_uv;
|
|
layout(location = 0) out vec4 out_color;
|
|
layout(set = 2, binding = 0) uniform sampler2D sprites;
|
|
|
|
layout(std140, set = 3, binding = 0) uniform UniformBlock {
|
|
vec2 cam_pos;
|
|
float time;
|
|
float aspect;
|
|
int post_mode;
|
|
float zoom;
|
|
float radius;
|
|
};
|
|
|
|
void main() {
|
|
vec2 uv = 2.0 * v_uv - vec2(1.0);
|
|
uv.y *= -1.0;
|
|
uv.x *= aspect;
|
|
float l = length(uv);
|
|
if(l < radius) {
|
|
uv /= zoom;
|
|
}
|
|
|
|
vec4 bg = texture(sprites, uv + cam_pos * 0.01);
|
|
out_color = bg;
|
|
|
|
|
|
}
|
|
|