Skylicht Engine
Loading...
Searching...
No Matches
Particle System

ECS-driven particle engine with instancing and trails. More...

Classes

class  Skylicht::Particle::CGUIParticle
 2D GUI element that displays a 3D particle system. More...
class  Skylicht::Particle::CParticleBufferData
 ECS data structure holding particle groups for an entity. More...
class  Skylicht::Particle::CParticleComponent
 Main component for creating and managing a particle system in Skylicht. More...
class  Skylicht::Particle::CParticleTrailComponent
 Component for adding ribbon/trail effects to particles. More...
class  Skylicht::Particle::CParticleTrailData
 ECS data structure holding trail information for an entity. More...
class  Skylicht::CTrailSerializable
 Serialization helper for particle trails. More...
class  Skylicht::Particle::CFactory
 Factory class for creating emitters, zones, and renderers. More...
struct  Skylicht::Particle::SLaunchParticle
 Information about particles being launched by an emitter. More...
class  Skylicht::Particle::IParticleCallback
 Interface for receiving particle lifecycle events. More...
class  Skylicht::Particle::CGroup
 Represents a group of particles with shared settings, emitters, and a renderer. More...
class  Skylicht::Particle::CModel
 Data model for animating a particle parameter (EParticleParams) over its lifetime. More...
class  Skylicht::Particle::CParticle
 Individual particle data structure. More...
class  Skylicht::Particle::CParticleInstancing
 Internal class for managing GPU instancing buffers for particles. More...
class  Skylicht::Particle::CParticleSerializable
 Base class for particle system objects that can be serialized to XML. More...
class  Skylicht::Particle::CSubGroup
 A particle group that spawns particles from the positions of particles in a parent group. More...
class  Skylicht::Particle::CDirectionEmitter
 Base class for emitters that have a primary emission direction. More...
struct  Skylicht::Particle::SBornData
 Internal data for managing particle birth rates for sub-emitters. More...
class  Skylicht::Particle::CEmitter
 Base class for particle emitters. More...
class  Skylicht::Particle::CNormalEmitter
 Emitter that shoots particles along the surface normals of its zone. More...
class  Skylicht::Particle::CRandomEmitter
 Emitter that shoots particles in random directions. More...
class  Skylicht::Particle::CSphericEmitter
 Emitter that shoots particles in a cone shape defined by two angles. More...
class  Skylicht::Particle::CStraightEmitter
 Emitter that shoots particles in a fixed direction. More...
class  Skylicht::Particle::CCPURenderer
 A non-instanced renderer that builds the particle vertex buffer on the CPU every frame. More...
class  Skylicht::Particle::CMeshParticleRenderer
 Renderer that uses hardware instancing to draw 3D meshes as particles. More...
class  Skylicht::Particle::CQuadRenderer
 Optimized GPU instancing renderer for billboard particles. More...
class  Skylicht::Particle::IRenderer
 Base interface for particle renderers. More...
class  Skylicht::Particle::CParticleSystem
 Core particle update system. More...
class  Skylicht::Particle::CVortexSystem
 Custom system that applies a vortex (swirl) effect to particles. More...
class  Skylicht::Particle::ISystem
 Base interface for particle systems that update particle data. More...
class  Skylicht::Particle::CAABox
 A zone that spawns particles within or on the surface of an Axis-Aligned Bounding Box. More...
class  Skylicht::Particle::CCylinder
 A zone that spawns particles within or on the surface of a cylinder. More...
class  Skylicht::Particle::CLine
 A zone that spawns particles along a line segment. More...
class  Skylicht::Particle::CPoint
 A zone that spawns particles at a single point. More...
class  Skylicht::Particle::CPolyLine
 A zone that spawns particles along a sequence of connected line segments. More...
class  Skylicht::Particle::CPositionZone
 Base class for zones defined by a single world position. More...
class  Skylicht::Particle::CRing
 A zone that spawns particles within a 2D ring (annulus) in 3D space. More...
class  Skylicht::Particle::CSphere
 A zone that spawns particles within or on the surface of a sphere. More...
class  Skylicht::Particle::CZone
 Base class for zones where particles can be spawned. More...

Enumerations

enum  Skylicht::Particle::EParticleParams {
  Scale = 0 , ScaleX , ScaleY , ScaleZ ,
  RotateX , RotateY , RotateZ , ColorR ,
  ColorG , ColorB , ColorA , Mass ,
  FrameIndex , RotateSpeedX , RotateSpeedY , RotateSpeedZ ,
  NumParams
}
 IDs for particle parameters that can be animated over time.
enum  Skylicht::Particle::EEmitter {
  Random , Straight , Spheric , Normal ,
  NumOfEmitter
}
 Available particle emitter types.
enum  Skylicht::Particle::EBillboardType { Skylicht::Particle::Camera , Skylicht::Particle::Velocity , Skylicht::Particle::FixOrientation }
 Billboard orientation modes for quad particles.
enum  Skylicht::Particle::EBaseShaderType { Skylicht::Particle::Additive , Skylicht::Particle::Transparent , Skylicht::Particle::AdditiveAlpha , Skylicht::Particle::TransparentAlpha }
 Shader blending modes for quad particles.
enum  Skylicht::Particle::ERenderer { Quad , CPURenderer , MeshInstancing }
 Available particle renderer types.
enum  Skylicht::Particle::EZone {
  Point , Sphere , AABox , Cylinder ,
  Line , PolyLine , Ring , NumOfZone
}
 Available particle spawn zones.

Detailed Description

ECS-driven particle engine with instancing and trails.