Updated levels and added map selection logic
This commit is contained in:
19
core/resources/shaders/fisheye.gdshader
Normal file
19
core/resources/shaders/fisheye.gdshader
Normal file
@@ -0,0 +1,19 @@
|
||||
shader_type canvas_item;
|
||||
uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest;
|
||||
uniform float fisheye_strength = 1.0; // Control the fisheye effect strength
|
||||
vec2 fisheye(vec2 uv) {
|
||||
vec2 d = uv - 0.5;
|
||||
float r = length(d);
|
||||
float theta = atan(d.y, d.x);
|
||||
float rf = pow(r, fisheye_strength) / pow(0.5, fisheye_strength - 1.0);
|
||||
return vec2(0.5) + rf * normalize(d);
|
||||
}
|
||||
void fragment() {
|
||||
vec2 iResolution = 1.0 / SCREEN_PIXEL_SIZE;
|
||||
vec2 q = FRAGCOORD.xy / iResolution.xy;
|
||||
|
||||
// Apply fisheye distortion
|
||||
q = fisheye(q);
|
||||
vec3 col = texture(screen_texture, q).rgb;
|
||||
COLOR = vec4(col, 1.0);
|
||||
}
|
||||
Reference in New Issue
Block a user