Analytic volumetric light: ray ∩ capped frustum, depth-clipped short integral. 更多...
#include <AnalyticalVolLight.h>
Public 成员函数 | |
| 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. | |
静态 Public 成员函数 | |
| 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. | |
详细描述
Analytic volumetric light: ray ∩ capped frustum, depth-clipped short integral.
Segment counts of 2 / 4 / 8 map to Fast / Enhanced / PhysicalReference budgets.
在文件 AnalyticalVolLight.h 第 36 行定义.
成员函数说明
◆ integrate()
| Result< FogRayResult > eve::graphics::fog::AnalyticalVolLight::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.
- 参数
-
sceneDepth Scene hit distance; <=0 means no opaque occluder. segments 2, 4, or 8 short integral segments. mediumDensity Approximate homogeneous density inside the beam.
在文件 AnalyticalVolLight.cpp 第 65 行定义.
引用了 eve::graphics::fog::AnalyticBeam::apex, center, eve::graphics::fog::AnalyticBeam::color, dir, eve::graphics::fog::AnalyticBeam::direction, direction, eve::Diagnostic::error(), eve::graphics::fog::FogProfile::extinctionAt(), eve::Result< T >::failure(), eve::graphics::fog::AnalyticBeam::farDistance, eve::graphics::fog::AnalyticBeam::farRadius, eve::graphics::fog::FogRayResult::inScatter, eve::graphics::fog::AnalyticBeam::intensity, intersectBeam(), eve::InvalidArgument, mask, eve::graphics::fog::AnalyticBeam::nearDistance, eve::graphics::fog::AnalyticBeam::nearRadius, eve::graphics::fog::FogRayResult::opticalDepth, origin, p, eve::graphics::fog::FogProfile::phase(), phase, radius, eve::graphics::fog::FogRayResult::samplesUsed, eve::graphics::fog::FogProfile::scatteringAt(), eve::Result< T >::success(), t, eve::graphics::fog::FogRayResult::transmittance , 以及 u.
◆ intersectBeam()
|
static |
Intersect a view ray with a capped beam; empty on miss.
在文件 AnalyticalVolLight.cpp 第 13 行定义.
引用了 eve::graphics::fog::AnalyticBeam::apex, b, c, center, d, eve::graphics::fog::AnalyticBeam::direction, direction, eve::graphics::fog::AnalyticBeam::farDistance, eve::graphics::fog::AnalyticBeam::farRadius, eve::graphics::fog::AnalyticBeam::nearDistance, eve::graphics::fog::AnalyticBeam::nearRadius, origin, p, radius, s, t , 以及 u.
被这些函数引用 integrate().
该类的文档由以下文件生成:
- src/modules/graphics/fog/AnalyticalVolLight.h
- src/modules/graphics/fog/AnalyticalVolLight.cpp