UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FParticleSystemSceneProxy Class Referencefinal

#include <ParticleSystemSceneProxy.h>

+ Inheritance diagram for FParticleSystemSceneProxy:

Public Member Functions

SIZE_T GetTypeHash () const override
 
ENGINE_API FParticleSystemSceneProxy (const FParticleSystemSceneProxyDesc &Desc)
 
virtual ~FParticleSystemSceneProxy ()
 
virtual bool CanBeOccluded () const override
 
virtual bool HasCustomOcclusionBounds () const override
 
virtual FBoxSphereBounds GetCustomOcclusionBounds () const override
 
virtual void GetDynamicMeshElements (const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, FMeshElementCollector &Collector) const override
 
virtual FPrimitiveViewRelevance GetViewRelevance (const FSceneView *View) const override
 
virtual void OnTransformChanged (FRHICommandListBase &RHICmdList) override
 
virtual void GatherSimpleLights (const FSceneViewFamily &ViewFamily, FSimpleLightArray &OutParticleLights) const override
 
virtual void CreateRenderThreadResources (FRHICommandListBase &RHICmdList) override
 
void ReleaseRenderThreadResources ()
 
ENGINE_API void UpdateData (FParticleDynamicData *NewDynamicData)
 
void UpdateData_RenderThread (FParticleDynamicData *NewDynamicData)
 
FParticleDynamicDataGetDynamicData ()
 
FParticleDynamicDataGetLastDynamicData ()
 
void SetLastDynamicData (FParticleDynamicData *InLastDynamicData)
 
virtual uint32 GetMemoryFootprint (void) const override
 
uint32 GetAllocatedSize (void) const
 
void DetermineLODDistance (const FSceneView *View, int32 FrameNumber)
 
void UpdateWorldSpacePrimitiveUniformBuffer (FRHICommandListBase &RHICmdList) const
 
void GetObjectPositionAndScale (const FSceneView &View, FVector2D &ObjectNDCPosition, FVector2D &ObjectMacroUVScales) const
 
FMatrix GetWorldToLocal () const
 
bool GetCastShadow () const
 
const FMaterialRelevanceGetMaterialRelevance () const
 
float GetPendingLODDistance () const
 
void SetVisualizeLODIndex (int32 InVisualizeLODIndex)
 
int32 GetVisualizeLODIndex () const
 
FRHIUniformBufferGetWorldSpacePrimitiveUniformBuffer () const
 
const FColoredMaterialRenderProxyGetDeselectedWireframeMatInst () const
 
FMeshBatchGetPooledMeshBatch ()
 
ERHIFeatureLevel::Type GetFeatureLevel () const
 
- Public Member Functions inherited from FPrimitiveSceneProxy
ENGINE_API FPrimitiveSceneProxy (const UPrimitiveComponent *InComponent, FName ResourceName=NAME_None)
 
ENGINE_API FPrimitiveSceneProxy (const FPrimitiveSceneProxyDesc &InDesc, FName ResourceName=NAME_None)
 
ENGINE_API FPrimitiveSceneProxy (FPrimitiveSceneProxy const &)
 
virtual ENGINE_API ~FPrimitiveSceneProxy ()
 
ENGINE_API void SetSelection_GameThread (const bool bInParentSelected, const bool bInIndividuallySelected=false)
 
ENGINE_API void SetLevelInstanceEditingState_GameThread (const bool bInEditingState)
 
void SetHovered_GameThread (const bool bInHovered)
 
void SetLightingChannels_GameThread (FLightingChannels LightingChannels)
 
void SetHiddenEdViews_GameThread (uint64 InHiddenEditorViews)
 
ENGINE_API void SetPrimitiveColor_GameThread (const FLinearColor &InPrimitiveColor)
 
ENGINE_API void ResetSceneVelocity_GameThread ()
 
void SetEvaluateWorldPositionOffset_GameThread (bool bEvaluate)
 
virtual void SetWorldPositionOffsetDisableDistance_GameThread (int32 NewValue)
 
virtual void SetInstanceCullDistance_RenderThread (float StartCullDistance, float EndCullDistance)
 
ENGINE_API bool IsShown (const FSceneView *View) const
 
ENGINE_API bool IsShadowCast (const FSceneView *View) const
 
ENGINE_API void RenderBounds (FPrimitiveDrawInterface *PDI, const FEngineShowFlags &EngineShowFlags, const FBoxSphereBounds &Bounds, bool bRenderInEditor) const
 
ENGINE_API bool VerifyUsedMaterial (const class FMaterialRenderProxy *MaterialRenderProxy) const
 
virtual int32 GetLOD (const FSceneView *View) const
 
virtual ENGINE_API HHitProxyCreateHitProxies (UPrimitiveComponent *Component, TArray< TRefCountPtr< HHitProxy > > &OutHitProxies)
 
virtual ENGINE_API HHitProxyCreateHitProxies (IPrimitiveComponent *ComponentInterface, TArray< TRefCountPtr< HHitProxy > > &OutHitProxies)
 
virtual void DrawStaticElements (FStaticPrimitiveDrawInterface *PDI)
 
virtual void GetMeshDescription (int32 LODIndex, TArray< FMeshBatch > &OutMeshElements) const
 
virtual void GetShadowShapes (FVector PreViewTranslation, TArray< FCapsuleShape3f > &OutCapsuleShapes) const
 
virtual bool IsCullingReversedByComponent () const
 
virtual void GetStreamableRenderAssetInfo (const FBoxSphereBounds &PrimitiveBounds, TArray< struct FStreamingRenderAssetPrimitiveInfo > &StreamableRenderAssets) const
 
bool IsSupportingStreamableRenderAssetsGathering () const
 
virtual bool CanApplyStreamableRenderAssetScaleFactor () const
 
bool IsForceMipStreaming () const
 
virtual const class FCardRepresentationDataGetMeshCardRepresentation () const
 
virtual void ApplyViewDependentMeshArguments (const FSceneView &View, FMeshBatch &ViewDependentMeshBatch) const
 
virtual const TArray< FBoxSphereBounds > * GetOcclusionQueries (const FSceneView *View) const
 
virtual void AcceptOcclusionResults (const FSceneView *View, TArray< bool > *Results, int32 ResultsStart, int32 NumResults)
 
virtual void GetLightRelevance (const FLightSceneProxy *LightSceneProxy, bool &bDynamic, bool &bRelevant, bool &bLightMapped, bool &bShadowMapped) const
 
virtual void GetDistanceFieldAtlasData (const class FDistanceFieldVolumeData *&OutDistanceFieldData, float &SelfShadowBias) const
 
virtual void GetDistanceFieldInstanceData (TArray< FRenderTransform > &InstanceLocalToPrimitiveTransforms) const final
 
virtual bool HeightfieldHasPendingStreaming () const
 
virtual bool StaticMeshHasPendingStreaming () const
 
virtual void GetHeightfieldRepresentation (UTexture2D *&OutHeightmapTexture, UTexture2D *&OutVisibilityTexture, FHeightfieldComponentDescription &OutDescription) const
 
virtual TConstArrayView< FPrimitiveComponentIdGetSourceLandscapeComponentIds () const
 
virtual void DestroyRenderThreadResources ()
 
virtual void OnDetachLight (const FLightSceneInfo *Light)
 
virtual bool AllowInstanceCullingOcclusionQueries () const
 
bool CanSkipRedundantTransformUpdates () const
 
void SetCanSkipRedundantTransformUpdates (bool bCanSkip)
 
virtual bool IsUsingDistanceCullFade () const
 
virtual bool HasSubprimitiveOcclusionQueries () const
 
virtual bool ShowInBSPSplitViewmode () const
 
virtual ESceneDepthPriorityGroup GetStaticDepthPriorityGroup () const
 
ENGINE_API ESceneDepthPriorityGroup GetDepthPriorityGroup (const FSceneView *View) const
 
SIZE_T GetAllocatedSize (void) const
 
void SetCollisionEnabled_GameThread (const bool bNewEnabled)
 
void SetCollisionEnabled_RenderThread (const bool bNewEnabled)
 
void SetCustomDepthEnabled_GameThread (const bool bInRenderCustomDepth)
 
void SetCustomDepthEnabled_RenderThread (const bool bInRenderCustomDepth)
 
void SetCustomDepthStencilValue_GameThread (const int32 InCustomDepthStencilValue)
 
void SetCustomDepthStencilValue_RenderThread (const int32 InCustomDepthStencilValue)
 
void SetDistanceFieldSelfShadowBias_RenderThread (float NewBias)
 
ENGINE_API void SetDrawDistance_RenderThread (float MinDrawDistance, float MaxDrawDistance, float VirtualTextureMaxDrawDistance)
 
FSceneInterfaceGetScene () const
 
FPrimitiveComponentId GetPrimitiveComponentId () const
 
FPrimitiveSceneInfoGetPrimitiveSceneInfo () const
 
const FMatrixGetLocalToWorld () const
 
bool IsLocalToWorldDeterminantNegative () const
 
const FBoxSphereBoundsGetBounds () const
 
const FBoxSphereBoundsGetLocalBounds () const
 
virtual ENGINE_API void GetPreSkinnedLocalBounds (FBoxSphereBounds &OutBounds) const
 
FName GetOwnerName () const
 
FName GetResourceName () const
 
FName GetLevelName () const
 
TStatId GetStatId () const
 
float GetMinDrawDistance () const
 
float GetMaxDrawDistance () const
 
int32 GetVisibilityId () const
 
int16 GetTranslucencySortPriority () const
 
float GetTranslucencySortDistanceOffset () const
 
int32 GetVirtualTextureLodBias () const
 
int32 GetVirtualTextureCullMips () const
 
int32 GetVirtualTextureMinCoverage () const
 
const TArray< int32 > & GetRuntimeVirtualTextureIds () const
 
bool IsMovable () const
 
bool IsOftenMoving () const
 
bool IsMeshShapeOftenMoving () const
 
ELightmapType GetLightmapType () const
 
bool IsStatic () const
 
bool IsSelectable () const
 
bool IsParentSelected () const
 
bool IsIndividuallySelected () const
 
bool IsEditingLevelInstanceChild () const
 
bool IsSelected () const
 
bool WantsEditorEffects () const
 
bool WantsSelectionOutline () const
 
ENGINE_API bool ShouldRenderCustomDepth () const
 
bool IsVisibleInSceneCaptureOnly () const
 
bool IsHiddenInSceneCapture () const
 
uint8 GetCustomDepthStencilValue () const
 
EStencilMask GetStencilWriteMask () const
 
uint8 GetLightingChannelMask () const
 
uint8 GetLightingChannelStencilValue () const
 
bool IsVisibleInReflectionCaptures () const
 
bool IsVisibleInRealTimeSkyCaptures () const
 
bool IsVisibleInRayTracing () const
 
bool IsVisibleInLumenScene () const
 
bool IsOpaqueOrMasked () const
 
bool SupportsMaterialCache () const
 
bool ShouldRenderInMainPass () const
 
bool ShouldRenderInDepthPass () const
 
bool SupportsParallelGDME () const
 
bool SinglePassGDME () const
 
bool SupportsParallelGDRTI () const
 
bool IsCollisionEnabled () const
 
bool IsHovered () const
 
bool IsOwnedBy (const FSceneViewOwner &Owner) const
 
bool HasViewDependentDPG () const
 
bool HasStaticLighting () const
 
bool NeedsUnbuiltPreviewLighting () const
 
bool CastsStaticShadow () const
 
bool CastsDynamicShadow () const
 
bool IsEmissiveLightSource () const
 
bool WritesVirtualTexture () const
 
bool WritesVirtualTexture (URuntimeVirtualTexture *VirtualTexture) const
 
bool AffectsDynamicIndirectLighting () const
 
bool AffectsDistanceFieldLighting () const
 
bool AffectsIndirectLightingWhileHidden () const
 
EIndirectLightingCacheQuality GetIndirectLightingCacheQuality () const
 
bool CastsVolumetricTranslucentShadow () const
 
bool CastsContactShadow () const
 
bool CastsDeepShadow () const
 
bool CastsCapsuleDirectShadow () const
 
bool CastsDynamicIndirectShadow () const
 
float GetDynamicIndirectShadowMinVisibility () const
 
bool CastsHiddenShadow () const
 
bool CastsShadowAsTwoSided () const
 
bool CastsSelfShadowOnly () const
 
bool CastsInsetShadow () const
 
bool CastsCinematicShadow () const
 
bool CastsFarShadow () const
 
bool LightAttachmentsAsGroup () const
 
ENGINE_API bool UseSingleSampleShadowFromStationaryLights () const
 
bool StaticElementsAlwaysUseProxyPrimitiveUniformBuffer () const
 
bool DoesVFRequirePrimitiveUniformBuffer () const
 
ENGINE_API bool IsInstanceDataGPUOnly () const
 
bool DoesMeshBatchesUseSceneInstanceCount () const
 
bool ShouldUseAsOccluder () const
 
bool AllowApproximateOcclusion () const
 
bool Holdout () const
 
bool IsSplineMesh () const
 
bool IsSkinnedMesh () const
 
bool IsFirstPerson () const
 
bool IsFirstPersonWorldSpaceRepresentation () const
 
bool IsOwnerNoSee () const
 
bool IsOnlyOwnerSee () const
 
FRHIUniformBufferGetUniformBuffer () const
 
bool HasPerInstanceHitProxies () const
 
ENGINE_API bool UseEditorCompositing (const FSceneView *View) const
 
const FVectorGetActorPosition () const
 
const bool ReceivesDecals () const
 
bool WillEverBeLit () const
 
bool HasValidSettingsForStaticLighting () const
 
bool SupportsDistanceFieldRepresentation () const
 
bool SupportsHeightfieldRepresentation () const
 
bool IsLumenHeightfield () const
 
bool IsLandscapeProxy () const
 
bool IsLandscapeNaniteProxy () const
 
bool IsCompatibleWithLumenCardSharing () const
 
bool SupportsInstanceDataBuffer () const
 
bool SupportsSortedTriangles () const
 
bool TreatAsBackgroundForOcclusion () const
 
bool ShouldNotifyOnWorldAddRemove () const
 
bool IsForceHidden () const
 
bool ShouldReceiveMobileCSMShadows () const
 
bool IsRayTracingFarField () const
 
int32 GetRayTracingGroupId () const
 
uint8 GetRayTracingGroupCullingPriority () const
 
bool EvaluateWorldPositionOffset () const
 
bool AnyMaterialHasWorldPositionOffset () const
 
bool AnyMaterialAlwaysEvaluatesWorldPositionOffset () const
 
bool AnyMaterialHasPixelAnimation () const
 
bool AnyMaterialUsesTemporalResponsiveness () const
 
bool AnyMaterialUsesMotionVectorWorldOffset () const
 
float GetMaxWorldPositionOffsetExtent () const
 
const FVector2fGetMinMaxMaterialDisplacement () const
 
float GetAbsMaxDisplacement () const
 
bool HasDynamicTransform () const
 
bool DrawsVelocity () const
 
bool AlwaysHasVelocity () const
 
FLinearColor GetWireframeColor () const
 
FLinearColor GetPrimitiveColor () const
 
void SetWireframeColor (const FLinearColor &InWireframeColor)
 
void SetPrimitiveColor (const FLinearColor &InPrimitiveColor)
 
virtual bool IsDetailMesh () const
 
virtual FSkinningSceneExtensionProxyGetSkinningSceneExtensionProxy () const
 
bool IsNaniteMesh () const
 
bool IsAlwaysVisible () const
 
bool IsHeterogeneousVolume () const
 
bool SupportsGPUScene () const
 
bool HasDeformableMesh () const
 
virtual bool HasDistanceFieldRepresentation () const
 
virtual bool HasDynamicIndirectShadowCasterRepresentation () const
 
virtual bool GetInstanceDrawDistanceMinMax (FVector2f &OutDistanceMinMax) const
 
virtual bool GetInstanceWorldPositionOffsetDisableDistance (float &OutWPODisableDistance) const
 
virtual void GetNaniteResourceInfo (uint32 &ResourceID, uint32 &HierarchyOffset, uint32 &ImposterIndex) const
 
virtual float GetAnimationMinScreenSize () const
 
virtual FRenderCurveResourceDataGetRenderCurveResourceData ()
 
virtual ENGINE_API void ApplyWorldOffset (FRHICommandListBase &RHICmdList, FVector InOffset)
 
virtual ENGINE_API void ApplyLateUpdateTransform (FRHICommandListBase &RHICmdList, const FMatrix &LateUpdateTransform)
 
ENGINE_API void UpdateUniformBuffer (FRHICommandList &RHICmdList)
 
ENGINE_API void BuildUniformShaderParameters (FPrimitiveUniformShaderParametersBuilder &Builder) const
 
virtual ENGINE_API void SetDebugMassData (const TArray< FDebugMassData > &InDebugMassData)
 
FName GetMeshDrawCommandStatsCategory () const
 
virtual void GetLCIs (FLCIArray &LCIs)
 
virtual int32 GetLightMapResolution () const
 
virtual int32 GetLightMapCoordinateIndex () const
 
bool IsDrawnInGame () const
 
ENGINE_API void SetDrawnInGame_RenderThread (bool bInDrawInGame)
 
bool IsDrawnInEditor () const
 
virtual uint8 GetCurrentFirstLODIdx_RenderThread () const
 
virtual FDesiredLODLevel GetDesiredLODLevel_RenderThread (const FSceneView *View) const
 
virtual float GetLodScreenSizeScale () const
 
virtual float GetGpuLodInstanceRadius () const
 
virtual FUintVector2 GetMeshPaintTextureDescriptor () const
 
virtual ENGINE_API uint32 GetMaterialCacheDescriptor () const
 
const FCustomPrimitiveDataGetCustomPrimitiveData () const
 
EShadowCacheInvalidationBehavior GetShadowCacheInvalidationBehavior () const
 
bool HasInstanceDataBuffers () const
 
ENGINE_API const FInstanceSceneDataBuffersGetInstanceSceneDataBuffers (EInstanceBufferAccessFlags AccessFlags=EInstanceBufferAccessFlags::SynchronizeUpdateTask) const
 
virtual FInstanceDataUpdateTaskInfoGetInstanceDataUpdateTaskInfo () const
 
ENGINE_API FInstanceDataBufferHeader GetInstanceDataHeader () const
 

Public Attributes

TArray< int32MeshEmitterLODIndices
 
- Public Attributes inherited from FPrimitiveSceneProxy
TArray< FDebugMassDataDebugMassData
 
TSharedPtr< int32, ESPMode::ThreadSafeSimpleStreamableAssetManagerIndex = MakeShared<int32, ESPMode::ThreadSafe>(INDEX_NONE)
 
TArray< class FMaterialCacheVirtualTextureRenderProxy * > MaterialCacheRenderProxies
 
uint32 MaterialCacheDescriptor = UINT32_MAX
 

Protected Member Functions

void CreateRenderThreadResourcesForEmitterData ()
 
void ReleaseRenderThreadResourcesForEmitterData ()
 
- Protected Member Functions inherited from FPrimitiveSceneProxy
ENGINE_API void SetupInstanceSceneDataBuffers (const FInstanceSceneDataBuffers *InInstanceSceneDataBuffers)
 
ENGINE_API void UpdateVisibleInLumenScene ()
 
bool IsRuntimeVirtualTextureOnly () const
 
bool DrawInRuntimeVirtualTextureOnly (bool bEditor) const
 
void OverrideOwnerName (FName InOwnerName)
 
ENGINE_API void OnLevelAddedToWorld_RenderThread ()
 
ENGINE_API void OnLevelRemovedFromWorld_RenderThread ()
 
void SetForceHidden (bool bForceHiddenIn)
 
virtual void OnForceHiddenChanged ()
 
ENGINE_API void EnableGPUSceneSupportFlags ()
 
virtual ENGINE_API void UpdateInstances_RenderThread (FRHICommandListBase &RHICmdList, const FBoxSphereBounds &InBounds, const FBoxSphereBounds &InLocalBounds, const FBoxSphereBounds &InStaticMeshBounds) final
 
virtual ENGINE_API void UpdateInstances_RenderThread (FRHICommandListBase &RHICmdList, const FBoxSphereBounds &InBounds, const FBoxSphereBounds &InLocalBounds)
 
void SetSelection_RenderThread (const bool bInParentSelected, const bool bInIndividuallySelected)
 
void SetLevelInstanceEditingState_RenderThread (const bool bInLevelInstanceEditingState)
 
void SetHovered_RenderThread (const bool bInHovered)
 
virtual void OnEvaluateWorldPositionOffsetChanged_RenderThread ()
 
ENGINE_API FRenderBounds PadInstanceLocalBounds (const FRenderBounds &InBounds)
 

Protected Attributes

uint8 bCastShadow: 1
 
uint8 bManagingSignificance: 1
 
TEnumAsByte< ERHIFeatureLevel::TypeFeatureLevel
 
FMaterialRelevance MaterialRelevance
 
FParticleDynamicDataDynamicData
 
FParticleDynamicDataLastDynamicData
 
FColoredMaterialRenderProxyDeselectedWireframeMaterialInstance
 
int32 LODMethod
 
float PendingLODDistance
 
int32 VisualizeLODIndex
 
int32 LastFramePreRendered
 
TUniformBuffer< FPrimitiveUniformShaderParametersWorldSpacePrimitiveUniformBuffer
 
uint32 WorldSpaceUBHash = 0
 
UE::FMutex WorldSpacePrimitiveUniformBufferMutex
 
TIndirectArray< FMeshBatch, TInlineAllocator< 4 > > MeshBatchPool
 
int32 FirstFreeMeshBatch
 
TArray< FDynamicEmitterDataBase * > DynamicDataForThisFrame
 
- Protected Attributes inherited from FPrimitiveSceneProxy
uint8 bSupportsParallelGDME: 1
 
uint8 bSinglePassGDME: 1
 
uint8 bSupportsParallelGDRTI: 1
 
uint8 bVisibleInLumenScene: 1
 
uint8 bOpaqueOrMasked: 1
 
uint8 bCanSkipRedundantTransformUpdates: 1
 
uint8 bGoodCandidateForCachedShadowmap: 1
 
uint8 bNeedsUnbuiltPreviewLighting: 1
 
uint8 bHasValidSettingsForStaticLighting: 1
 
uint8 bWillEverBeLit: 1
 
uint8 bCastDynamicShadow: 1
 
uint8 bEmissiveLightSource: 1
 
uint8 bAffectDynamicIndirectLighting: 1
 
uint8 bAffectIndirectLightingWhileHidden: 1
 
uint8 bAffectDistanceFieldLighting: 1
 
uint8 bSupportsMaterialCache: 1
 
uint8 bCastStaticShadow: 1
 
EShadowCacheInvalidationBehavior ShadowCacheInvalidationBehavior
 
uint8 bCastVolumetricTranslucentShadow: 1
 
uint8 bCastContactShadow: 1
 
uint8 bCastDeepShadow: 1
 
uint8 bCastCapsuleDirectShadow: 1
 
uint8 bCastsDynamicIndirectShadow: 1
 
uint8 bCastHiddenShadow: 1
 
uint8 bCastShadowAsTwoSided: 1
 
uint8 bSelfShadowOnly: 1
 
uint8 bCastInsetShadow: 1
 
uint8 bCastCinematicShadow: 1
 
uint8 bCastFarShadow: 1
 
uint8 bLightAttachmentsAsGroup: 1
 
uint8 bSingleSampleShadowFromStationaryLights: 1
 
uint8 bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer: 1
 
uint8 bVFRequiresPrimitiveUniformBuffer: 1
 
uint8 bDoesMeshBatchesUseSceneInstanceCount: 1
 
uint8 bIsStaticMesh: 1
 
uint8 bIsNaniteMesh: 1
 
uint8 bIsAlwaysVisible: 1
 
uint8 bIsHeterogeneousVolume: 1
 
uint8 bIsHierarchicalInstancedStaticMesh: 1
 
uint8 bIsLandscapeGrass: 1
 
uint8 bSupportsGPUScene: 1
 
uint8 bHasDeformableMesh: 1
 
uint8 bEvaluateWorldPositionOffset: 1
 
uint8 bHasWorldPositionOffsetVelocity: 1
 
uint8 bAnyMaterialHasWorldPositionOffset: 1
 
uint8 bAnyMaterialAlwaysEvaluatesWorldPositionOffset: 1
 
uint8 bAnyMaterialHasPixelAnimation: 1
 
uint8 bAnyMaterialUsesTemporalResponsiveness: 1
 
uint8 bAnyMaterialUsesMotionVectorWorldOffset: 1
 
uint8 bAlwaysHasVelocity: 1
 
uint8 bSupportsDistanceFieldRepresentation: 1
 
uint8 bSupportsHeightfieldRepresentation: 1
 
uint8 bLumenHeightfield: 1
 
uint8 bIsLandscapeProxy: 1
 
uint8 bIsLandscapeNaniteProxy: 1
 
uint8 bCompatibleWithLumenCardSharing: 1
 
uint8 bSupportsSortedTriangles: 1
 
uint8 bShouldNotifyOnWorldAddRemove: 1
 
uint8 bWantsSelectionOutline: 1
 
uint8 bVerifyUsedMaterials: 1
 
uint8 bWantsEditorEffects: 1
 
uint8 bAllowApproximateOcclusion: 1
 
uint8 bHoldout: 1
 
uint8 bSplineMesh: 1
 
uint8 bSkinnedMesh: 1
 
uint8 bInstancedSkinnedMesh: 1
 
uint8 bIsFirstPerson: 1
 
uint8 bIsFirstPersonWorldSpaceRepresentation: 1
 
uint8 bSupportsRuntimeVirtualTexture: 1
 
uint8 bImplementsStreamableAssetGathering: 1
 
FMaterialRelevance CombinedMaterialRelevance
 
TEnumAsByte< EIndirectLightingCacheQualityIndirectLightingCacheQuality
 
int8 VirtualTextureLodBias
 
int8 VirtualTextureCullMips
 
int8 VirtualTextureMinCoverage
 
float DynamicIndirectShadowMinVisibility
 
float DistanceFieldSelfShadowBias
 
float MaxWPOExtent
 
FVector2f MinMaxMaterialDisplacement
 
TArray< int32RuntimeVirtualTextures
 
TArray< ERuntimeVirtualTextureMaterialTypeRuntimeVirtualTextureMaterialTypes
 
float MaxDrawDistance
 
float MinDrawDistance
 

Friends

struct FDynamicSpriteEmitterDataBase
 

Additional Inherited Members

- Public Types inherited from FPrimitiveSceneProxy
enum class  EInstanceBufferAccessFlags { SynchronizeUpdateTask , UnsynchronizedAndUnsafe }
 
typedef TArray< class FLightCacheInterface *, TInlineAllocator< 8 > > FLCIArray
 
- Static Public Member Functions inherited from FPrimitiveSceneProxy
static ENGINE_API void DrawArc (FPrimitiveDrawInterface *PDI, const FVector &Start, const FVector &End, const float Height, const uint32 Segments, const FLinearColor &Color, uint8 DepthPriorityGroup, const float Thickness=0.0f, const bool bScreenSpace=false)
 
static ENGINE_API void DrawArrowHead (FPrimitiveDrawInterface *PDI, const FVector &Tip, const FVector &Origin, const float Size, const FLinearColor &Color, uint8 DepthPriorityGroup, const float Thickness=0.0f, const bool bScreenSpace=false)
 
- Static Public Attributes inherited from FPrimitiveSceneProxy
static constexpr int32 InvalidRayTracingGroupId = -1
 

Constructor & Destructor Documentation

◆ FParticleSystemSceneProxy()

FParticleSystemSceneProxy::FParticleSystemSceneProxy ( const FParticleSystemSceneProxyDesc Desc)

Initialization constructor.

◆ ~FParticleSystemSceneProxy()

FParticleSystemSceneProxy::~FParticleSystemSceneProxy ( )
virtual

Member Function Documentation

◆ CanBeOccluded()

virtual bool FParticleSystemSceneProxy::CanBeOccluded ( ) const
inlineoverridevirtual
Returns
true if the proxy can be culled when occluded by other primitives

Reimplemented from FPrimitiveSceneProxy.

◆ CreateRenderThreadResources()

void FParticleSystemSceneProxy::CreateRenderThreadResources ( FRHICommandListBase RHICmdList)
overridevirtual

Called when the rendering thread adds the proxy to the scene. This function allows for generating renderer-side resources.

Reimplemented from FPrimitiveSceneProxy.

◆ CreateRenderThreadResourcesForEmitterData()

void FParticleSystemSceneProxy::CreateRenderThreadResourcesForEmitterData ( )
protected

Allows dynamic emitter data to create render thread resources.

◆ DetermineLODDistance()

void FParticleSystemSceneProxy::DetermineLODDistance ( const FSceneView View,
int32  FrameNumber 
)

◆ GatherSimpleLights()

void FParticleSystemSceneProxy::GatherSimpleLights ( const FSceneViewFamily ViewFamily,
FSimpleLightArray OutParticleLights 
) const
overridevirtual

Gathers simple lights for this emitter.

Reimplemented from FPrimitiveSceneProxy.

◆ GetAllocatedSize()

uint32 FParticleSystemSceneProxy::GetAllocatedSize ( void  ) const
inline

◆ GetCastShadow()

bool FParticleSystemSceneProxy::GetCastShadow ( ) const
inline

◆ GetCustomOcclusionBounds()

virtual FBoxSphereBounds FParticleSystemSceneProxy::GetCustomOcclusionBounds ( ) const
inlineoverridevirtual

Return the custom occlusion bounds for this scene proxy.

Returns
FBoxSphereBounds The custom occlusion bounds.

Reimplemented from FPrimitiveSceneProxy.

◆ GetDeselectedWireframeMatInst()

const FColoredMaterialRenderProxy * FParticleSystemSceneProxy::GetDeselectedWireframeMatInst ( ) const
inline

◆ GetDynamicData()

FParticleDynamicData * FParticleSystemSceneProxy::GetDynamicData ( )
inline

◆ GetDynamicMeshElements()

void FParticleSystemSceneProxy::GetDynamicMeshElements ( const TArray< const FSceneView * > &  Views,
const FSceneViewFamily ViewFamily,
uint32  VisibilityMap,
FMeshElementCollector Collector 
) const
overridevirtual

Gathers the primitive's dynamic mesh elements. This will only be called if GetViewRelevance declares dynamic relevance. This is called from the rendering thread for each set of views that might be rendered.
Game thread state like UObjects must have their properties mirrored on the proxy to avoid race conditions. The rendering thread must not dereference UObjects. The gathered mesh elements will be used multiple times, any memory referenced must last as long as the Collector (eg no stack memory should be referenced). This function should not modify the proxy but simply collect a description of things to render. Updates to the proxy need to be pushed from game thread or external events.

Parameters
Views- the array of views to consider. These may not exist in the ViewFamily.
ViewFamily- the view family, for convenience
VisibilityMap- a bit representing this proxy's visibility in the Views array
Collector- gathers the mesh elements to be rendered and provides mechanisms for temporary allocations

Reimplemented from FPrimitiveSceneProxy.

◆ GetFeatureLevel()

ERHIFeatureLevel::Type FParticleSystemSceneProxy::GetFeatureLevel ( ) const
inline

◆ GetLastDynamicData()

FParticleDynamicData * FParticleSystemSceneProxy::GetLastDynamicData ( )
inline

◆ GetMaterialRelevance()

const FMaterialRelevance & FParticleSystemSceneProxy::GetMaterialRelevance ( ) const
inline

◆ GetMemoryFootprint()

virtual uint32 FParticleSystemSceneProxy::GetMemoryFootprint ( void  ) const
inlineoverridevirtual

Every derived class should override these functions

Implements FPrimitiveSceneProxy.

◆ GetObjectPositionAndScale()

void FParticleSystemSceneProxy::GetObjectPositionAndScale ( const FSceneView View,
FVector2D ObjectNDCPosition,
FVector2D ObjectMacroUVScales 
) const

Object position in post projection space.

◆ GetPendingLODDistance()

float FParticleSystemSceneProxy::GetPendingLODDistance ( ) const
inline

◆ GetPooledMeshBatch()

FMeshBatch * FParticleSystemSceneProxy::GetPooledMeshBatch ( )

Gets a mesh batch from the pool.

◆ GetTypeHash()

SIZE_T FParticleSystemSceneProxy::GetTypeHash ( ) const
overridevirtual

Return a type (or subtype) specific hash for sorting purposes

Implements FPrimitiveSceneProxy.

◆ GetViewRelevance()

FPrimitiveViewRelevance FParticleSystemSceneProxy::GetViewRelevance ( const FSceneView View) const
overridevirtual
Returns
Relevance for rendering the particle system primitive component in the given View

Reimplemented from FPrimitiveSceneProxy.

◆ GetVisualizeLODIndex()

int32 FParticleSystemSceneProxy::GetVisualizeLODIndex ( ) const
inline

◆ GetWorldSpacePrimitiveUniformBuffer()

FRHIUniformBuffer * FParticleSystemSceneProxy::GetWorldSpacePrimitiveUniformBuffer ( ) const
inline

◆ GetWorldToLocal()

FMatrix FParticleSystemSceneProxy::GetWorldToLocal ( ) const
inline

◆ HasCustomOcclusionBounds()

virtual bool FParticleSystemSceneProxy::HasCustomOcclusionBounds ( ) const
inlineoverridevirtual

Returns whether the proxy utilizes custom occlusion bounds or not

Returns
bool true if custom occlusion bounds are used, false if not;

Reimplemented from FPrimitiveSceneProxy.

◆ OnTransformChanged()

void FParticleSystemSceneProxy::OnTransformChanged ( FRHICommandListBase RHICmdList)
overridevirtual

Called to notify the proxy when its transform has been updated. Called in the thread that owns the proxy; game or rendering.

Reimplemented from FPrimitiveSceneProxy.

◆ ReleaseRenderThreadResources()

void FParticleSystemSceneProxy::ReleaseRenderThreadResources ( )

Called when the rendering thread removes the dynamic data from the scene.

◆ ReleaseRenderThreadResourcesForEmitterData()

void FParticleSystemSceneProxy::ReleaseRenderThreadResourcesForEmitterData ( )
protected

Allows dynamic emitter data to release render thread resources.

◆ SetLastDynamicData()

void FParticleSystemSceneProxy::SetLastDynamicData ( FParticleDynamicData InLastDynamicData)
inline

◆ SetVisualizeLODIndex()

void FParticleSystemSceneProxy::SetVisualizeLODIndex ( int32  InVisualizeLODIndex)
inline

◆ UpdateData()

void FParticleSystemSceneProxy::UpdateData ( FParticleDynamicData NewDynamicData)

◆ UpdateData_RenderThread()

void FParticleSystemSceneProxy::UpdateData_RenderThread ( FParticleDynamicData NewDynamicData)

◆ UpdateWorldSpacePrimitiveUniformBuffer()

void FParticleSystemSceneProxy::UpdateWorldSpacePrimitiveUniformBuffer ( FRHICommandListBase RHICmdList) const

Called by dynamic emitter data during initialization to make sure the world space primitive uniform buffer is up-to-date. Only called in the rendering thread.

Friends And Related Symbol Documentation

◆ FDynamicSpriteEmitterDataBase

Member Data Documentation

◆ bCastShadow

uint8 FParticleSystemSceneProxy::bCastShadow
protected

◆ bManagingSignificance

uint8 FParticleSystemSceneProxy::bManagingSignificance
protected

◆ DeselectedWireframeMaterialInstance

FColoredMaterialRenderProxy* FParticleSystemSceneProxy::DeselectedWireframeMaterialInstance
protected

◆ DynamicData

FParticleDynamicData* FParticleSystemSceneProxy::DynamicData
protected

◆ DynamicDataForThisFrame

TArray<FDynamicEmitterDataBase*> FParticleSystemSceneProxy::DynamicDataForThisFrame
mutableprotected

◆ FeatureLevel

TEnumAsByte<ERHIFeatureLevel::Type> FParticleSystemSceneProxy::FeatureLevel
protected

◆ FirstFreeMeshBatch

int32 FParticleSystemSceneProxy::FirstFreeMeshBatch
protected

◆ LastDynamicData

FParticleDynamicData* FParticleSystemSceneProxy::LastDynamicData
protected

◆ LastFramePreRendered

int32 FParticleSystemSceneProxy::LastFramePreRendered
protected

◆ LODMethod

int32 FParticleSystemSceneProxy::LODMethod
protected

◆ MaterialRelevance

FMaterialRelevance FParticleSystemSceneProxy::MaterialRelevance
protected

◆ MeshBatchPool

TIndirectArray<FMeshBatch, TInlineAllocator<4> > FParticleSystemSceneProxy::MeshBatchPool
protected

Pool for holding FMeshBatches to reduce allocations.

◆ MeshEmitterLODIndices

TArray<int32> FParticleSystemSceneProxy::MeshEmitterLODIndices
mutable

◆ PendingLODDistance

float FParticleSystemSceneProxy::PendingLODDistance
protected

◆ VisualizeLODIndex

int32 FParticleSystemSceneProxy::VisualizeLODIndex
protected

◆ WorldSpacePrimitiveUniformBuffer

TUniformBuffer<FPrimitiveUniformShaderParameters> FParticleSystemSceneProxy::WorldSpacePrimitiveUniformBuffer
mutableprotected

The primitive's uniform buffer. Mutable because it is cached state during GetDynamicMeshElements.

◆ WorldSpacePrimitiveUniformBufferMutex

UE::FMutex FParticleSystemSceneProxy::WorldSpacePrimitiveUniformBufferMutex
mutableprotected

◆ WorldSpaceUBHash

uint32 FParticleSystemSceneProxy::WorldSpaceUBHash = 0
mutableprotected

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