Unit-density optical profile for participating media. 更多...
#include <FogProfile.h>
Public 成员函数 | |
| float | extinctionPerDensity () const noexcept |
| Extinction coefficient per unit density (σ_t), non-negative. | |
| const glm::vec3 & | albedo () const noexcept |
| Single-scattering albedo in [0,1]. | |
| float | ambientOcclusion () const noexcept |
| Ambient occlusion strength in [0,1]. | |
| float | ambientUp () const noexcept |
| Upward ambient visibility scale in [0,1]. | |
| float | ambientDown () const noexcept |
| Downward ambient visibility scale in [0,1]. | |
| float | anisotropy () const noexcept |
| Henyey–Greenstein anisotropy in [-0.99, 0.99]. | |
| Result< void > | configure (float extinctionPerDensity, const glm::vec3 &albedo, float ambientOcclusion, float ambientUp, float ambientDown, float anisotropy) |
| Atomically replace the optical profile. | |
| float | extinctionAt (float density) const noexcept |
| Extinction for a sampled density value. | |
| glm::vec3 | scatteringAt (float density) const noexcept |
| Scattering coefficient σ_s = albedo * σ_t. | |
| float | phase (float cosTheta) const noexcept |
| Dual-lobe Henyey–Greenstein phase evaluated for cosθ. | |
| glm::vec3 | ambientRadiance (const glm::vec3 &skyUp, const glm::vec3 &groundDown, float density) const noexcept |
| Ambient term using up/down visibility and AO. | |
详细描述
Unit-density optical profile for participating media.
Art layers must not write these fields; they only consume rendered results.
在文件 FogProfile.h 第 16 行定义.
成员函数说明
◆ albedo()
|
inlinenoexcept |
◆ ambientDown()
|
inlinenoexcept |
◆ ambientOcclusion()
|
inlinenoexcept |
◆ ambientRadiance()
|
noexcept |
Ambient term using up/down visibility and AO.
在文件 FogProfile.cpp 第 74 行定义.
◆ ambientUp()
|
inlinenoexcept |
◆ anisotropy()
|
inlinenoexcept |
Henyey–Greenstein anisotropy in [-0.99, 0.99].
在文件 FogProfile.h 第 29 行定义.
被这些函数引用 configure() , 以及 eve::graphics::fog::FogFroxelBridge::inject().
◆ configure()
| Result< void > eve::graphics::fog::FogProfile::configure | ( | float | extinctionPerDensity, |
| const glm::vec3 & | albedo, | ||
| float | ambientOcclusion, | ||
| float | ambientUp, | ||
| float | ambientDown, | ||
| float | anisotropy | ||
| ) |
Atomically replace the optical profile.
- 返回
- Ok, or Rejected when any argument is non-finite / out of range.
在文件 FogProfile.cpp 第 24 行定义.
引用了 albedo(), ambientDown(), ambientOcclusion(), ambientUp(), anisotropy(), eve::Diagnostic::error(), extinctionPerDensity(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 v.
◆ extinctionAt()
|
noexcept |
Extinction for a sampled density value.
在文件 FogProfile.cpp 第 59 行定义.
被这些函数引用 eve::graphics::fog::FogFroxelBridge::inject(), eve::graphics::fog::AnalyticalVolLight::integrate(), eve::graphics::fog::FogRayMarch::integrate() , 以及 eve::graphics::fog::BeerLightCache::rebuild().
◆ extinctionPerDensity()
|
inlinenoexcept |
Extinction coefficient per unit density (σ_t), non-negative.
在文件 FogProfile.h 第 19 行定义.
被这些函数引用 configure().
◆ phase()
|
noexcept |
Dual-lobe Henyey–Greenstein phase evaluated for cosθ.
- 参数
-
cosTheta Dot product of view and light directions in [-1,1].
在文件 FogProfile.cpp 第 67 行定义.
被这些函数引用 eve::graphics::fog::FogFroxelBridge::integrate(), eve::graphics::fog::AnalyticalVolLight::integrate() , 以及 eve::graphics::fog::FogRayMarch::integrate().
◆ scatteringAt()
|
noexcept |
Scattering coefficient σ_s = albedo * σ_t.
在文件 FogProfile.cpp 第 63 行定义.
被这些函数引用 eve::graphics::fog::FogFroxelBridge::inject(), eve::graphics::fog::AnalyticalVolLight::integrate() , 以及 eve::graphics::fog::FogRayMarch::integrate().
该类的文档由以下文件生成:
- src/modules/graphics/fog/FogProfile.h
- src/modules/graphics/fog/FogProfile.cpp