3D burn dissolve

A dissolve shader with a burn effect for 3D models. Add a SimplexNoise to Dissolve Texture

This shader comes from GD Quest’s library of free shaders.

Shader code
shader_type spatial;
render_mode depth_draw_alpha_prepass, cull_disabled;

uniform vec4 albedo : hint_color;
uniform sampler2D texture_albedo : hint_albedo;

uniform vec4 emission_color : hint_color = vec4(1);
uniform float emission_amount;

uniform sampler2D dissolve_texture;
uniform float burn_size : hint_range(0,2);
uniform float dissolve_amount : hint_range(0,1);

void fragment() {
	vec4 albedo_tex = texture(texture_albedo,UV);
	ALBEDO = albedo.rgb * albedo_tex.rgb;
	float sample = texture(dissolve_texture, UV).r;
	float emission_value = 1.0 - smoothstep(dissolve_amount, dissolve_amount + burn_size, sample);
	EMISSION = vec3(emission_value * emission_amount * emission_color.rgb);
	ALPHA = smoothstep(dissolve_amount - burn_size, dissolve_amount, sample);
burn, dissolve
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.

More from hancan

2D outline stroke

Waving flag

Related shaders

Pixel-burn Shader

Depth Buffer Object Edge Dissolve

3D Vertical dissolve


Inline Feedbacks
View all comments