ezEngine Release 26.3
Loading...
Searching...
No Matches
ezParticleStream_Velocity Class Referencefinal

#include <DefaultParticleStreams.h>

Inheritance diagram for ezParticleStream_Velocity:

Protected Member Functions

virtual void Initialize (ezParticleSystemInstance *pOwner) override
 Called once during stream creation to set up any necessary references or state.
 
virtual void InitializeElements (ezUInt64 uiStartIndex, ezUInt64 uiNumElements) override
 The default implementation initializes all data with zero.
 
- Protected Member Functions inherited from ezParticleStream
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.
 

Protected Attributes

ezParticleSystemInstancem_pOwner
 
- Protected Attributes inherited from ezParticleStream
ezProcessingStreamm_pStream
 The underlying data stream managed by this particle stream.
 
- Protected Attributes inherited from ezProcessingStreamProcessor
ezProcessingStreamGroupm_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();.
 

Additional Inherited Members

- Public Member Functions inherited from ezProcessingStreamProcessor
 ezProcessingStreamProcessor ()
 Base constructor.
 
virtual ~ezProcessingStreamProcessor ()
 Base destructor.
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () 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 ezRTTIGetStaticRTTI ()
 
- Public Attributes inherited from ezProcessingStreamProcessor
float m_fPriority = 0.0f
 Used for sorting processors, to ensure a certain order. Lower priority == executed first.
 

Detailed Description

Stream storing particle velocities.

Initializes new particles with the particle system's start velocity. Stores velocity as direction (xyz) and speed (w) in an ezVec4 using half-precision floats. If the start velocity is zero, defaults to direction (0, 0, 1) with speed 0.

Member Function Documentation

◆ Initialize()

void ezParticleStream_Velocity::Initialize ( ezParticleSystemInstance pOwner)
overrideprotectedvirtual

Called once during stream creation to set up any necessary references or state.

Reimplemented from ezParticleStream.

◆ InitializeElements()

void ezParticleStream_Velocity::InitializeElements ( ezUInt64  uiStartIndex,
ezUInt64  uiNumElements 
)
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).

Reimplemented from ezParticleStream.


The documentation for this class was generated from the following files: