rift_core
The mouth of an arcane rift on a flat ground plane: a jagged, breathing, lens-shaped tear with a white-hot rim, a parallax churning abyss inside, and a halo of light on the ground. It uses a premultiplied blend: the abyss covers the ground (alpha 1) and the halo only adds light (…
rift_core
The mouth of an arcane rift on a flat ground plane: a jagged, breathing, lens-shaped tear with a white-hot rim, a parallax churning abyss inside, and a halo of light on the ground. It uses a premultiplied blend: the abyss covers the ground (alpha 1) and the halo only adds light (alpha 0).
The plane's UV is mapped to metres through plane_size_x and plane_size_z. The tear's outline is
a lens half_length long and half_width wide each side of its centre line, fullest in the middle
and pinched at the tips, with a jagged edge from rift_noise fBm that differs on each lip and
grinds slowly with time, and a slow breathing of its width. Inside, the abyss is three layers of
swirling, twisted noise seen at depths 0.25, 0.9 and 2.2 below the surface along the view ray, so it
reads as a shaft going down; the layers mix deep_color and mid_color and carry thin hot_color
filaments, with a darker core along the centre line. The rim is a flickering white-hot lip over a
hot_color sheath, and outside it a mid_color halo with licking tongues of light spreads over the
ground. The whole result fades out toward the plane's edges and is scaled by gain.
The arcane_rift graph (rift/arcane_rift.procGraph) draws its mouth output with it through
coreMat (premultiplied, culling off, depth writes off) on a 7 by 4 plane lifted 0.015 above the
ground, with gain wired to the graph's intensity input. In the Procgen Effects Showcase world, the fx_rift scene plays the graph.
The shader includes rift_noise with #include "rift_noise".
Properties
| Property | Type | Default | Meaning |
|---|---|---|---|
gain | float | 1.0 | Multiplies the output colour (range 0 to 20). |
half_length | float | 2.1 | Half-length of the tear along X, in metres of the plane. |
half_width | float | 0.62 | Half-width of the tear at its fullest. |
plane_size_x | float | 7.0 | Size of the plane along X, mapping UV to metres. |
plane_size_z | float | 4.0 | Size of the plane along Z, mapping UV to metres. |
deep_color | color | [0.02, 0.0, 0.08, 1] | Darkest colour of the abyss. |
mid_color | color | [0.5, 0.09, 1.5, 1] | Swirl colour of the abyss, tint of the rim and colour of the ground halo. |
hot_color | color | [1.2, 1.6, 4.0, 1] | Colour of the abyss filaments and the rim's sheath. |
Scoped to this part · feeds back into the world's score.