XII Release 0.1.0
Loading...
Searching...
No Matches
xiiParticleGPUState Struct Reference

GPU particle state. Keep in sync with Data/Base/Shaders/Pipeline/ParticleIntegrate.xiiShader. More...

#include <ParticleSystem.h>

Public Member Functions

 XII_DECLARE_POD_TYPE ()

Public Attributes

xiiVec4 m_vPositionAge
 xyz = position, w = age.
xiiVec4 m_vPreviousPositionRadius
 xyz = previous position, w = radius.
xiiVec4 m_vVelocityLifetime
 xyz = velocity, w = lifetime.
xiiVec4 m_vColor
 rgba.
xiiVec4 m_vForceInverseMass
 xyz = accumulated force, w = inverse mass.
xiiVec4 m_vCustom0
 graph-owned custom payload.
xiiVec4 m_vCustom1
 graph-owned custom payload.
xiiUInt32 m_uiId = 0U
 Unique particle ID, used for stable sorting and graph operations that require particle identity. The exact semantics of this ID (e.g., whether it's recycled after a particle dies) are defined by the particle graph and may depend on the enabled features (e.g., StableParticleIds).
xiiUInt32 m_uiFlags = 0U
 Graph-defined flags for various purposes (e.g., marking particles for special processing or rendering). The exact semantics of these flags are defined by the particle graph and may depend on the enabled features.
xiiUInt32 m_uiEmitter = 0U
 Index of the emitter that spawned this particle, which can be used for emitter-specific behavior or rendering. The exact semantics of this index are defined by the particle graph and may depend on the enabled features (e.g., whether emitter information is tracked on particles).
xiiUInt32 m_uiCellId = 0U
 Cell ID for neighbor search, if enabled. The exact semantics of this ID (e.g., how it's calculated and updated) are defined by the particle graph and may depend on the enabled features (e.g., NeighborSearch).

Detailed Description

GPU particle state. Keep in sync with Data/Base/Shaders/Pipeline/ParticleIntegrate.xiiShader.


The documentation for this struct was generated from the following file:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Particles/ParticleSystem.h