载入中...
搜索中...
未找到
eve::graphics::fog::SceneWind类 参考

World-space wind provider for MAC fog transport. 更多...

#include <SceneWind.h>

Public 成员函数

Result< void > setMainWind (const glm::vec3 &metersPerSecond)
 Target main wind in m/s (world space).
 
Result< void > setCurlStrength (float metersPerSecond)
 Target curl amplitude in m/s.
 
Result< void > setCurlFrequency (float frequency)
 Curl field spatial frequency (1/m).
 
Result< void > setCurlTimeScale (float scale)
 Time scale for curl animation (dimensionless, >= 0).
 
Result< void > setResponseRate (float metersPerSecondPerSecond)
 Max response rate for wind changes (m/s per second).
 
glm::vec3 mainWind () const noexcept
 
float curlStrength () const noexcept
 
float curlFrequency () const noexcept
 
float curlTimeScale () const noexcept
 
Result< void > tick (float dt)
 Advance the limited-response filters by dt seconds.
 
glm::vec3 sample (const glm::vec3 &world, float timeSeconds) const noexcept
 Sample combined wind at a world position and simulation time. Curl is divergence-free on average and independent of main translation.
 

详细描述

World-space wind provider for MAC fog transport.

Main wind and curl remain independent so translation speed, swirl strength, and time scale can be authored separately. Changes are rate-limited before they reach the velocity solver.

在文件 SceneWind.h 第 18 行定义.

成员函数说明

◆ curlFrequency()

float eve::graphics::fog::SceneWind::curlFrequency ( ) const
inlinenoexcept

在文件 SceneWind.h 第 33 行定义.

◆ curlStrength()

float eve::graphics::fog::SceneWind::curlStrength ( ) const
inlinenoexcept

在文件 SceneWind.h 第 32 行定义.

◆ curlTimeScale()

float eve::graphics::fog::SceneWind::curlTimeScale ( ) const
inlinenoexcept

在文件 SceneWind.h 第 34 行定义.

◆ mainWind()

glm::vec3 eve::graphics::fog::SceneWind::mainWind ( ) const
inlinenoexcept

在文件 SceneWind.h 第 31 行定义.

◆ sample()

glm::vec3 eve::graphics::fog::SceneWind::sample ( const glm::vec3 &  world,
float  timeSeconds 
) const
noexcept

Sample combined wind at a world position and simulation time. Curl is divergence-free on average and independent of main translation.

在文件 SceneWind.cpp 第 87 行定义.

引用了 cx, cy, f, sx, sy, sz, t , 以及 world.

◆ setCurlFrequency()

Result< void > eve::graphics::fog::SceneWind::setCurlFrequency ( float  frequency)

Curl field spatial frequency (1/m).

在文件 SceneWind.cpp 第 46 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().

◆ setCurlStrength()

Result< void > eve::graphics::fog::SceneWind::setCurlStrength ( float  metersPerSecond)

Target curl amplitude in m/s.

在文件 SceneWind.cpp 第 36 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().

◆ setCurlTimeScale()

Result< void > eve::graphics::fog::SceneWind::setCurlTimeScale ( float  scale)

Time scale for curl animation (dimensionless, >= 0).

在文件 SceneWind.cpp 第 56 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, scale , 以及 eve::Result< T >::success().

◆ setMainWind()

Result< void > eve::graphics::fog::SceneWind::setMainWind ( const glm::vec3 &  metersPerSecond)

Target main wind in m/s (world space).

在文件 SceneWind.cpp 第 25 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().

◆ setResponseRate()

Result< void > eve::graphics::fog::SceneWind::setResponseRate ( float  metersPerSecondPerSecond)

Max response rate for wind changes (m/s per second).

在文件 SceneWind.cpp 第 66 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().

◆ tick()

Result< void > eve::graphics::fog::SceneWind::tick ( float  dt)

Advance the limited-response filters by dt seconds.

返回
Ok, or Rejected when dt is non-finite / negative.

在文件 SceneWind.cpp 第 76 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().

被这些函数引用 eve::graphics::fog::MacFluidGrid::step().


该类的文档由以下文件生成: