![]() |
Skylicht Engine
|
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. | |
ECS-driven particle engine with instancing and trails.