![]() |
ezEngine Release 26.3
|
Base class for all particle streams. More...
#include <ParticleStream.h>

Protected Member Functions | |
| virtual void | Initialize (ezParticleSystemInstance *pOwner) |
| Called once during stream creation to set up any necessary references or state. | |
| virtual ezResult | UpdateStreamBindings () final override |
| Internal method which needs to be implemented, gets the concrete stream bindings. This is called every time the streams are resized. Implementations should check that their required streams exist and are of the correct data types. | |
| virtual void | Process (ezUInt64 uiNumElements) final override |
| Particle streams do not process existing elements, they only initialize new ones. | |
| virtual void | InitializeElements (ezUInt64 uiStartIndex, ezUInt64 uiNumElements) override |
| The default implementation initializes all data with zero. | |
Protected Attributes | |
| ezProcessingStream * | m_pStream |
| The underlying data stream managed by this particle stream. | |
Protected Attributes inherited from ezProcessingStreamProcessor | |
| ezProcessingStreamGroup * | m_pStreamGroup = nullptr |
| Back pointer to the stream group - will be set to the owner stream group when adding the stream processor to the group. Can be used to get stream pointers in UpdateStreamBindings();. | |
Friends | |
| class | ezParticleSystemInstance |
| class | ezParticleStreamFactory |
Additional Inherited Members | |
Public Member Functions inherited from ezProcessingStreamProcessor | |
| ezProcessingStreamProcessor () | |
| Base constructor. | |
| virtual | ~ezProcessingStreamProcessor () |
| Base destructor. | |
Public Member Functions inherited from ezReflectedClass | |
| virtual const ezRTTI * | GetDynamicRTTI () const |
| bool | IsInstanceOf (const ezRTTI *pType) const |
| Returns whether the type of this instance is of the given type or derived from it. | |
| template<typename T > | |
| EZ_ALWAYS_INLINE bool | IsInstanceOf () const |
| Returns whether the type of this instance is of the given type or derived from it. | |
Static Public Member Functions inherited from ezNoBase | |
| static const ezRTTI * | GetStaticRTTI () |
Public Attributes inherited from ezProcessingStreamProcessor | |
| float | m_fPriority = 0.0f |
| Used for sorting processors, to ensure a certain order. Lower priority == executed first. | |
Base class for all particle streams.
Particle streams store per-particle data like position, velocity, color, or size. Each stream type provides initialization logic for new particles. Streams run with high priority (-1000) to ensure they initialize data before other processors.
|
inlineprotectedvirtual |
Called once during stream creation to set up any necessary references or state.
Reimplemented in ezParticleStream_Position, ezParticleStream_Velocity, and ezParticleStream_Variation.
|
overrideprotectedvirtual |
The default implementation initializes all data with zero.
Override this to provide custom initialization for new particles. The implementation should initialize elements in the range [uiStartIndex, uiStartIndex + uiNumElements).
Implements ezProcessingStreamProcessor.
Reimplemented in ezParticleStream_Position, ezParticleStream_Size, ezParticleStream_Color, ezParticleStream_Velocity, ezParticleStream_Axis, and ezParticleStream_Variation.
|
inlinefinaloverrideprotectedvirtual |
Particle streams do not process existing elements, they only initialize new ones.
Implements ezProcessingStreamProcessor.
|
finaloverrideprotectedvirtual |
Internal method which needs to be implemented, gets the concrete stream bindings. This is called every time the streams are resized. Implementations should check that their required streams exist and are of the correct data types.
Implements ezProcessingStreamProcessor.