Blender V4.3
eevee_volume.hh File Reference
#include "BLI_set.hh"
#include "eevee_shader_shared.hh"

Go to the source code of this file.

Classes

class  blender::eevee::VolumeModule
 

Namespaces

namespace  blender
 
namespace  blender::eevee
 

Detailed Description

Volumetric effects rendering using Frostbite's Physically-based & Unified Volumetric Rendering approach. https://www.ea.com/frostbite/news/physically-based-unified-volumetric-rendering-in-frostbite

The rendering is separated in 4 stages:

  • Material Parameters : we collect volume properties of all participating media in the scene and store them in a 3D texture aligned with the 3D frustum. This is done in 2 passes, one that clear the texture and/or evaluate the world volumes, and the 2nd one that additively render object volumes.
  • Light Scattering : the volume properties then are sampled and light scattering is evaluated for each froxel of the volume texture. Temporal super-sampling (if enabled) occurs here.
  • Volume Integration : the scattered light and extinction is integrated (accumulated) along the view-rays. The result is stored for every froxel in another texture.
  • Full-screen Resolve : From the previous stage, we get two 3D textures that contains integrated scattered light and extinction for "every" positions in the frustum. We only need to sample them and blend the scene color with those factors. This also work for alpha blended materials.

Definition in file eevee_volume.hh.