46 virtual void Create()
override;
47 virtual void Destroy()
override;
48 virtual void Start()
override;
52 virtual void Render()
override;
53 virtual void Tick(
float deltaTime)
override;
54 virtual void EditorTick(
float deltaTime)
override;
ParticleOrientation
Definition Particle3d.h:8
VertexType
Definition Vertex.h:7
Definition Particle3d.h:34
virtual VertexType GetVertexType() const override
Definition Particle3d.cpp:210
ParticleCompResource * GetResource()
Definition Particle3d.cpp:154
bool mHasUpdatedVerticesThisFrame
Definition Particle3d.h:134
Material * GetMaterial()
Definition Particle3d.cpp:299
void TickCommon(float deltaTime)
Definition Particle3d.cpp:192
uint32_t mLoop
Definition Particle3d.h:132
virtual ~Particle3D()
Definition Particle3d.cpp:53
void SetParticlePosition(int32_t index, glm::vec3 position)
Definition Particle3d.cpp:416
bool mHasSimulatedThisFrame
Definition Particle3d.h:133
bool IsAutoDestroyEnabled() const
Definition Particle3d.cpp:271
bool IsAutoEmitEnabled() const
Definition Particle3d.cpp:261
virtual void Tick(float deltaTime) override
Definition Particle3d.cpp:180
void SetParticleSpeed(int32_t index, float speed)
Definition Particle3d.cpp:441
virtual void EditorTick(float deltaTime) override
Definition Particle3d.cpp:186
void Reset()
Definition Particle3d.cpp:233
ParticleSystemRef mParticleSystem
Definition Particle3d.h:137
void EnableSimulation(bool simulate)
Definition Particle3d.cpp:350
virtual DrawData GetDrawData() override
Definition Particle3d.cpp:159
bool mAutoEmit
Definition Particle3d.h:127
uint32_t GetNumVertices()
Definition Particle3d.cpp:365
bool mUseLocalSpace
Definition Particle3d.h:140
virtual void Render() override
Definition Particle3d.cpp:175
void KillExpiredParticles(float deltaTime)
Definition Particle3d.cpp:486
bool IsSimulationEnabled() const
Definition Particle3d.cpp:355
glm::vec3 mBaseVelocity
Definition Particle3d.h:144
bool ShouldAlwaysSimulate() const
Definition Particle3d.cpp:345
void SetParticleVelocity(int32_t index, glm::vec3 velocity)
Definition Particle3d.cpp:390
Particle3D()
Definition Particle3d.cpp:48
void SetBaseVelocity(glm::vec3 velocity)
Definition Particle3d.cpp:380
Material * GetMaterialOverride()
Definition Particle3d.cpp:315
bool IsEmissionEnabled() const
Definition Particle3d.cpp:251
glm::vec3 GetBaseVelocity() const
Definition Particle3d.cpp:385
ParticleSystemInstance * InstantiateParticleSystem()
Definition Particle3d.cpp:466
void Simulate(float deltaTime)
Definition Particle3d.cpp:215
virtual void GatherProxyDraws(std::vector< DebugDraw > &inoutDraws) override
Definition Particle3d.cpp:79
void SetTimeMultiplier(float timeMultiplier)
Definition Particle3d.cpp:320
void SetParticleSystem(ParticleSystem *particleSystem)
Definition Particle3d.cpp:281
void SpawnNewParticles(float deltaTime)
Definition Particle3d.cpp:518
void SetAlwaysSimulate(bool alwaysSimulate)
Definition Particle3d.cpp:340
void SetParticleOrientation(ParticleOrientation orientation)
Definition Particle3d.cpp:456
virtual void Destroy() override
Definition Particle3d.cpp:134
std::vector< Particle > & GetParticles()
Definition Particle3d.cpp:370
ParticleOrientation GetParticleOrientation()
Definition Particle3d.cpp:461
ParticleOrientation mOrientation
Definition Particle3d.h:143
float GetTimeMultiplier() const
Definition Particle3d.cpp:325
bool mEmit
Definition Particle3d.h:126
static bool HandlePropChange(Datum *datum, uint32_t index, const void *newValue)
Definition Particle3d.cpp:32
bool GetUseLocalSpace() const
Definition Particle3d.cpp:335
void UpdateVertexBuffer()
Definition Particle3d.cpp:630
void EnableAutoDestroy(bool enable)
Definition Particle3d.cpp:266
const std::vector< VertexParticle > & GetVertices()
Definition Particle3d.cpp:375
virtual const char * GetTypeName() const override
Definition Particle3d.cpp:58
virtual void Start() override
Definition Particle3d.cpp:146
ParticleCompResource mResource
Definition Particle3d.h:147
bool mAutoDestroy
Definition Particle3d.h:128
float GetElapsedTime() const
Definition Particle3d.cpp:276
std::vector< Particle > mParticles
Definition Particle3d.h:129
virtual void Create() override
Definition Particle3d.cpp:127
void SetUseLocalSpace(bool useLocalSpace)
Definition Particle3d.cpp:330
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Particle3d.cpp:63
glm::vec3 GetParticlePosition(int32_t index)
Definition Particle3d.cpp:431
void EnableAutoEmit(bool enable)
Definition Particle3d.cpp:256
void SetMaterialOverride(Material *material)
Definition Particle3d.cpp:294
virtual Bounds GetLocalBounds() const override
Definition Particle3d.cpp:474
ParticleSystem * GetParticleSystem()
Definition Particle3d.cpp:289
std::vector< VertexParticle > mVertices
Definition Particle3d.h:130
DECLARE_NODE(Particle3D, Primitive3D)
bool mEnableSimulation
Definition Particle3d.h:142
void EnableEmission(bool enable)
Definition Particle3d.cpp:240
bool mAlwaysSimulate
Definition Particle3d.h:141
MaterialRef mMaterialOverride
Definition Particle3d.h:138
uint32_t GetNumParticles()
Definition Particle3d.cpp:360
float mTimeMultiplier
Definition Particle3d.h:139
void UpdateParticles(float deltaTime)
Definition Particle3d.cpp:500
float mElapsedTime
Definition Particle3d.h:125
glm::vec3 GetParticleVelocity(int32_t index)
Definition Particle3d.cpp:405
float mEmissionCounter
Definition Particle3d.h:131
Definition ParticleSystemInstance.h:6
Definition ParticleSystem.h:66
Definition Primitive3d.h:46
Definition EngineTypes.h:193
Definition EngineTypes.h:199
Definition GraphicsTypes.h:304
Definition Particle3d.h:21
glm::vec3 mVelocity
Definition Particle3d.h:25
float mRotation
Definition Particle3d.h:30
float mRotationSpeed
Definition Particle3d.h:29
float mLifetime
Definition Particle3d.h:26
glm::vec3 mPosition
Definition Particle3d.h:22
glm::vec2 mSize
Definition Particle3d.h:28
float mElapsedTime
Definition Particle3d.h:23