载入中...
搜索中...
未找到
FogProfile.cpp
浏览该文件的文档.
Stable, structured diagnostics shared by engine modules.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
float ambientOcclusion() const noexcept
Ambient occlusion strength in [0,1].
Definition FogProfile.h:23
float extinctionAt(float density) const noexcept
Extinction for a sampled density value.
Definition FogProfile.cpp:59
float extinctionPerDensity() const noexcept
Extinction coefficient per unit density (σ_t), non-negative.
Definition FogProfile.h:19
float anisotropy() const noexcept
Henyey–Greenstein anisotropy in [-0.99, 0.99].
Definition FogProfile.h:29
Result< void > configure(float extinctionPerDensity, const glm::vec3 &albedo, float ambientOcclusion, float ambientUp, float ambientDown, float anisotropy)
Atomically replace the optical profile.
Definition FogProfile.cpp:24
glm::vec3 ambientRadiance(const glm::vec3 &skyUp, const glm::vec3 &groundDown, float density) const noexcept
Ambient term using up/down visibility and AO.
Definition FogProfile.cpp:74
float phase(float cosTheta) const noexcept
Dual-lobe Henyey–Greenstein phase evaluated for cosθ.
Definition FogProfile.cpp:67
float ambientDown() const noexcept
Downward ambient visibility scale in [0,1].
Definition FogProfile.h:27
glm::vec3 scatteringAt(float density) const noexcept
Scattering coefficient σ_s = albedo * σ_t.
Definition FogProfile.cpp:63
const glm::vec3 & albedo() const noexcept
Single-scattering albedo in [0,1].
Definition FogProfile.h:21
Definition AnalyticalVolLight.cpp:11
@ InvalidArgument