Skip to content

ludus::graphics::renderer::BakedLighting

Ludus Wiki · API overview · Browse API

Struct

Metadata accompanying one baked irradiance chart; no runtime bake or chart packing.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

#include <ludus/graphics/renderer/lighting.hpp>
struct ludus::graphics::renderer::BakedLighting final

Fields

Texture

rhi::TextureHandle ludus::graphics::renderer::BakedLighting::Texture {}
Ready single-mip linear RGBA8 chart with replicated gutters; null declares environment fallback.

Related types: rhi::TextureHandle

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

Scale

ludus::foundation::math::Vector3 ludus::graphics::renderer::BakedLighting::Scale {1, 1, 1}
Linear irradiance multiplier in [0,10000]; texture stores normalized linear RGB.

Related types: ludus::foundation::math::Vector3

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

UvTransform

ludus::foundation::math::Vector4 ludus::graphics::renderer::BakedLighting::UvTransform {1, 1, 0, 0}
Bake UV scale XY and offset ZW, selecting at least two interior texel centers per axis. Bounds must leave a replicated gutter texel plus half a texel on every side (1e-6 UV rounding tolerance).

Related types: ludus::foundation::math::Vector4

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

AreTriangleChartsEnabled

bool ludus::graphics::renderer::BakedLighting::AreTriangleChartsEnabled = false
True selects independent guttered triangle charts from SceneFormat helpers, with power-of-two dimensions up to 4096, identity UvTransform and no mipmaps. False retains the legacy subrectangle transform admission. The producer must replicate each chart's gutter texels.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

HasStaticAreaDirect

bool ludus::graphics::renderer::BakedLighting::HasStaticAreaDirect = false
True declares static area direct diffuse in this chart; do not also submit raster area samples for its diffuse term. Analytic direct stays raster.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

SourceId

ludus::foundation::uint64 ludus::graphics::renderer::BakedLighting::SourceId = 0
Exact nonzero source identity and authoring revisions required for bake validity.

Related types: ludus::foundation::uint64

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

SceneRevision

ludus::foundation::uint64 ludus::graphics::renderer::BakedLighting::SceneRevision = 0
Scene bake revision; SceneItem must supply the same value.

Related types: ludus::foundation::uint64

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

DependencyRevision

ludus::foundation::uint64 ludus::graphics::renderer::BakedLighting::DependencyRevision = 0
Cook dependency revision/hash; SceneItem must supply the same value.

Related types: ludus::foundation::uint64

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

Transform

ludus::foundation::math::Affine3 ludus::graphics::renderer::BakedLighting::Transform {}
Exact local-to-world used by the bake; moved objects use environment fallback.

Related types: ludus::foundation::math::Affine3

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp

DirectLightId

ludus::foundation::uint64 ludus::graphics::renderer::BakedLighting::DirectLightId = 0
Optional baked direct-light identity; replace that light's diffuse term only for valid bakes. Zero replaces no analytic direct term; HasStaticAreaDirect separately declares area diffuse. One chart replaces at most one direct diffuse term; dynamic direct specular remains.

Related types: ludus::foundation::uint64

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/lighting.hpp