载入中...
搜索中...
未找到
BeerLightCache.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
Result< void > rebuild(const FogDensityField &field, const FogProfile &profile, const glm::vec3 &lightDir, const glm::vec3 &lightColor, float intensity, int samplesPerCell=6)
Rebuild transmittance along the primary light for each density cell.
Definition BeerLightCache.cpp:27
bool matches(std::uint64_t densityRevision, const glm::vec3 &lightDir, float intensity) const noexcept
True when the cache matches the supplied state.
Definition BeerLightCache.cpp:18
void invalidate()
Mark cache stale (quality change, light cut, etc.).
Definition BeerLightCache.cpp:13
float sampleTransmittance(const FogDensityField &field, const glm::vec3 &world) const noexcept
Sample cached transmittance at a world position (1 = fully lit).
Definition BeerLightCache.cpp:85
World-space density bands, curl assist velocity, and lighting helpers.
Definition FogDensityField.h:21
Unit-density optical profile for participating media.
Definition FogProfile.h:16
float extinctionAt(float density) const noexcept
Extinction for a sampled density value.
Definition FogProfile.cpp:59
Definition AnalyticalVolLight.cpp:11
@ InvalidArgument
@ Failed
float intensity
Definition BeerLightCache.h:26
std::uint64_t densityRevision
Definition BeerLightCache.h:27
std::uint64_t version
Definition BeerLightCache.h:28
glm::vec3 direction
Definition BeerLightCache.h:24
Axis-aligned world bounds for a fog simulation domain.
Definition FogTypes.h:96