载入中...
搜索中...
未找到
AnalyticalVolLight.cpp
浏览该文件的文档.
65Result<FogRayResult> AnalyticalVolLight::integrate(const AnalyticBeam& beam, const FogProfile& profile,
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
static std::optional< FogRayInterval > intersectBeam(const glm::vec3 &origin, const glm::vec3 &direction, const AnalyticBeam &beam)
Intersect a view ray with a capped beam; empty on miss.
Definition AnalyticalVolLight.cpp:13
Result< FogRayResult > integrate(const AnalyticBeam &beam, const FogProfile &profile, const glm::vec3 &origin, const glm::vec3 &direction, float sceneDepth, int segments, float mediumDensity) const
Integrate the beam contribution along a view ray.
Definition AnalyticalVolLight.cpp:65
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
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
Definition AnalyticalVolLight.cpp:11
@ InvalidArgument
Analytic beam volume: capped cone frustum or pyramidal spot.
Definition AnalyticalVolLight.h:16
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