UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDynamicSpriteEmitterDataBase Struct Reference

#include <ParticleHelper.h>

+ Inheritance diagram for FDynamicSpriteEmitterDataBase:

Public Member Functions

 FDynamicSpriteEmitterDataBase (const UParticleModuleRequired *RequiredModule)
 
virtual ~FDynamicSpriteEmitterDataBase ()
 
const FMaterialRenderProxyGetMaterialRenderProxy ()
 
void SortSpriteParticles (int32 SortMode, bool bLocalSpace, int32 ParticleCount, const uint8 *ParticleData, int32 ParticleStride, const uint16 *ParticleIndices, const FSceneView *View, const FMatrix &LocalToWorld, FParticleOrder *ParticleOrder) const
 
virtual int32 GetDynamicVertexStride (ERHIFeatureLevel::Type) const
 
virtual int32 GetDynamicParameterVertexStride () const
 
virtual const FDynamicSpriteEmitterReplayDataBaseGetSourceData () const
 
virtual void GetIndexAllocInfo (int32 &OutNumIndices, int32 &OutStride) const
 
virtual void RenderDebug (const FParticleSystemSceneProxy *Proxy, FPrimitiveDrawInterface *PDI, const FSceneView *View, bool bCrosses) const
 
virtual void DoBufferFill (FAsyncBufferFillData &Me) const
 
void BuildViewFillData (const FParticleSystemSceneProxy *Proxy, const FSceneView *InView, int32 InVertexCount, int32 InVertexSize, int32 InDynamicParameterVertexSize, FGlobalDynamicIndexBuffer &DynamicIndexBuffer, FGlobalDynamicVertexBuffer &DynamicVertexBuffer, FGlobalDynamicVertexBufferAllocation &DynamicVertexAllocation, FGlobalDynamicIndexBufferAllocation &DynamicIndexAllocation, FGlobalDynamicVertexBufferAllocation *DynamicParameterAllocation, FAsyncBufferFillData &Data) const
 
- Public Member Functions inherited from FDynamicEmitterDataBase
 FDynamicEmitterDataBase (const class UParticleModuleRequired *RequiredModule)
 
virtual ~FDynamicEmitterDataBase ()
 
voidoperator new (size_t Size)
 
void operator delete (void *RawMemory, size_t Size)
 
virtual void UpdateRenderThreadResourcesEmitter (const FParticleSystemSceneProxy *InOwnerProxy)
 
virtual void ReleaseRenderThreadResources (const FParticleSystemSceneProxy *InOwnerProxy)
 
virtual void GetDynamicMeshElementsEmitter (const FParticleSystemSceneProxy *Proxy, const FSceneView *View, const FSceneViewFamily &ViewFamily, int32 ViewIndex, FMeshElementCollector &Collector) const
 
virtual void GatherSimpleLights (const FParticleSystemSceneProxy *Proxy, const FSceneViewFamily &ViewFamily, FSimpleLightArray &OutParticleLights) const
 
virtual const FDynamicEmitterReplayDataBaseGetSource () const =0
 
virtual const FMacroUVOverrideGetMacroUVOverride () const
 

Public Attributes

const FMaterialRenderProxyMaterialResource
 
uint32 bUsesDynamicParameter:1
 
- Public Attributes inherited from FDynamicEmitterDataBase
TStatId StatID
 
uint32 bSelected:1
 
uint32 bValid:1
 
int32 EmitterIndex
 

Detailed Description

Base class for Sprite emitters and other emitter types that share similar features.

Constructor & Destructor Documentation

◆ FDynamicSpriteEmitterDataBase()

FDynamicSpriteEmitterDataBase::FDynamicSpriteEmitterDataBase ( const UParticleModuleRequired RequiredModule)
inline

◆ ~FDynamicSpriteEmitterDataBase()

virtual FDynamicSpriteEmitterDataBase::~FDynamicSpriteEmitterDataBase ( )
inlinevirtual

Member Function Documentation

◆ BuildViewFillData()

void FDynamicSpriteEmitterDataBase::BuildViewFillData ( const FParticleSystemSceneProxy Proxy,
const FSceneView InView,
int32  InVertexCount,
int32  InVertexSize,
int32  InDynamicParameterVertexSize,
FGlobalDynamicIndexBuffer DynamicIndexBuffer,
FGlobalDynamicVertexBuffer DynamicVertexBuffer,
FGlobalDynamicVertexBufferAllocation DynamicVertexAllocation,
FGlobalDynamicIndexBufferAllocation DynamicIndexAllocation,
FGlobalDynamicVertexBufferAllocation DynamicParameterAllocation,
FAsyncBufferFillData Data 
) const

Set up an buffer for async filling

Parameters
ProxyThe primitive scene proxy for the emitter.
InViewView for this buffer
InVertexCountCount of verts for this buffer
InVertexSizeStride of these verts, only used for verification
InDynamicParameterVertexStrideStride of the dynamic parameter

◆ DoBufferFill()

virtual void FDynamicSpriteEmitterDataBase::DoBufferFill ( FAsyncBufferFillData Me) const
inlinevirtual

◆ GetDynamicParameterVertexStride()

virtual int32 FDynamicSpriteEmitterDataBase::GetDynamicParameterVertexStride ( ) const
inlinevirtual

Get the vertex stride for the dynamic parameter rendering data

Reimplemented in FDynamicSpriteEmitterData, FDynamicMeshEmitterData, FDynamicBeam2EmitterData, and FDynamicTrailsEmitterData.

◆ GetDynamicVertexStride()

virtual int32 FDynamicSpriteEmitterDataBase::GetDynamicVertexStride ( ERHIFeatureLevel::Type  ) const
inlinevirtual

Get the vertex stride for the dynamic rendering data

Reimplemented in FDynamicSpriteEmitterData, FDynamicMeshEmitterData, FDynamicBeam2EmitterData, and FDynamicTrailsEmitterData.

◆ GetIndexAllocInfo()

virtual void FDynamicSpriteEmitterDataBase::GetIndexAllocInfo ( int32 OutNumIndices,
int32 OutStride 
) const
inlinevirtual

Gets the information required for allocating this emitters indices from the global index array.

Reimplemented in FDynamicBeam2EmitterData, and FDynamicTrailsEmitterData.

◆ GetMaterialRenderProxy()

const FMaterialRenderProxy * FDynamicSpriteEmitterDataBase::GetMaterialRenderProxy ( )
inlinevirtual

Retrieve the material render proxy to use for rendering this emitter. PURE VIRTUAL

Parameters
bSelectedWhether the object is selected
Returns
FMaterialRenderProxy* The material proxt to render with.

Implements FDynamicEmitterDataBase.

◆ GetSourceData()

virtual const FDynamicSpriteEmitterReplayDataBase * FDynamicSpriteEmitterDataBase::GetSourceData ( ) const
inlinevirtual

Get the source replay data for this emitter

Reimplemented in FDynamicRibbonEmitterData, FDynamicSpriteEmitterData, FDynamicMeshEmitterData, and FDynamicTrailsEmitterData.

◆ RenderDebug()

void FDynamicSpriteEmitterDataBase::RenderDebug ( const FParticleSystemSceneProxy Proxy,
FPrimitiveDrawInterface PDI,
const FSceneView View,
bool  bCrosses 
) const
virtual

Debug rendering

Parameters
ProxyThe primitive scene proxy for the emitter.
PDIThe primitive draw interface to render with
ViewThe scene view being rendered
bCrossesIf true, render Crosses at particle position; false, render points

Reimplemented in FDynamicRibbonEmitterData, FDynamicAnimTrailEmitterData, FDynamicBeam2EmitterData, and FDynamicTrailsEmitterData.

◆ SortSpriteParticles()

void FDynamicSpriteEmitterDataBase::SortSpriteParticles ( int32  SortMode,
bool  bLocalSpace,
int32  ParticleCount,
const uint8 ParticleData,
int32  ParticleStride,
const uint16 ParticleIndices,
const FSceneView View,
const FMatrix LocalToWorld,
FParticleOrder ParticleOrder 
) const

Sort the given sprite particles

Parameters
SorceModeThe sort mode to utilize (EParticleSortMode)
bLocalSpacetrue if the emitter is using local space
ParticleCountThe number of particles
ParticleDataThe actual particle data
ParticleStrideThe stride between entries in the ParticleData array
ParticleIndicesIndirect index list into ParticleData
ViewThe scene view being rendered
LocalToWorldThe local to world transform of the component rendering the emitter
ParticleOrderThe array to fill in with ordered indices

Member Data Documentation

◆ bUsesDynamicParameter

uint32 FDynamicSpriteEmitterDataBase::bUsesDynamicParameter

true if the particle emitter utilizes the DynamicParameter module

◆ MaterialResource

const FMaterialRenderProxy* FDynamicSpriteEmitterDataBase::MaterialResource

The material render proxy for this emitter


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