载入中...
搜索中...
未找到
FogRayMarch.cpp
浏览该文件的文档.
26[[nodiscard]] std::optional<FogRayInterval> intersectRayAabb(const glm::vec3& o, const glm::vec3& d,
88 const glm::vec3& groundAmbient, int sampleCount, float sceneDepth, const BeerLightCache* beerCache,
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
Cached light-path transmittance used by Fast / Enhanced quality tiers.
Definition BeerLightCache.h:20
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
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
glm::vec3 scatteringAt(float density) const noexcept
Scattering coefficient σ_s = albedo * σ_t.
Definition FogProfile.cpp:63
static std::optional< FogRayInterval > intersectBound(const glm::vec3 &origin, const glm::vec3 &direction, const FogVolumeBound &bound)
Intersect a ray with a volume bound; returns empty when misses.
Definition FogRayMarch.cpp:40
Result< FogRayResult > integrate(const FogDensityField &field, const FogProfile &profile, const glm::vec3 &origin, const glm::vec3 &direction, const FogVolumeBound &bound, const glm::vec3 &lightDir, const glm::vec3 &lightColor, float lightIntensity, const glm::vec3 &skyAmbient, const glm::vec3 &groundAmbient, int sampleCount, float sceneDepth, const BeerLightCache *beerCache, bool useAnalyticSegments) const
Integrate one view ray through the density field.
Definition FogRayMarch.cpp:84
Definition AnalyticalVolLight.cpp:11
@ InvalidArgument
Interval along a ray where media is present (t in world units).
Definition FogTypes.h:112
Optical result of integrating one view ray through fog.
Definition FogTypes.h:122
Analytic volume used to bound a camera ray before sampling.
Definition FogRayMarch.h:17
glm::vec3 obbHalfExtents
Definition FogRayMarch.h:26