Realtime volumetric rendering

I wrote my master’s thesis on realtime volumetric rendering.
It covers general computer graphics concepts related to transparency, the physics of participating mediums, and the implementation of some classic algorithms. It also presents an original volumetric rendering algorithm, implemented in an home made Vulkan application.

PDF document

The paper is written in French. Feel free to contact me if you’d like more information about it.

State of art

As a starting point, I implemented some classic rendering techniques such as analytic height or Henyey-Greenstein BRDF model. Those were implemented in Unity.

Analytic height fog. a : forward scattering, b : ambient contribution, c : both

Voxel based volumetric rendering, Henyey-Greenstein BRDF implementation:

Forward scattering

Backward scattering

Isotropic scattering

Volumetric billboards

The idea behind this was to combine 2D sprite based rendering of a particle system with “real” volumetric rendering of a 3D shape, to benefit from texture’s details and realistic lighting.

Volumetric billboards

Volumetric billboards, custom Vulkan application. Color shifting due to self shadowing.

A point light is placed behind the particle system

Particles are rendered as billboard, and don’t need to be sorted. Transmittance, closest and farthest distances are stored in a rendertargets. Those informations are used to raymarch the lighting, using very few steps.

Farthest and closest distances, cumulative transmittance, and final render.

Particles rasterized into a 3D volume grid

I also integrated a custom volumetric renderer for PopcornFX particle systems, into Unity. Particles are “3D-rasterized” using a compute shader into a frustum aligned grid. The grid is then raymarched for volume and/or surface.

Rendering the 3D grid.

Modern engines usually integrate similar techniques. The rasterization step scales linearly with particle count. The rendering step has a constant overheat for a fixed size 3D grid.

This gave surprisingly good results, visually and performance-wise.