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

Public Member Functions | |
| virtual void | CreateRequiredStreams () override |
| virtual void | ExtractTypeRenderData (ezMsgExtractRenderData &ref_msg, const ezTransform &instanceTransform) const override |
Public Member Functions inherited from ezParticleType | |
| virtual float | GetMaxParticleRadius (float fParticleSize) const |
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 |
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. | |
Public Attributes | |
| ezMeshResourceHandle | m_hMesh |
| ezMaterialResourceHandle | m_hMaterial |
| float | m_fScale = 1.0f |
| ezTempHashedString | m_sTintColorParameter |
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. | |
| bool | QueryMeshAndMaterialInfo () const |
| Queries and caches mesh and material information from resources. | |
| void | RequestRequiredWorldModulesForCache (ezParticleWorldModule *pParticleModule) override |
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 | |
| ezRenderDataManager * | m_pRenderDataManager = nullptr |
| ezProcessingStream * | m_pStreamPosition = nullptr |
| ezProcessingStream * | m_pStreamSize = nullptr |
| ezProcessingStream * | m_pStreamColor = nullptr |
| ezProcessingStream * | m_pStreamRotationSpeed = nullptr |
| ezProcessingStream * | m_pStreamRotationOffset = nullptr |
| ezProcessingStream * | m_pStreamAxis = nullptr |
| ezProcessingStream * | m_pStreamVariation = nullptr |
| bool | m_bRenderDataCached = false |
| ezRenderData::Category | m_RenderCategory |
| ezInstanceDataOffset | m_InstanceDataOffset |
| ezUInt8 | m_uiNumSubMeshes = 0 |
| ezDynamicArray< ezMaterialResourceHandle > | m_CachedSubMeshMaterials |
| bool | m_bMaterialOverride = false |
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 | ezParticleTypeMeshFactory |
Additional Inherited Members | |
Static Public Member Functions inherited from ezNoBase | |
| static const ezRTTI * | GetStaticRTTI () |
Static Protected Member Functions inherited from ezParticleType | |
| static ezUInt32 | ComputeSortingKey (ezParticleTypeRenderMode::Enum mode, ezUInt64 uiResource1Hash, ezUInt64 uiResource2Hash) |
Renders particles as instanced 3D meshes.
Each particle renders a full 3D mesh at its position, oriented according to its rotation axis. Materials can be overridden globally or use the mesh's default materials. Uses instanced rendering for performance when many particles share the same mesh.
|
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.
|
overrideprotectedvirtual |
This method needs to be implemented in order to initialize new elements to specific values.
Reimplemented from ezParticleType.
|
inlineoverrideprotectedvirtual |
The actual method which processes the data, will be called with the number of elements to process.
Implements ezProcessingStreamProcessor.
|
overrideprotectedvirtual |
Override this to cache world module pointers for later access.
Cached modules can be retrieved via ezParticleWorldModule::GetCachedWorldModule().
Reimplemented from ezParticleModule.