Customizable Warp Shader (4.4)
Two different types of motion depending on which checkmark you select — Snake motion and Oscillating motion. it kinda look… warpey
You can also change both warp strength and warp speed with a nice and easy slider. Using low values (like 0.1 strength, 0.05 speed) can create some cool subtle motion — what I originally created this shader for.
Both can’t be active at the same time.
A shader that I think would work well with a PSX shader – perhaps I will merge one later.
Kind of hard to do demonstrate its visual without video, screenshots just don’t really cut it, have a look at the yt video
Shader code
shader_type spatial;
render_mode blend_mix,
cull_disabled,
depth_prepass_alpha,
shadows_disabled,
specular_disabled,
vertex_lighting;
uniform float warp_strength : hint_range(0.0, 1.0) = 0.0; // Warp intensity
uniform float warp_speed : hint_range(0.0, 10.0) = 1.0; // Speed of warping
uniform sampler2D albedo : source_color, filter_nearest;
uniform float alpha_scissor : hint_range(0, 1) = 0.5;
void fragment()
{
vec2 uv = UV;
// Add sine-based oscillation to the UV coordinates for smooth warping
uv.x += sin(TIME * warp_speed + uv.y * 10.0) * warp_strength;
uv.y += cos(TIME * warp_speed + uv.x * 10.0) * warp_strength;
// Sample the texture using the modified UVs
vec4 texture_color = texture(albedo, uv);
// Apply the texture color to the fragment
ALBEDO = texture_color.rgb;
ALPHA = texture_color.a;
ALPHA_SCISSOR_THRESHOLD = alpha_scissor;
}



