Skip to content

ludus::graphics::renderer::ReferenceBsdf

Ludus Wiki · API overview · Browse API

Struct

RT1 RGB reflection input. Scattering selects legacy metallic/roughness, Lambertian diffuse or isotropic rough conductor with complex-IOR Fresnel. CoatedDiffuse is a rough dielectric layer over Lambertian reflection with absorption and zero medium scattering. Both typed rough models use Scattering alpha directly. Coatings require isotropy, alpha >= LUDUS_COATING_MIN_ALPHA, and IOR >= 1. Their internal depth is LUDUS_COATING_MAX_DEPTH; it does not consume scene bounces. Dielectric and ThinDielectric are smooth nonabsorbing interfaces with one real index (equal Eta channels, zero K, alpha below LUDUS_SMOOTH_INTERFACE_ALPHA): their reflection and transmission are directional deltas, sampled only. Rough transmission, scattering media, absorption inside dielectrics and spectral dispersion are absent.

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

#include <ludus/graphics/renderer/reference.hpp>
struct ludus::graphics::renderer::ReferenceBsdf final

Fields

BaseColor

ludus::foundation::math::Vector3 ludus::graphics::renderer::ReferenceBsdf::BaseColor {1, 1, 1}
Linear RGB reflectance, each channel in [0,1]; conductor evaluation uses Eta/K instead.

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

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

Metallic

ludus::foundation::float32 ludus::graphics::renderer::ReferenceBsdf::Metallic = 0
Metallic fraction in [0,1]. For DiffuseConductorMix, the weight and proposal probability of the rough conductor lobe. The legacy dielectric normal-incidence reflectance is 0.04.

Related types: ludus::foundation::float32

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

Roughness

ludus::foundation::float32 ludus::graphics::renderer::ReferenceBsdf::Roughness = 0.5F
Legacy perceptual roughness in [0.045,1]; typed conductor/coating alpha comes from Scattering.

Related types: ludus::foundation::float32

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

Scattering

content::scene_format::MaterialScattering ludus::graphics::renderer::ReferenceBsdf::Scattering {}
Typed optical parameters; default preserves the legacy metallic/roughness model.

Related types: content::scene_format::MaterialScattering

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

IsViewerInside

bool ludus::graphics::renderer::ReferenceBsdf::IsViewerInside = false
Dielectric only: the view direction lies inside the medium, behind the surface's oriented front side, so refraction uses the inverse relative index. Thin slabs ignore it.

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