Project Presentation Project history Authors Medias & Press
Features Realistic rendering Physics engine
Works Public Steam version Réunion volcano museum Eruption in virtual reality Commerson eruption
Gallery Images Videos
Contact Contact us

01
Lighting

Environment lighting

The scene is lit by several contributions at once: n-point light sources, a cubemap environment probe and direct sunlight. Ambient light therefore carries the colour of the sky and of the surrounding rock, rather than the flat grey a single directional light gives you.

It matters more here than on most terrain. Fresh basalt reflects only a few percent of the light that hits it, so almost everything you can read on a lava field — the ropes on a pahoehoe surface, the edge of a levee — comes from indirect light and from grazing sun. Get the ambient term wrong and the ground turns into a black silhouette.

Below, the Dolomieu crater — filled by the lava simulation itself — sits under a skybox built from photographs shot on site.

  • N-point dynamic light sources
  • Cubemap image-based ambient
  • Sun position per hour of the day
  • HDR linear-space pipeline
Dolomieu crater lit by skybox, environment lights and sunlight
Dolomieu crater — skybox, environment lights and sunlight combined. Click to enlarge.
02
Shadows

Dynamic soft shadows

Every object casts a dynamic soft shadow, from a lapillus the size of a fist to a caldera wall two kilometres across. Atmospheric shadowing is handled as well, so distant relief darkens the haze in front of it.

Shadows are what let the eye read depth and scale on ground that is otherwise almost uniformly black — without them, volcanic terrain flattens into a texture. Since the 2023 rebuild, ray tracing sharpens the contact shadows on cards that support it, which is where the difference shows most: right at the foot of a block.

Volcanic rocks casting soft shadows
Soft shadows — rocks
Rivals crater with large projected shadows
Projected shadows — Rivals crater

The same shadow solution at two scales: a few centimetres, and a few hundred metres.

03
Geometry

Dynamic tessellation

Tessellation is the stage of the pipeline where the GPU subdivides incoming patches into finer primitives. The control shader sets a subdivision factor per patch edge from two things at once — distance to the camera and local curvature — so density rises as you approach the ground and is always higher along ridges and flow fronts, where the silhouette actually needs the triangles.

Because the terrain is a live simulation buffer rather than a fixed mesh, the evaluation shader samples the current height field every frame: the tessellation rebuilds itself as the lava reshapes the ground under it. That has been in the engine since the first version in 2014 — it is what made the whole idea viable on the hardware of the day.

Ground tessellation, shaded view Ground tessellation, wireframe view Shaded Wireframe hover to reveal the wireframe

Adaptive ground tessellation — move the cursor over the image (or tap it) to fade to the underlying triangles.

04
Detail maps

Ground detail

Detail height maps are combined with tessellation to add real geometry — not a normal-map illusion — down to the scale of a single block of a’a lava.

In the frame below the camera sits one metre above the surface. Triangle density is extreme, and every crevice you see is displaced geometry that shadows and occludes correctly. It is also the honest test of the whole approach: a normal map falls apart at grazing angles, displaced geometry does not.

Ground detail, shaded view Ground detail, wireframe view Shaded Wireframe hover to reveal the wireframe

Camera one metre above ground — move the cursor over the image to fade to its tessellated cage.

05
Precision

Infinite zoom

Continuous zoom from kilometres of altitude down to ground level, with no loss of depth precision, no LOD popping and no fog cut-out at the transition.

On Réunion the range you need is unusual: the summit of the Piton de la Fournaise stands at 2 632 m, and the flows that leave the Enclos Fouqué run all the way down to the sea at the Grand Brûlé. Being able to follow one flow across that whole drop, without a cut, is half of what makes the simulation readable.

The four frames below are consecutive steps of a single uninterrupted descent onto the Rivals crater.

Rivals crater seen from altitude
1 — Aerial
Rivals crater, closer
2 — Approach
Rivals crater, close range
3 — Close
Rivals crater at ground level
4 — Ground

Four steps of one continuous zoom onto the Rivals crater — each yellow frame is what the next image shows.

06
Atmosphere

Volumetric fog,
light shafts & flares

Volumetric fog and cloud layers, with independent control over atmosphere colour and density. On this volcano that is not decoration: the Enclos Fouqué makes its own weather. Cloud rolls up the eastern flank most afternoons and fills the caldera in minutes, and hikers who set out at dawn from the Pas de Bellecombe are often walking back through a whiteout by ten. The haze is most of what tells you how far away the far wall is.

Bright sources add light shafts — crepuscular rays and atmospheric shadows — and lens flares, both computed as image-space post-process passes on the HDR buffer, before tone mapping.

Dawn haze over the caldera
Dawn haze
Storm clouds over the volcanic plain
Storm layer
07
Time of day

Day to night

The time of day can be changed at any moment, in any scene, and every lighting parameter can be tuned per hour — sun colour and elevation, sky gradient, fog tint, exposure, bloom threshold.

The same eruption reads completely differently once the sun is gone ! By day the flow is a dark scar on grey rock and you follow it by its texture ; by night, apart from the Moon, it is the only light source in the frame.

Eruption seen by day The same eruption seen by night Day Night hover to switch to night

Same camera, same eruption, two times of day. Only the lighting solution changed.

08
Emission

Material emission lighting

Lava has an emissive material that lights its surroundings in real time, and so are airborne projections. Radiance is driven by the temperature field coming out of the physics engine, following the same blackbody-like curve that makes a fresh basaltic flow at roughly 1 140 °C read yellow-white in the middle and deep red at the edges.

It falls out of that for free : a crust cooling from 1'100 °C to 800 °C loses most of its visible output, so the flow dims on its own and takes the light on the surrounding rock down with it.

This is the single feature that decides whether a night eruption looks real.

In-game lava lighting its surroundings at night
In-game
Real night photograph of pahoehoe lava
Real photograph
°C
Post-process

Heat distortion

Radiation and convection heat the air directly above a flow, creating a steep gradient : from around 1'100 °C at the surface to ambient a couple of meters up. Air density drops as temperature rises, shifting the refractive index so that light crossing that gradient bends. Everything seen through it shimmers.

The renderer reproduces this with a 2.5D screen-space refraction pass driven by the particles carrying heat from the temperature buffer, so the shimmer is strongest exactly where the lava and air are hottest, and fades away as the wind blows and the crust cools !

Air shimmering above an active flow. Move the cursor over the frame to play it.

10
Comparison

In-game vs
real photographs

A set of locations on Réunion Island, photographed on site and then rebuilt inside the engine from the same data ! ground textures, height maps and skyboxes are all derived from those photographs, then re-lit and re-tessellated in real time.

The island is a good place to try this. Its landscapes have been a UNESCO World Heritage site since 2010, and the Enclos Fouqué is one of the few calderas on Earth where you can walk up to an active flow.

Rows below puts the render and the photograph side by side, at the same size and the same framing. No retouching on either side !

In-game sunset view of the Dolomieu crater
In-game — sunset, Dolomieu
Real photograph of the sunset over Dolomieu
Real photograph
In-game view of the crater near Rosemont
In-game — Rosemont crater
Real photograph of the crater near Rosemont
Real photograph
In-game aerial view of the Rivals crater
In-game — Rivals, aerial
Real aerial photograph of the Rivals crater
Real photograph, from a plane
Next

None of this matters
if the lava doesn’t move

The renderer only draws what the physics engine computes. See how the lava actually flows, cools, crusts over and builds the ground it runs on.