dragon_ember
Glowing ember mote (additive billboard) for the `dragon_breath` graph. `data0 = (life, seed, size, 0)`. Flickers, cools from yellow-orange to dull red and fades as it settles. Each mote is a camera-facing card (`zero_billboard`) drawn as a soft disc. The flicker is `0.55 + 0.45 *…
dragon_ember
Glowing ember mote (additive billboard) for the dragon_breath graph. data0 = (life, seed, size, 0). Flickers, cools from yellow-orange to dull red and fades as it settles. Each mote is a
camera-facing card (zero_billboard) drawn as a soft disc. The flicker is 0.55 + 0.45 * sin(time * rate + seed * 40) with a per-mote rate between 14 and 34 from the seed. The colour runs from (6.0, 2.4, 0.5) to (1.2, 0.12, 0.01) as heat 1 - 1.3 * life falls; the mote fades in over the first 5
percent of its life and out between 0.6 and 1. It returns the colour times its coverage, for
additive blending.
The dragon_breath graph (dragon/dragon_breath.procGraph) draws its embers output with it,
additive: embers shot out along the jet and kicked up where the flame hits the courtyard floor, on
cards that shrink from 1.0 to 0.6 of their size over life. In the Procgen Effects Showcase world, the fx_breath scene plays that graph.
All of its inputs arrive per particle on data0; properties.yaml holds properties: [].
The shader includes @builtin::shaderModules.billboard.
Lanes
| Lane | Carries |
|---|---|
data0.x | Life, 0 to 1: drives the fades and the cooling. |
data0.y | Seed: the flicker's rate and phase. |
data0.z | Particle size, written by the graph. |
data0.w | 0. |
Culling
vertexBoundsDilation (float, default 0.1): how far the vertex hook moves a
vertex past the mesh, in world units. The culling bounds grow by it, so a card turned to face the
camera stays inside them where it reaches past the mesh it was drawn from.
Scoped to this part · feeds back into the world's score.