载入中...
搜索中...
未找到
eve::stylize::MeshParticleEmitter类 参考

CPU-authoritative deterministic 3D mesh-particle emitter. 更多...

#include <MeshParticleEmitter.h>

类

struct  Particle
 

Public 成员函数

 MeshParticleEmitter (MeshParticleEmitterConfig config={})
 Construct an emitter and sanitize invalid scalar ranges.
 
 ~MeshParticleEmitter ()
 Destroy owned particle state after its private type is complete.
 
 MeshParticleEmitter (const MeshParticleEmitter &)=delete
 
MeshParticleEmitter & operator= (const MeshParticleEmitter &)=delete
 
void start ()
 Start from timeline zero and arm every configured burst.
 
void stop () noexcept
 Stop automatic emission while allowing existing particles to expire.
 
void reset ()
 Remove every particle and reset timeline/random state.
 
void setOrigin (const glm::vec3 &origin) noexcept
 Set the world-space origin copied by subsequent simulation steps.
 
std::uint32_t emit (std::uint32_t count)
 Emit an immediate burst at the current origin.
 
MeshParticleAdvanceReport advance (float deltaSeconds)
 Advance deterministic fixed-step simulation.
 
std::vector< MeshParticleInstance > snapshot () const
 Build render transforms and colors in stable particle-ID order.
 
const MeshParticleEmitterConfig & config () const noexcept
 Return immutable sanitized configuration.
 
std::size_t size () const noexcept
 Return the number of live particles.
 

详细描述

CPU-authoritative deterministic 3D mesh-particle emitter.

The emitter owns particle state and retains no graphics resources. Given the same config, seed, origin, command sequence and delta sequence, snapshots are bitwise stable on the same floating-point implementation. Structural changes are deferred until each simulation step has finished iterating live particles.

在文件 MeshParticleEmitter.h 第 100 行定义.

构造及析构函数说明

◆ MeshParticleEmitter() [1/2]

◆ ~MeshParticleEmitter()

eve::stylize::MeshParticleEmitter::~MeshParticleEmitter ( )
default

Destroy owned particle state after its private type is complete.

◆ MeshParticleEmitter() [2/2]

eve::stylize::MeshParticleEmitter::MeshParticleEmitter ( const MeshParticleEmitter &  )
delete

成员函数说明

◆ advance()

MeshParticleAdvanceReport eve::stylize::MeshParticleEmitter::advance ( float  deltaSeconds)

Advance deterministic fixed-step simulation.

参数
deltaSecondsNon-negative frame delta; invalid values advance nothing.
返回
Per-call work, lifecycle and overflow counters.

在文件 MeshParticleEmitter.cpp 第 236 行定义.

引用了 eve::stylize::MeshParticleAdvanceReport::alive, eve::stylize::MeshParticleAdvanceReport::discardedTimeSeconds, eve::stylize::MeshParticleEmitterConfig::fixedStepSeconds, eve::stylize::MeshParticleEmitterConfig::maximumSubsteps , 以及 eve::stylize::MeshParticleAdvanceReport::simulatedSteps.

◆ config()

const MeshParticleEmitterConfig & eve::stylize::MeshParticleEmitter::config ( ) const
inlinenoexcept

Return immutable sanitized configuration.

在文件 MeshParticleEmitter.h 第 149 行定义.

◆ emit()

std::uint32_t eve::stylize::MeshParticleEmitter::emit ( std::uint32_t  count)

Emit an immediate burst at the current origin.

参数
countRequested particle count.
返回
Number accepted; capacity overflow is reflected by advance reports.

在文件 MeshParticleEmitter.cpp 第 128 行定义.

引用了 count.

◆ operator=()

MeshParticleEmitter & eve::stylize::MeshParticleEmitter::operator= ( const MeshParticleEmitter &  )
delete

◆ reset()

void eve::stylize::MeshParticleEmitter::reset ( )

Remove every particle and reset timeline/random state.

在文件 MeshParticleEmitter.cpp 第 121 行定义.

引用了 start().

被这些函数引用 MeshParticleEmitter().

◆ setOrigin()

void eve::stylize::MeshParticleEmitter::setOrigin ( const glm::vec3 &  origin)
inlinenoexcept

Set the world-space origin copied by subsequent simulation steps.

在文件 MeshParticleEmitter.h 第 129 行定义.

引用了 origin.

◆ size()

std::size_t eve::stylize::MeshParticleEmitter::size ( ) const
noexcept

Return the number of live particles.

在文件 MeshParticleEmitter.cpp 第 77 行定义.

◆ snapshot()

◆ start()

void eve::stylize::MeshParticleEmitter::start ( )

Start from timeline zero and arm every configured burst.

在文件 MeshParticleEmitter.cpp 第 112 行定义.

引用了 eve::stylize::MeshParticleEmitterConfig::randomSeed.

被这些函数引用 reset().

◆ stop()

void eve::stylize::MeshParticleEmitter::stop ( )
inlinenoexcept

Stop automatic emission while allowing existing particles to expire.

在文件 MeshParticleEmitter.h 第 123 行定义.


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