28#include "RenderMesh/CMesh.h"
47 class COMPONENT_API CMeshParticleRenderer :
public IRenderer
83 CMeshParticleRenderer();
85 virtual ~CMeshParticleRenderer();
94 DECLARE_GETTYPENAME(CMeshParticleRenderer)
This object class is created to store data in an array of multiple CEntities.
Definition CEntityPrefab.h:38
Definition CObjectSerializable.h:36
virtual void loadSerializable(CObjectSerializable *object)
Loads properties from a serializable object.
EBaseShaderType m_baseShaderType
Current shader mode.
Definition CMeshParticleRenderer.h:70
virtual CObjectSerializable * createSerializable()
Creates a serializable object for property editing or saving.
float m_dissolve
Cutoff value for dissolve effect.
Definition CMeshParticleRenderer.h:77
bool m_velocityDirection
Whether to align mesh Z-axis to particle velocity.
Definition CMeshParticleRenderer.h:80
void initFromPrefab(CEntityPrefab *prefab)
Internal: extracts static meshes from a prefab.
virtual void getParticleBuffer(IMeshBuffer *buffer)
Internal: merges prefab meshes into a single buffer.
void setDissolveCutoff(float d)
Sets dissolve progression (0.0 to 1.0).
Definition CMeshParticleRenderer.h:136
bool loadMesh(const char *meshFile)
Loads a 3D model (FBX, DAE, OBJ) to be used as a particle.
core::vector3df & getNoiseScale()
Gets dissolve noise scale.
Definition CMeshParticleRenderer.h:118
IMeshBuffer * m_meshBuffer
Aggregated mesh buffer for instancing.
Definition CMeshParticleRenderer.h:67
float getDissolveCutoff()
Gets current dissolve progression.
Definition CMeshParticleRenderer.h:130
std::string m_meshFile
Path to the source mesh file.
Definition CMeshParticleRenderer.h:64
void addMesh(const core::matrix4 &transform, CMesh *mesh)
Internal: adds a transformed mesh to the instancing buffer.
void setDissolveColor(const SColor &c)
Sets dissolve edge color.
Definition CMeshParticleRenderer.h:112
const SColor & getDissolveColor()
Gets dissolve edge color.
Definition CMeshParticleRenderer.h:106
void setVelocityDirection(bool b)
Enables/disables velocity-based orientation.
core::vector3df m_noiseScale
Scale for dissolve noise effect.
Definition CMeshParticleRenderer.h:73
void setNoiseScale(const core::vector3df &n)
Sets dissolve noise scale.
Definition CMeshParticleRenderer.h:124
void setMaterialType(EBaseShaderType shader)
Configures blending mode and shader.
SColor m_dissolveColor
Edge color for dissolve effect.
Definition CMeshParticleRenderer.h:75
EBaseShaderType
Blending modes for mesh particles.
Definition CMeshParticleRenderer.h:55
@ Additive
Definition CMeshParticleRenderer.h:58
@ SoildColor
Definition CMeshParticleRenderer.h:57
@ Soild
Definition CMeshParticleRenderer.h:56
@ Transparent
Definition CMeshParticleRenderer.h:59
Struct for holding a mesh with a single material.
Definition IMeshBuffer.h:42
Class representing a 32 bit ARGB color.
Definition SColor.h:285
Everything in the Skylicht Engine. You can start by looking at the topics.
Definition AudioDebugLog.h:29
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445
CMatrix4< f32 > matrix4
Typedef for f32 matrix.
Definition matrix4.h:2241