Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

Yeah it's a 2D shader. :)

It's base is a seamless noise texture. The colour of the noise is sampled by a gradient texture, but the sampling coordinates is offset with time to make it look alive. I'll share the shader code later.


Edit:

shader_type canvas_item;
uniform sampler2D noise;
uniform sampler2D color_ramp; uniform vec2 offset; varying vec2 UV2; void vertex() {
UV2 = VERTEX / 800.0;
} void fragment() {
float color_off = sin(TIME + FRAGCOORD.x / 50.0);
COLOR = texture(color_ramp, texture(noise, UV2 + offset).rr - color_off*0.015);

COLOR.rgb *= mix(1.0 - length(UV - 0.5) * 2.0, 1.0, 0.7);
}