12class UParticleSystemComponent;
172 uint8 bCanBeOccluded : 1;
173 uint8 bHasCustomOcclusionBounds : 1;
210#if WITH_PARTICLE_PERF_STATS
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MaterialRenderProxy.h:309
Definition MeshElementCollector.h:26
Definition ParticleHelper.h:2241
Definition ParticleSystemSceneProxy.h:37
virtual void CreateRenderThreadResources(FRHICommandListBase &RHICmdList) override
Definition ParticleSystemSceneProxy.cpp:233
void CreateRenderThreadResourcesForEmitterData()
Definition ParticleSystemSceneProxy.cpp:244
void UpdateWorldSpacePrimitiveUniformBuffer(FRHICommandListBase &RHICmdList) const
Definition ParticleSystemSceneProxy.cpp:463
void UpdateData_RenderThread(FParticleDynamicData *NewDynamicData)
Definition ParticleSystemSceneProxy.cpp:295
float GetPendingLODDistance() const
Definition ParticleSystemSceneProxy.h:136
TArray< int32 > MeshEmitterLODIndices
Definition ParticleSystemSceneProxy.h:149
int32 LastFramePreRendered
Definition ParticleSystemSceneProxy.h:190
TUniformBuffer< FPrimitiveUniformShaderParameters > WorldSpacePrimitiveUniformBuffer
Definition ParticleSystemSceneProxy.h:193
TArray< FDynamicEmitterDataBase * > DynamicDataForThisFrame
Definition ParticleSystemSceneProxy.h:206
FMeshBatch * GetPooledMeshBatch()
Definition ParticleSystemSceneProxy.cpp:141
uint8 bManagingSignificance
Definition ParticleSystemSceneProxy.h:169
ERHIFeatureLevel::Type GetFeatureLevel() const
Definition ParticleSystemSceneProxy.h:150
float PendingLODDistance
Definition ParticleSystemSceneProxy.h:186
void SetLastDynamicData(FParticleDynamicData *InLastDynamicData)
Definition ParticleSystemSceneProxy.h:102
int32 VisualizeLODIndex
Definition ParticleSystemSceneProxy.h:187
virtual bool HasCustomOcclusionBounds() const override
Definition ParticleSystemSceneProxy.h:56
virtual FPrimitiveViewRelevance GetViewRelevance(const FSceneView *View) const override
Definition ParticleSystemSceneProxy.cpp:425
int32 GetVisualizeLODIndex() const
Definition ParticleSystemSceneProxy.h:138
uint32 WorldSpaceUBHash
Definition ParticleSystemSceneProxy.h:194
FParticleDynamicData * DynamicData
Definition ParticleSystemSceneProxy.h:180
uint32 GetAllocatedSize(void) const
Definition ParticleSystemSceneProxy.h:108
TEnumAsByte< ERHIFeatureLevel::Type > FeatureLevel
Definition ParticleSystemSceneProxy.h:176
void SetVisualizeLODIndex(int32 InVisualizeLODIndex)
Definition ParticleSystemSceneProxy.h:137
FMatrix GetWorldToLocal() const
Definition ParticleSystemSceneProxy.h:130
const FMaterialRelevance & GetMaterialRelevance() const
Definition ParticleSystemSceneProxy.h:132
virtual void OnTransformChanged(FRHICommandListBase &RHICmdList) override
Definition ParticleSystemSceneProxy.cpp:457
SIZE_T GetTypeHash() const override
Definition ParticleSystemSceneProxy.cpp:124
virtual FBoxSphereBounds GetCustomOcclusionBounds() const override
Definition ParticleSystemSceneProxy.h:66
virtual void GatherSimpleLights(const FSceneViewFamily &ViewFamily, FSimpleLightArray &OutParticleLights) const override
Definition ParticleSystemSceneProxy.cpp:506
TIndirectArray< FMeshBatch, TInlineAllocator< 4 > > MeshBatchPool
Definition ParticleSystemSceneProxy.h:198
uint8 bCastShadow
Definition ParticleSystemSceneProxy.h:168
virtual ~FParticleSystemSceneProxy()
Definition ParticleSystemSceneProxy.cpp:130
UE::FMutex WorldSpacePrimitiveUniformBufferMutex
Definition ParticleSystemSceneProxy.h:195
FParticleDynamicData * LastDynamicData
Definition ParticleSystemSceneProxy.h:181
FRHIUniformBuffer * GetWorldSpacePrimitiveUniformBuffer() const
Definition ParticleSystemSceneProxy.h:140
void ReleaseRenderThreadResourcesForEmitterData()
Definition ParticleSystemSceneProxy.cpp:260
void DetermineLODDistance(const FSceneView *View, int32 FrameNumber)
Definition ParticleSystemSceneProxy.cpp:309
bool GetCastShadow() const
Definition ParticleSystemSceneProxy.h:131
virtual uint32 GetMemoryFootprint(void) const override
Definition ParticleSystemSceneProxy.h:107
void ReleaseRenderThreadResources()
Definition ParticleSystemSceneProxy.cpp:238
virtual void GetDynamicMeshElements(const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, FMeshElementCollector &Collector) const override
Definition ParticleSystemSceneProxy.cpp:159
int32 LODMethod
Definition ParticleSystemSceneProxy.h:185
FParticleDynamicData * GetLastDynamicData()
Definition ParticleSystemSceneProxy.h:97
virtual bool CanBeOccluded() const override
Definition ParticleSystemSceneProxy.h:46
ENGINE_API void UpdateData(FParticleDynamicData *NewDynamicData)
Definition ParticleSystemSceneProxy.cpp:276
int32 FirstFreeMeshBatch
Definition ParticleSystemSceneProxy.h:199
FMaterialRelevance MaterialRelevance
Definition ParticleSystemSceneProxy.h:178
void GetObjectPositionAndScale(const FSceneView &View, FVector2D &ObjectNDCPosition, FVector2D &ObjectMacroUVScales) const
Definition ParticleSystemSceneProxy.cpp:341
FColoredMaterialRenderProxy * DeselectedWireframeMaterialInstance
Definition ParticleSystemSceneProxy.h:183
FParticleDynamicData * GetDynamicData()
Definition ParticleSystemSceneProxy.h:92
const FColoredMaterialRenderProxy * GetDeselectedWireframeMatInst() const
Definition ParticleSystemSceneProxy.h:142
Definition PrimitiveSceneProxy.h:296
SIZE_T GetAllocatedSize(void) const
Definition PrimitiveSceneProxy.h:684
virtual FBoxSphereBounds GetCustomOcclusionBounds() const
Definition PrimitiveSceneProxy.h:1015
const FMatrix & GetLocalToWorld() const
Definition PrimitiveSceneProxy.h:736
virtual bool HasCustomOcclusionBounds() const
Definition PrimitiveSceneProxy.h:1005
Definition RHICommandList.h:455
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition PrimitiveSceneProxy.h:172
Definition EnumAsByte.h:22
Definition IndirectArray.h:20
Definition ParticleSystem.h:160
Type
Definition RHIFeatureLevel.h:20
Definition ParticleHelper.h:1265
Definition ParticleHelper.h:1366
Definition MaterialRelevance.h:13
uint8 bDisableDepthTest
Definition MaterialRelevance.h:51
Definition MeshBatch.h:371
Definition ParticlePerfStats.h:302
Definition ParticleSystemSceneProxy.h:18
uint8 bManagingSignificance
Definition ParticleSystemSceneProxy.h:28
int32 LODMethod
Definition ParticleSystemSceneProxy.h:26
UParticleSystem * SystemAsset
Definition ParticleSystemSceneProxy.h:22
virtual ENGINE_API void GetUsedMaterials(TArray< UMaterialInterface * > &OutMaterials, bool bGetDebugMaterials=false) const override
Definition ParticleSystemSceneProxy.cpp:75
uint8 bAlwaysHasVelocity
Definition ParticleSystemSceneProxy.h:29
ENGINE_API FParticleSystemSceneProxyDesc()
Definition ParticleSystemSceneProxy.cpp:42
FMaterialRelevance MaterialRelevance
Definition ParticleSystemSceneProxy.h:24
uint8 bCanBeOccluded
Definition ParticleSystemSceneProxy.h:27
FParticleDynamicData * DynamicData
Definition ParticleSystemSceneProxy.h:23
int32 VisualizeLODIndex
Definition ParticleSystemSceneProxy.h:25
Definition PrimitiveSceneProxyDesc.h:12
UObject * Component
Definition PrimitiveSceneProxyDesc.h:19
Definition PrimitiveViewRelevance.h:14
Definition BoxSphereBounds.h:25
TBoxSphereBounds< T, TExtent > TransformBy(const TMatrix< T > &M) const
Definition BoxSphereBounds.h:501
TMatrix< T > Inverse() const
Definition Matrix.inl:384