Skip to content

ludus::content::scene_format::MaterialScattering

Ludus Wiki · API overview · Browse API

Struct

Source material parameters, shared by tools and runtime without renderer dependencies. AlphaU/V are the resolved GGX distribution widths, not perceptual roughness. Reference conductors and coatings currently admit isotropic alpha only. The coating reference profile models absorption without medium scattering; omitted source coating controls resolve to the shared PBRT default policy constants. Dielectrics store their real index in every Eta channel with zero K; reference evaluators admit equal channels and smooth interfaces (alpha below LUDUS_SMOOTH_INTERFACE_ALPHA). Evaluators without transmission shade a dielectric through the record's legacy metallic/roughness fields instead.

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

#include <ludus/content/scene_format/material.h>
struct ludus::content::scene_format::MaterialScattering final

Fields

Model

MaterialModel ludus::content::scene_format::MaterialScattering::Model = MaterialModel::MetallicRoughness
Evaluation model.

Related types: MaterialModel

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

Eta

foundation::StaticArray<foundation::float32, MATERIAL_RGB_CHANNELS> ludus::content::scene_format::MaterialScattering::Eta {
        {1, 1, 1}}
Positive complex-IOR real part, or three project BRDF lobe weights.

Related types: MATERIAL_RGB_CHANNELS · foundation::StaticArray · foundation::float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

K

foundation::StaticArray<foundation::float32, MATERIAL_RGB_CHANNELS> ludus::content::scene_format::MaterialScattering::K {}
Complex-IOR imaginary part, or three project BRDF powers.

Related types: MATERIAL_RGB_CHANNELS · foundation::StaticArray · foundation::float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

AlphaU

foundation::float32 ludus::content::scene_format::MaterialScattering::AlphaU = 1
GGX alpha along the tangent; [MIN_MATERIAL_ALPHA,1].

Related types: foundation::float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

AlphaV

foundation::float32 ludus::content::scene_format::MaterialScattering::AlphaV = 1
GGX alpha along the bitangent; same domain.

Related types: foundation::float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

CoatingEta

foundation::float32 ludus::content::scene_format::MaterialScattering::CoatingEta = DEFAULT_COATING_ETA
Dielectric coating index of refraction.

Related types: foundation::float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h

CoatingThickness

foundation::float32 ludus::content::scene_format::MaterialScattering::CoatingThickness =
DEFAULT_COATING_THICKNESS
Optical thickness, or project BRDF guarantee (0 or 1).

Related types: foundation::float32

Declared in modules/content/scene_format/include/ludus/content/scene_format/material.h