Navigation
API > API/Runtime > API/Runtime/Engine
Inheritance Hierarchy
- FPrimitiveSceneProxy
- FParticleSystemSceneProxy
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/ParticleHelper.h |
| Include | #include "ParticleHelper.h" |
Syntax
class FParticleSystemSceneProxy : public FPrimitiveSceneProxy
Remarks
Scene Proxies
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint8: 1 | bCastShadow | ||
| uint8: 1 | bManagingSignificance | ||
| FColoredMaterialRenderProxy * | DeselectedWireframeMaterialInstance | ||
| FParticleDynamicData * | DynamicData | ||
| TArray< FDynamicEmitterDataBase * > | DynamicDataForThisFrame | ||
| TEnumAsByte< ERHIFeatureLevel::Type > | FeatureLevel | ||
| int32 | FirstFreeMeshBatch | ||
| FParticleDynamicData * | LastDynamicData | ||
| int32 | LastFramePreRendered | From ViewFamily.FrameNumber | |
| int32 | LODMethod | ||
| FMaterialRelevance | MaterialRelevance | ||
| TIndirectArray< FMeshBatch, TInlineAllocator< 4 > > | MeshBatchPool | Pool for holding FMeshBatches to reduce allocations. | |
| TArray< int32 > | MeshEmitterLODIndices | Persistent proxy storage for mesh emitter LODs; need to store these here, because GDME needs to calc the index, but VF needs to be init'ed with the correct LOD, and DynamicData goes away every frame | |
| AActor * | Owner | ||
| float | PendingLODDistance | ||
| int32 | VisualizeLODIndex | ||
| TUniformBuffer< FPrimitiveUniformShaderParameters > | WorldSpacePrimitiveUniformBuffer | The primitive's uniform buffer. Mutable because it is cached state during GetDynamicMeshElements. | |
| UE::FMutex | WorldSpacePrimitiveUniformBufferMutex | ||
| uint32 | WorldSpaceUBHash |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FParticleSystemSceneProxy
(
UParticleSystemComponent* Component, |
Initialization constructor. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | Allows dynamic emitter data to create render thread resources. | ||
| void | DetermineLODDistance
(
const FSceneView* View, |
||
| uint32 | |||
| bool | |||
| const FColoredMaterialRenderProxy * | |||
| FParticleDynamicData * | |||
| ERHIFeatureLevel::Type | |||
| FParticleDynamicData * | |||
| const FMaterialRelevance & | |||
| void | GetObjectPositionAndScale
(
const FSceneView& View, |
Object position in post projection space. | |
| float | |||
| FMeshBatch * | Gets a mesh batch from the pool. | ||
| int32 | |||
| FRHIUniformBuffer * | |||
| FMatrix | While this isn't good OO design, access to everything is made public. | ||
| void | Called when the rendering thread removes the dynamic data from the scene. | ||
| void | Allows dynamic emitter data to release render thread resources. | ||
| void | SetLastDynamicData
(
FParticleDynamicData* InLastDynamicData |
||
| void | SetVisualizeLODIndex
(
int32 InVisualizeLODIndex |
||
| void | UpdateData
(
FParticleDynamicData* NewDynamicData |
||
| void | UpdateData_RenderThread
(
FParticleDynamicData* NewDynamicData |
||
| void | UpdateWorldSpacePrimitiveUniformBuffer
(
FRHICommandListBase& RHICmdList |
Called by dynamic emitter data during initialization to make sure the world space primitive uniform buffer is up-to-date. |
Overridden from FPrimitiveSceneProxy
| Type | Name | Description | |
|---|---|---|---|
| bool | |||
| void | CreateRenderThreadResources
(
FRHICommandListBase& RHICmdList |
Called when the rendering thread adds the proxy to the scene. | |
| void | GatherSimpleLights
(
const FSceneViewFamily& ViewFamily, |
Gathers simple lights for this emitter. | |
| FBoxSphereBounds | Return the custom occlusion bounds for this scene proxy. | ||
| void | GetDynamicMeshElements
(
const TArray< const FSceneView* >& Views, |
Gathers the primitive's dynamic mesh elements. | |
| uint32 | Every derived class should override these functions | ||
| SIZE_T | GetTypeHash () |
Return a type (or subtype) specific hash for sorting purposes | |
| FPrimitiveViewRelevance | GetViewRelevance
(
const FSceneView* View |
Determines the relevance of this primitive's elements to the given view. | |
| bool | Returns whether the proxy utilizes custom occlusion bounds or not | ||
| void | OnTransformChanged
(
FRHICommandListBase& RHICmdList |
Called to notify the proxy when its transform has been updated. |