Optimized GPU instancing renderer for billboard particles.
More...
#include <ParticleSystem/Particles/Renderers/CQuadRenderer.h>
|
| virtual void | getParticleBuffer (IMeshBuffer *buffer) |
| | Prepares a single unit quad in the mesh buffer for instanced drawing.
|
|
void | setMaterialType (EBaseShaderType shader, EBillboardType billboard) |
| | Changes the shader effect and orientation mode.
|
|
EBillboardType | getBillboardType () |
| | Gets current billboarding mode.
|
|
EBaseShaderType | getBaseShaderType () |
| | Gets current shader mode.
|
| virtual CObjectSerializable * | createSerializable () |
| | Creates a serializable object for property editing or saving.
|
| virtual void | loadSerializable (CObjectSerializable *object) |
| | Loads properties from a serializable object.
|
| Public Member Functions inherited from Skylicht::Particle::IRenderer |
|
| IRenderer (ERenderer type) |
|
ERenderer | getType () |
| | Gets renderer type enum.
|
|
CMaterial * | getMaterial () |
| | Gets active material (custom or default).
|
|
CMaterial * | getDefaultMaterial () |
| | Gets default internal material.
|
|
CMaterial * | getCustomMaterial () |
| | Gets custom material if set.
|
|
void | setTexturePath (const char *path) |
| | Loads and sets the main texture.
|
|
void | setTexture (int slot, ITexture *texture) |
| | Sets texture for a specific slot.
|
|
void | setEmission (bool b) |
| | Enables/disables emission.
|
|
bool | isEmission () |
| | Checks emission status.
|
|
bool | useInstancing () |
| | Checks instancing support.
|
|
void | setEmissionIntensity (float b) |
| | Sets emission intensity.
|
|
float | getEmissionIntensity () |
| | Gets emission intensity.
|
|
bool | needUpdateMesh () |
| | Checks if internal mesh requires rebuilding.
|
|
const wchar_t * | getName () |
| | Gets display name.
|
|
void | setAtlas (u32 x, u32 y) |
| | Configures texture atlas dimensions.
|
|
u32 | getAtlasX () |
| | Gets atlas column count.
|
|
u32 | getAtlasY () |
| | Gets atlas row count.
|
|
u32 | getTotalFrames () |
| | Gets total frames in atlas.
|
|
float | getFrameWidth () |
| | Gets UV width of a single frame.
|
|
float | getFrameHeight () |
| | Gets UV height of a single frame.
|
|
|
EBillboardType | m_billboardType |
|
EBaseShaderType | m_baseShaderType |
| Protected Attributes inherited from Skylicht::Particle::IRenderer |
|
ERenderer | m_type |
| | Type of the renderer.
|
|
CMaterial * | m_material |
| | Default material for the particles.
|
|
CMaterial * | m_customMaterial |
| | Optional custom material.
|
|
bool | m_useCustomMaterial |
| | Whether custom material is enabled.
|
|
bool | m_useInstancing |
| | Whether this renderer uses hardware instancing.
|
|
bool | m_emission |
| | Whether the particles have emission.
|
|
bool | m_ztest |
| | Depth test flag.
|
|
float | m_emissionIntensity |
| | Emission intensity multiplier.
|
|
std::string | m_texturePath |
| | Primary texture path.
|
|
u32 | m_atlasNx |
| | Atlas horizontal frame count.
|
|
u32 | m_atlasNy |
| | Atlas vertical frame count.
|
|
std::string | m_materialPath |
| | Path to custom material file.
|
|
bool | m_needUpdateMesh |
| | Internal: flag to trigger mesh buffer updates.
|
|
|
static const u32 | NB_INDICES_PER_QUAD = 6 |
|
static const u32 | NB_VERTICES_PER_QUAD = 4 |
|
| Public Attributes inherited from Skylicht::Particle::IRenderer |
|
float | SizeX |
| | Default base scale X.
|
|
float | SizeY |
| | Default base scale Y.
|
|
float | SizeZ |
| | Default base scale Z.
|
Optimized GPU instancing renderer for billboard particles.
Example
group->setRenderer(renderer);
Optimized GPU instancing renderer for billboard particles.
Definition CQuadRenderer.h:72
void setMaterialType(EBaseShaderType shader, EBillboardType billboard)
Changes the shader effect and orientation mode.
void setTexturePath(const char *path)
Loads and sets the main texture.
◆ createSerializable()
◆ getParticleBuffer()
| virtual void Skylicht::Particle::CQuadRenderer::getParticleBuffer |
( |
IMeshBuffer * | buffer | ) |
|
|
virtual |
◆ loadSerializable()
| virtual void Skylicht::Particle::CQuadRenderer::loadSerializable |
( |
CObjectSerializable * | object | ) |
|
|
virtual |
The documentation for this class was generated from the following file: