Capstone: a living fire
Combine everything — noise, fBm, color and time — into one rich, animated effect.
This is where it all comes together. Every real shader effect — fire, smoke, water, magic, clouds — is a handful of the pieces you have learned, layered: coordinates shape it, fBm gives it organic detail, mix() colors it, and u_time makes it live. The one new trick that ties them into something that looks alive is DOMAIN WARPING.
Domain warping is a simple, powerful idea: before you sample your noise, distort the coordinate you feed it — with more noise. Instead of fbm(st), you compute fbm(st + fbm(st)). The space itself bends and swirls, and a flat cloud turns into rolling smoke or curling flame. It is the single most-used technique in shader art, and it is one line.
That is a complete, game-ready effect built entirely from this course: a hash, value noise, fBm, a domain warp, a mix() color ramp, and u_time. Nothing here is beyond what you have already done — it is those pieces, stacked.
Domain warping means: