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

Built-in particle attribute semantics. Custom attributes are named by xiiParticleGraphPinDesc::m_sAttributeName. More...

#include <ParticleGraph.h>

Inheritance diagram for xiiParticleAttributeSemantic:
[legend]

Public Types

enum  Enum : StorageType {
  Custom = 0U , Position , PreviousPosition , Velocity ,
  Acceleration , Mass , InverseMass , Radius ,
  Color , Age , Lifetime , Orientation ,
  AngularVelocity , Temperature , Density , Charge ,
  MoleculeId , CellId , SortKey , ENUM_COUNT ,
  Default = Custom
}
using StorageType = xiiUInt8

Detailed Description

Built-in particle attribute semantics. Custom attributes are named by xiiParticleGraphPinDesc::m_sAttributeName.

Member Enumeration Documentation

◆ Enum

Enumerator
Custom 

Custom attribute with user-defined name.

Position 

Particle position in simulation space.

PreviousPosition 

Particle position in the previous simulation step, used for integration and collision.

Velocity 

Particle velocity vector.

Acceleration 

Particle acceleration vector, typically accumulated from forces.

Mass 

Particle mass, used for physics calculations. Zero mass can indicate an immovable object.

InverseMass 

Precomputed inverse of mass, used to optimize physics calculations. Zero inverse mass indicates an immovable object.

Radius 

Particle radius, used for rendering and collision. Note that non-spherical particles may need custom attributes for their dimensions or orientation.

Color 

Particle color, typically in RGBA format. Can be used for rendering or as a general-purpose attribute for graph logic.

Age 

Time since the particle was emitted, in seconds. Can be used for lifetime-based behaviors or effects.

Lifetime 

Total lifetime of the particle, in seconds. When Age exceeds Lifetime, the particle is typically killed.

Orientation 

Particle orientation, typically represented as a quaternion (x, y, z, w) or Euler angles. Used for rendering and oriented effects.

AngularVelocity 

Particle angular velocity, typically represented as a vector (x, y, z) for axis-angle or (x, y, z, w) for quaternion derivatives. Used for rotational motion.

Temperature 

Particle temperature, used for effects like heat distortion or phase changes.

Density 

Particle density, used for fluid simulations or effects that depend on local particle concentration.

Charge 

Particle electric charge, used for electrostatic forces or effects.

MoleculeId 

Identifier for molecular dynamics simulations, used to group particles into molecules or track interactions.

CellId 

Identifier for spatial partitioning cells, used for neighbor searches or grid-based effects.

SortKey 

Precomputed sort key for depth sorting in GPU rendering. Typically a 32-bit unsigned integer encoding depth or distance from the camera.


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