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;
}
Tags
acid, customizable, grid, grid-like, oscillate, psx, slider, snake, snake-like, trip, visuals, warp, warping
The shader code and all code snippets in this post are under MIT license and can be used freely. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

Related shaders

Perspective Warp/Skew Shader

Pink warp

Customizable Perlin Fog

guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments