raisin::IrradianceVolume
struct · #include <rayrai/SceneEffects.hpp>
Oriented box that adds a constant diffuse irradiance to PBR surfaces inside it.
Used as a cheap local fill/bounce light: surfaces inside the box receive color*strength* albedo * ao / pi of extra diffuse lighting. Values are sanitized by RayraiWindow::addIrradianceVolume() (ranges noted per field).
Public attributes
center
cpp
glm::vec3 centerWorld-space box center, metres.
halfExtents
cpp
glm::vec3 halfExtentsBox half-size per local axis, metres (abs, >= 0.001).
orientation
cpp
glm::mat3 orientationBox rotation (columns = local axes); re-orthonormalized on add.
color
cpp
glm::vec3 colorLinear RGB irradiance color, [0, 8].
strength
cpp
float strengthIrradiance multiplier, [0, 8].
edgeFade
cpp
float edgeFadeFade-in distance from the box faces in normalized local units, [0.001, 1].
normalBias
cpp
float normalBias0 = uniform; 1 = weight by how much the surface normal faces world +Z, [0, 1].