|
| Result< void > | resize (int width, int height, int depth, const FogWorldBounds &bounds) |
| | Allocate a regular lattice over world bounds.
|
| |
| int | width () const noexcept |
| |
| int | height () const noexcept |
| |
| int | depth () const noexcept |
| |
| const FogWorldBounds & | bounds () const noexcept |
| |
| glm::vec3 | cellSize () const noexcept |
| |
| std::uint64_t | revision () const noexcept |
| |
| void | clear () |
| | Clear density / curl / light-assist bands and bump revision.
|
| |
| void | setDensity (int x, int y, int z, float density) |
| | Write cell-centered density; indices are clamped.
|
| |
| float | densityAt (int x, int y, int z) const noexcept |
| | Density at.
|
| |
| void | setCurlVelocity (int x, int y, int z, const glm::vec3 &velocity) |
| | Write curl-assist velocity (m/s) at a cell center.
|
| |
| glm::vec3 | curlVelocityAt (int x, int y, int z) const noexcept |
| | Curl velocity at.
|
| |
| void | setLightAssist (int x, int y, int z, const glm::vec3 &assist) |
| | Accumulated lighting assist (pre-multiplied irradiance hint).
|
| |
| glm::vec3 | lightAssistAt (int x, int y, int z) const noexcept |
| | Light assist at.
|
| |
| float | sampleDensity (const glm::vec3 &world) const noexcept |
| | Trilinear world-space density sample.
|
| |
| glm::vec3 | sampleCurlVelocity (const glm::vec3 &world) const noexcept |
| | Trilinear world-space curl velocity sample.
|
| |
| glm::vec3 | sampleLightAssist (const glm::vec3 &world) const noexcept |
| | Trilinear world-space light-assist sample.
|
| |
| Result< void > | seedHeightBand (float baseDensity, float baseHeight, float falloff, float curlScale, std::uint32_t seed) |
| | Seed a height-banded density layer with optional curl noise.
|
| |
| bool | isOccupied (int x, int y, int z, float threshold=1e-4f) const noexcept |
| | Occupancy bit: true when density exceeds the threshold.
|
| |
| std::span< float > | densitySpan () noexcept |
| | Borrow density storage for MAC coupling (same resolution).
|
| |
| std::span< const float > | densitySpan () const noexcept |
| |
World-space density bands, curl assist velocity, and lighting helpers.
Sampling is always in world units so fog does not crawl with screen UVs.
在文件 FogDensityField.h 第 21 行定义.
| Result< void > eve::graphics::fog::FogDensityField::seedHeightBand |
( |
float |
baseDensity, |
|
|
float |
baseHeight, |
|
|
float |
falloff, |
|
|
float |
curlScale, |
|
|
std::uint32_t |
seed |
|
) |
| |
Seed a height-banded density layer with optional curl noise.
- 参数
-
| baseDensity | Peak density at baseHeight. |
| baseHeight | World Y of the densest band. |
| falloff | Exponential falloff per meter. |
| curlScale | Curl velocity amplitude in m/s. |
| seed | Deterministic noise seed. |
在文件 FogDensityField.cpp 第 172 行定义.
引用了 a, b, d, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), h, eve::InvalidArgument, n, p, seed, setCurlVelocity(), setDensity(), eve::Result< T >::success(), x, y , 以及 z.
被这些函数引用 eve::graphics::fog::FogSystem::seedHeightFog().