Skip to content

ludus::graphics::renderer::ReferenceBsdfSample

Ludus Wiki · API overview · Browse API

Struct

One continuation proposal. Below-surface GGX proposals are explicit null events; their probability mass is retained instead of retrying/renormalizing the sampler. Dielectric proposals are specular: see IsSpecular.

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

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

Fields

Direction

ludus::foundation::math::Vector3 ludus::graphics::renderer::ReferenceBsdfSample::Direction {}
Unit outgoing world direction when Accepted, otherwise zero.

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

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

Evaluation

ReferenceBsdfEvaluation ludus::graphics::renderer::ReferenceBsdfSample::Evaluation {}
Evaluation/density when Accepted. A coating may return a proportional internal-path representation; see HasProportionalPdf.

Related types: ReferenceBsdfEvaluation

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

Accepted

bool ludus::graphics::renderer::ReferenceBsdfSample::Accepted = false
False is an ordinary zero-contribution sample, distinct from invalid input.

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

Weight

foundation::math::Vector3 ludus::graphics::renderer::ReferenceBsdfSample::Weight {}
Complete continuation throughput multiplier, including the outgoing cosine. Layered samples use their internal-path weight, independently of the MIS density.

Related types: foundation::math::Vector3

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

MisPdf

foundation::float32 ludus::graphics::renderer::ReferenceBsdfSample::MisPdf = 0
Directional density estimate used for external light/BSDF MIS, in inverse steradians.

Related types: foundation::float32

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

HasProportionalPdf

bool ludus::graphics::renderer::ReferenceBsdfSample::HasProportionalPdf = false
True when Evaluation is a proportional path representation: its f*cos/pdf ratio remains valid, but Evaluation.Pdf must not be used for external MIS.

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

IsSpecular

bool ludus::graphics::renderer::ReferenceBsdfSample::IsSpecular = false
True for a directional delta lobe (dielectric reflection or transmission). Evaluation and MisPdf are zero, Weight is the complete throughput multiplier, Direction may lie below the surface (transmission), and no light sample can reach this lobe, so emission found along Direction takes full weight instead of a MIS weight.

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