The shader code and all code snippets in this post are under CC0 license and can be used freely without the author's permission. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.
Anything that will cover the whole screen, so usually a ColorRect for example. This is because the shader in a screen shader, meaning it will use SCREEN_TEXTURE and SCREEN_UV
how to do the same to a vec4 (like a shape made with code) instead of a texture?
Whitehatcat
1 year ago
For anyone getting an error in Godot 4, add this line above the fragment function to get it working: uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
Alternatively, just swap SCREEN_TEXTURE and SCREEN_UV for TEXTURE and UV, respectively (I think, I could be wrong, feel free to correct me and explain why)
What do I apply it to?
Anything that will cover the whole screen, so usually a ColorRect for example. This is because the shader in a screen shader, meaning it will use SCREEN_TEXTURE and SCREEN_UV
It should be “textureLod” instead of “texture” I believe.
“texture” also works for me.
how to do the same to a vec4 (like a shape made with code) instead of a texture?
For anyone getting an error in Godot 4, add this line above the fragment function to get it working: uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
Alternatively, just swap SCREEN_TEXTURE and SCREEN_UV for TEXTURE and UV, respectively (I think, I could be wrong, feel free to correct me and explain why)
Edit: Ok yeah, I was wrong, disregard 😁