Converting Shadertoy shader https://www.shadertoy.com/view/wlScRz

Godot Version

4.2.2

Question

I’m new to shaders in general, especially in Godot. Trying to convert or achieve this effect of warping an image:

Trying to warp an image exactly like this but with a transform strength of 1. Any help or link to a plugin that would do something similar would be appreciated.

There might be one like it in the asset store by checking Godot Asset Library, , or found here in this thread about a great series on shaders Godot 4 shaders - a list of video tutorials, or I would just make a new Shader and see what happens when you add some of what you see in the shadertoy page, and see about patching up the issues due to language or engine differences.

1 Like

the only problem with these shader toy is that they create their own noise from scratch, which imo a heavy task to do for godot shader.
you can simply create a FastNoiseLite, make a scroll of it with TIME and use the intensity of the texture to distort the image, it can be a screen_texture or TEXTURE

you should watch how to do that from this tutorial, though in godot 3, still gold:

they took inspiration from creating these noises distortion effect from

the takeaway is, when you start combining intensity of 2 noises or more, it will look great

if you want something that look similar to what you wanted to do and simpler, here’s the video for it:

he only used 1 noise here but already looks good

2 Likes

Thanks, I found a shader library in the assets library:

There is a Distort UV animation option I can use to do close to what I need. as long as it makes the image wavy. I used Allin1SpriteShader in Unity and it had this same type of effect.

1 Like