rk_haze
Heat shimmer. A large, transparent, camera-facing card (`zero_billboard`) that draws the scene behind it again through a small, drifting offset, so the air above the flame trench and around the plume visibly wobbles. Two value-noise fields, sampled from the card's world position…
rk_haze
Heat shimmer. A large, transparent, camera-facing card (zero_billboard) that draws the scene
behind it again through a small, drifting offset, so the air above the flame trench and around the
plume visibly wobbles. Two value-noise fields, sampled from the card's world position and rising
with time, give the offset; it is scaled by strength, by the lane's strength and by a soft round
mask, and read through zero_scene_color_refract. The scene colour holds the opaque scene only, so
the card is opaque only where bending that scene changes the picture: the difference between the
bent and the straight read, times edge_gain, sets the alpha. Over flat sky or ground the card is
invisible.
The rk_haze_mat material uses it with strength 16, in the transparent queue at 2600, with
culling off and depth writes off; its description states it is drawn before every other transparent
surface so it bends only the opaque scene. The launch graph (launch/launch.procGraph) draws its
hazeCards output with that material: shimmer cards born where the exhaust hits the ground and
trailing the climbing vehicle, their lane strength rising to 0.9 early in life and then fading out.
In the Procgen Effects Showcase world, the fx_launch scene plays the graph.
The shader includes @builtin::shaderModules.billboard and zero::scene_color.
Properties
| Property | Type | Default | Meaning |
|---|---|---|---|
strength | float | 38.0 | Scale of the refraction offset (minimum 0). |
edge_gain | float | 6.0 | Multiplies the colour change the bend causes to give the card's alpha (minimum 0). |
vertexBoundsDilation | float | 22 | How far the vertex hook moves a vertex past the mesh, in world units: the culling bounds grow by it so a moved vertex stays inside them. |
Lanes
| Lane | Carries |
|---|---|
data0.a | Strength 0 to 1, walked along the particle's life. |
data1.y | Per-particle random value: offsets the noise. |
Scoped to this part · feeds back into the world's score.