Instance of particle graph layer in emitter.
More...
#include <Urho3D/Particles/ParticleGraphLayerInstance.h>
|
| ParticleGraphLayerInstance () |
| Construct.
|
|
| ~ParticleGraphLayerInstance () |
| Destruct.
|
|
void | Apply (const SharedPtr< ParticleGraphLayer > &layer) |
| Apply layer settings to the layer instance.
|
|
unsigned | GetNumActiveParticles () const |
| Return number of active particles.
|
|
void | RemoveAllParticles () |
| Remove all current particles.
|
|
bool | EmitNewParticles (float numParticles=1.0f) |
| Create a new particles. Return true if there was room.
|
|
void | Update (float timeStep, bool emitting) |
| Run update step.
|
|
unsigned | GetNumAttributes () const |
| Get number of attributes.
|
|
template<typename T > |
SparseSpan< T > | GetAttributeValues (unsigned attributeIndex) |
| Get attribute values.
|
|
template<typename ValueType > |
SparseSpan< ValueType > | GetSparse (unsigned attributeIndex, const ea::span< unsigned > &indices) |
|
template<typename ValueType > |
SparseSpan< ValueType > | GetScalar (unsigned pinIndex) |
|
template<typename ValueType > |
SparseSpan< ValueType > | GetSpan (unsigned pinIndex) |
|
ParticleGraphEmitter * | GetEmitter () const |
| Get emitter.
|
|
void | MarkForDeletion (unsigned particleIndex) |
| Mark a particle for deletion.
|
|
unsigned | GetUniformIndex (const StringHash &string_hash, VariantType variant) |
| Get uniform index. Creates new uniform slot on demand.
|
|
Variant & | GetUniform (unsigned index) |
| Get uniform variant by index.
|
|
void | Reset () |
|
void | UpdateDrawables () |
| Update all drawable attributes. Executed by ParticleGraphEmitter.
|
|
ParticleGraphLayer * | GetLayer () const |
| Get effect layer.
|
|
|
float | emitCounterReminder_ {} |
| Emit counter reminder. When reminder value get over 1 the layer emits particle.
|
|
ea::vector< uint8_t > | attributes_ |
| Memory used to store all layer related arrays: nodes, indices, attributes.
|
|
ea::vector< uint8_t > | temp_ |
|
ea::span< ParticleGraphNodeInstance * > | emitNodeInstances_ |
| Node instances for emit graph.
|
|
ea::span< ParticleGraphNodeInstance * > | initNodeInstances_ |
| Node instances for initialization graph.
|
|
ea::span< ParticleGraphNodeInstance * > | updateNodeInstances_ |
| Node instances for update graph.
|
|
ea::span< unsigned > | indices_ |
| All indices of the particle system.
|
|
ea::span< unsigned > | scalarIndices_ |
| All indices set to 0.
|
|
ea::span< unsigned > | naturalIndices_ |
| All indices going in natural order (0, 1, ...).
|
|
ea::span< unsigned > | destructionQueue_ |
| Particle indices to be removed.
|
|
unsigned | destructionQueueSize_ |
| Number of particles to destroy at end of the frame.
|
|
unsigned | activeParticles_ |
| Number of active particles.
|
|
SharedPtr< ParticleGraphLayer > | layer_ |
| Reference to layer.
|
|
ParticleGraphEmitter * | emitter_ {} |
| Emitter that owns the layer instance.
|
|
float | time_ {} |
| Time since emitter start.
|
|
|
class | ParticleGraphEmitter |
|
Instance of particle graph layer in emitter.
◆ Reset()
void Urho3D::ParticleGraphLayerInstance::Reset |
( |
| ) |
|
Reset the particle emitter layer completely. Removes current particles, sets emitting state on, and resets the emission timer.
◆ temp_
ea::vector<uint8_t> Urho3D::ParticleGraphLayerInstance::temp_ |
|
private |
Temp memory needed for graph calculation. TODO: Should be replaced with memory pool as it could be shared between multiple emitter instances.
The documentation for this class was generated from the following files:
- Urho3D/Particles/ParticleGraphLayerInstance.h
- Urho3D/Particles/ParticleGraphLayerInstance.cpp