![]() |
ezEngine Release 26.3
|
#include <ParticleTypeTrail.h>

Classes | |
| struct | TrailData |
Public Member Functions | |
| virtual void | CreateRequiredStreams () override |
| virtual void | ExtractTypeRenderData (ezMsgExtractRenderData &ref_msg, const ezTransform &instanceTransform) const override |
| virtual float | GetMaxParticleRadius (float fParticleSize) const override |
Public Member Functions inherited from ezParticleModule | |
| virtual void | QueryOptionalStreams () |
| void | Reset (ezParticleSystemInstance *pOwner) |
| virtual void | OnFinalize () |
| Called after everything is set up. | |
| ezParticleSystemInstance * | GetOwnerSystem () |
| const ezParticleSystemInstance * | GetOwnerSystem () const |
| ezParticleEffectInstance * | GetOwnerEffect () const |
| virtual void | RequestRequiredWorldModulesForCache (ezParticleWorldModule *pParticleModule) |
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 | |
| static ezUInt16 | ComputeTrailPointBucketSize (ezUInt16 uiMaxTrailPoints) |
| Computes the memory bucket size needed for storing trail points. | |
Static Public Member Functions inherited from ezNoBase | |
| static const ezRTTI * | GetStaticRTTI () |
Public Attributes | |
| ezEnum< ezParticleTypeRenderMode > | m_RenderMode |
| ezUInt16 | m_uiMaxPoints |
| ezTime | m_UpdateDiff |
| ezTexture2DResourceHandle | m_hTexture |
| ezEnum< ezParticleTextureAtlasType > | m_TextureAtlasType |
| ezUInt8 | m_uiNumSpritesX = 1 |
| ezUInt8 | m_uiNumSpritesY = 1 |
| ezTempHashedString | m_sTintColorParameter |
| ezEnum< ezParticleLightingMode > | m_LightingMode |
| float | m_fNormalCurvature = 0.5f |
| float | m_fLightDirectionality = 0.5f |
| ezMaterialResourceHandle | m_hCustomMaterial |
Public Attributes inherited from ezProcessingStreamProcessor | |
| float | m_fPriority = 0.0f |
| Used for sorting processors, to ensure a certain order. Lower priority == executed first. | |
Protected Member Functions | |
| virtual void | InitializeElements (ezUInt64 uiStartIndex, ezUInt64 uiNumElements) override |
| This method needs to be implemented in order to initialize new elements to specific values. | |
| virtual void | Process (ezUInt64 uiNumElements) override |
| The actual method which processes the data, will be called with the number of elements to process. | |
| void | OnParticleDeath (const ezStreamGroupElementRemovedEvent &e) |
| ezUInt16 | GetIndexForTrailPoints () |
| const ezVec4 * | GetTrailPointsPositions (ezUInt32 index) const |
| ezVec4 * | GetTrailPointsPositions (ezUInt32 index) |
Protected Member Functions inherited from ezParticleType | |
| virtual void | StepParticleSystem (const ezTime &tDiff, ezUInt32 uiNumNewParticles) |
Protected Member Functions inherited from ezParticleModule | |
| virtual void | OnReset () |
| Called by Reset() to perform custom cleanup. | |
| void | CreateStream (const char *szName, ezProcessingStream::DataType Type, ezProcessingStream **ppStream, bool bWillInitializeStream) |
| 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. | |
| ezRandom & | GetRNG () const |
Protected Attributes | |
| ezProcessingStream * | m_pStreamLifeTime = nullptr |
| ezProcessingStream * | m_pStreamPosition = nullptr |
| ezProcessingStream * | m_pStreamSize = nullptr |
| ezProcessingStream * | m_pStreamColor = nullptr |
| ezProcessingStream * | m_pStreamTrailData = nullptr |
| ezProcessingStream * | m_pStreamVariation = nullptr |
| ezTime | m_LastSnapshot |
| ezUInt8 | m_uiCurFirstIndex = 0 |
| float | m_fSnapshotFraction |
| ezArrayPtr< ezBaseParticleShaderData > | m_BaseParticleData |
| ezArrayPtr< ezTrailParticleShaderData > | m_TrailParticleData |
| ezArrayPtr< ezVec4 > | m_TrailPointsShared |
| ezDynamicArray< ezTrailParticlePointsData64, ezAlignedAllocatorWrapper > | m_TrailPoints64 |
| Storage for trail points. | |
| ezDynamicArray< ezUInt16 > | m_FreeTrailData |
| Freelist for trail data allocation. | |
Protected Attributes inherited from ezParticleType | |
| ezTime | m_TimeDiff |
| ezUInt64 | m_uiLastExtractedFrame |
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 | ezParticleTypeTrailFactory |
Additional Inherited Members | |
Static Protected Member Functions inherited from ezParticleType | |
| static ezUInt32 | ComputeSortingKey (ezParticleTypeRenderMode::Enum mode, ezUInt64 uiResource1Hash, ezUInt64 uiResource2Hash) |
Renders particles as textured ribbons following their movement path.
Trails record particle positions over time and render a ribbon connecting the trail points. The trail length is determined by the maximum number of points and the update interval. Older trail points fade out automatically. Trails can be lit or fullbright and support texture atlases.
|
overridevirtual |
Implements ezParticleModule.
|
overridevirtual |
Generates render data for all active particles.
Called during render data extraction to create render objects for this particle type.
Implements ezParticleType.
|
inlineoverridevirtual |
Returns an approximation of the maximum trail radius.
This is an estimate based on particle size and maximum trail length. Inspecting actual trail positions would be more accurate but costly.
Reimplemented from ezParticleType.
|
overrideprotectedvirtual |
This method needs to be implemented in order to initialize new elements to specific values.
Reimplemented from ezParticleType.
|
overrideprotectedvirtual |
The actual method which processes the data, will be called with the number of elements to process.
Implements ezProcessingStreamProcessor.