All guides

Dissolve Shader Edge Width

Dissolve progress and the burning edge use different masks. Noise below the threshold disappears. A narrow band just above it remains visible and is tinted as the hot edge. Tinting the whole surviving region produces a color change rather than a burning boundary.

Fix the problem and environment

Dissolve progress and the burning edge use different masks. Noise below the threshold disappears. A narrow band just above it remains visible and is tinted as the hot edge. Tinting the whole surviving region produces a color change rather than a burning boundary.

The controlling code

float n=fbm(uv*9.0);
float keep=step(progress,n);
float edge=keep*(1.0-smoothstep(progress,progress+edgeWidth,n));
vec3 color=background*(1.0-keep)+original*keep+fireColor*edge;

Verify in order

Display keep alone, then edge alone to verify a narrow band, and finally compose color. Freeze the noise seed while changing threshold so the boundary is comparable.

Scope and common mistakes

Noise may not reach exactly zero and one. Handle progress endpoints explicitly or remap using its actual range when complete appearance/disappearance is required.

Continue experimenting

Reference

Official documentation

Run the related examples