FPrimitiveSceneProxy

Encapsulates the data which is mirrored to render a [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) parallel to the game thread.

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/PrimitiveSceneProxy.h

Include

#include "PrimitiveSceneProxy.h"

Syntax

class FPrimitiveSceneProxy

Remarks

Encapsulates the data which is mirrored to render a UPrimitiveComponent parallel to the game thread. This is intended to be subclassed to support different primitive types.

Variables

Name Description

Protected variable

uint8: 1

 

bAffectDistanceFieldLighting

Protected variable

uint8: 1

 

bAffectDynamicIndirectLighting

True if the primitive influences dynamic indirect lighting.

Protected variable

uint8: 1

 

bAffectIndirectLightingWhileHidden

True if the primitive should affect indirect lighting even when hidden.

Protected variable

uint8: 1

 

bAllowApproximateOcclusion

If this is True, this primitive doesn't need exact occlusion info.

Protected variable

uint8: 1

 

bAlwaysHasVelocity

Whether the primitive should always be considered to have velocities, even if it hasn't moved.

Protected variable

uint8: 1

 

bAnyMaterialHasWorldPositionOffset

Whether the primitive has any materials with World Position Offset.

Protected variable

uint8: 1

 

bCanSkipRedundantTransformUpdates

Whether this component can skip redundant transform updates where applicable.

Protected variable

uint8: 1

 

bCastCapsuleDirectShadow

Whether the primitive should use capsules for direct shadowing, if present. Forces inset shadows.

Protected variable

uint8: 1

 

bCastCinematicShadow

Whether this component should create a per-object shadow that gives higher effective shadow resolution.

Protected variable

uint8: 1

 

bCastContactShadow

Whether the object should cast a contact shadow

Protected variable

uint8: 1

 

bCastDeepShadow

Whether the object should cast a deep shadow

Protected variable

uint8: 1

 

bCastDynamicShadow

True if the primitive casts dynamic shadows.

Protected variable

uint8: 1

 

bCastFarShadow

When enabled, the component will be rendering into the distant shadow cascades (only for directional lights).

Protected variable

uint8: 1

 

bCastHiddenShadow

True if the primitive casts shadows even when hidden.

Protected variable

uint8: 1

 

bCastInsetShadow

Whether this component should create a per-object shadow that gives higher effective shadow resolution.

Protected variable

uint8: 1

 

bCastsDynamicIndirectShadow

Whether the primitive should use an inset indirect shadow from capsules or mesh distance fields.

Protected variable

uint8: 1

 

bCastShadowAsTwoSided

Whether this primitive should cast dynamic shadows as if it were a two sided material.

Protected variable

uint8: 1

 

bCastStaticShadow

True if the primitive casts static shadows.

Protected variable

uint8: 1

 

bCastVolumetricTranslucentShadow

Whether the object should cast a volumetric translucent shadow.

Protected variable

uint8: 1

 

bEmissiveLightSource

Whether the primitive will be used as an emissive light source.

Protected variable

uint8: 1

 

bEvaluateWorldPositionOffset

Whether the primitive should evaluate any World Position Offset.

Protected variable

uint8: 1

 

bGoodCandidateForCachedShadowmap

Whether this proxy's mesh is unlikely to be constantly changing.

Protected variable

uint8: 1

 

bHasDeformableMesh

True if the mesh representation is deformable (see HasDeformableMesh() above for more details).

Protected variable

uint8: 1

 

bHasPerInstanceCustomData

Protected variable

uint8: 1

 

bHasPerInstanceDynamicData

Protected variable

uint8: 1

 

bHasPerInstanceEditorData

Protected variable

uint8: 1

 

bHasPerInstanceHierarchyOffset

Protected variable

uint8: 1

 

bHasPerInstanceLMSMUVBias

Protected variable

uint8: 1

 

bHasPerInstanceLocalBounds

Protected variable

uint8: 1

 

bHasPerInstanceRandom

Protected variable

uint8: 1

 

bHasValidSettingsForStaticLighting

True if the primitive wants to use static lighting, but has invalid content settings to do so.

Protected variable

uint8: 1

 

bHasWorldPositionOffsetVelocity

Whether the primitive has any materials with World Position Offset, and some conditions around velocity are met.

Protected variable

uint8: 1

 

bHoldout

If this is True, this primitive should render black with an alpha of 0, but all secondary effects (shadows, refletions, indirect lighting) should behave as usual.

Protected variable

uint8: 1

 

bIsHeterogeneousVolume

Whether this proxy is a heterogeneous volume.

Protected variable

uint8: 1

 

bIsHierarchicalInstancedStaticMesh

Whether the primitive is a HierarchicalInstancedStaticMesh.

Protected variable

uint8: 1

 

bIsLandscapeGrass

Whether the primitive is landscape grass.

Protected variable

uint8: 1

 

bIsNaniteMesh

Whether this proxy is a Nanite mesh.

Protected variable

uint8: 1

 

bLightAttachmentsAsGroup

Whether to light this component and any attachments as a group.

Protected variable

uint8: 1

 

bNeedsUnbuiltPreviewLighting

Whether the primitive should be statically lit but has unbuilt lighting, and a preview should be used.

Protected variable

uint8: 1

 

bSelfShadowOnly

When enabled, the component will only cast a shadow on itself and not other components in the world.

Protected variable

uint8: 1

 

bShouldNotifyOnWorldAddRemove

Whether this primitive requires notification when its level is added to the world and made visible for the first time.

Protected variable

uint8: 1

 

bShouldUpdateGPUSceneTransforms

Whether the instances on the primitive need to update transforms during GPU Scene update.

Protected variable

uint8: 1

 

bSingleSampleShadowFromStationaryLights

Whether the whole component should be shadowed as one from stationary lights, which makes shadow receiving much cheaper.

Protected variable

uint8: 1

 

bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer

Whether this proxy always uses UniformBuffer and no other uniform buffers.

Protected variable

uint8: 1

 

bSupportsDistanceFieldRepresentation

Whether the primitive type supports a distance field representation.

Protected variable

uint8: 1

 

bSupportsGPUScene

True if all meshes (AKA all vertex factories) drawn by this proxy support GPU scene (default is false).

Protected variable

uint8: 1

 

bSupportsHeightfieldRepresentation

Whether the primitive implements GetHeightfieldRepresentation()

Protected variable

uint8: 1

 

bSupportsInstanceDataBuffer

Whether the primitive supports the GPUScene instance data buffer.

Protected variable

uint8: 1

 

bSupportsSortedTriangles

Whether the object support triangles when rendered with translucent material

Protected variable

uint8: 1

 

bVerifyUsedMaterials

Protected variable

uint8: 1

 

bVFRequiresPrimitiveUniformBuffer

Whether this proxy ever draws with vertex factories that require a primitive uniform buffer.

Protected variable

uint8: 1

 

bVisibleInLumenScene

Whether this component should be tracked by Lumen Scene.

Protected variable

uint8: 1

 

bWantsSelectionOutline

True by default, if set to false will make given proxy never drawn with selection outline

Protected variable

uint8: 1

 

bWillEverBeLit

Can be set to false to skip some work only needed on lit primitives.

Public variable

TArray< FDebugM...

 

DebugMassData

Protected variable

float

 

DistanceFieldSelfShadowBias

Protected variable

float

 

DynamicIndirectShadowMinVisibility

Min visibility for capsule shadows.

Protected variable

TEnumAsByte< EI...

 

IndirectLightingCacheQuality

Quality of interpolated indirect lighting for Movable components.

Protected variable

TArray< float >

 

InstanceCustomData

Protected variable

TBitArray

 

InstanceCustomDataUpdatedThisFrame

Protected variable

TArray< FInstan...

 

InstanceDynamicData

Protected variable

TArray< uint32 ...

 

InstanceEditorData

Protected variable

TArray< uint32 ...

 

InstanceHierarchyOffset

Protected variable

TArray< FVector...

 

InstanceLightShadowUVBias

Protected variable

TArray< FRender...

 

InstanceLocalBounds

Protected variable

TArray< float >

 

InstanceRandomID

Protected variable

TArray< FInstan...

 

InstanceSceneData

Protected variable

TBitArray

 

InstanceXFormUpdatedThisFrame

Whether instance data has changed this frame on the proxy.

Protected variable

float

 

MaxWPODisplacement

Maximum distance of World Position Offset used by materials.

Protected variable

TArray< ERuntim...

 

RuntimeVirtualTextureMaterialTypes

Set of unique runtime virtual texture material types referenced by RuntimeVirtualTextures.

Protected variable

TArray< URuntim...

 

RuntimeVirtualTextures

Array of runtime virtual textures that this proxy should render to.

Protected variable

int8

 

VirtualTextureCullMips

Number of low mips to skip when rendering to runtime virtual texture.

Protected variable

int8

 

VirtualTextureLodBias

Geometry Lod bias when rendering to runtime virtual texture.

Protected variable

int8

 

VirtualTextureMinCoverage

Log2 of minimum estimated pixel coverage before culling from runtime virtual texture.

Constructors

Name Description

Public function

FPrimitiveSceneProxy

(
    FPrimitiveSceneProxy const&
)

Copy constructor.

Public function

FPrimitiveSceneProxy

(
    const UPrimitiveComponent* InC...,
    FName ResourceName
)

Initialization constructor.

Destructors

Name Description

Public function Virtual

~FPrimitiveSceneProxy()

Virtual destructor.

Functions

Name Description

Public function Virtual

void

 

AcceptOcclusionResults

(
    const FSceneView* View,
    TArray< bool >* Results,
    int32 ResultsStart,
    int32 NumResults
)

Gives the primitive the results of sub-occlusion-queries

Public function Const

bool

 

AffectsDistanceFieldLighting()

Public function Const

bool

 

AffectsDynamicIndirectLighting()

Public function Const

bool

 

AffectsIndirectLightingWhileHidden()

Public function Const

bool

 

AllowApproximateOcclusion()

Public function Const

bool

 

AlwaysHasVelocity()

Returns true if this proxy should write velocity even when the transform isn't changing.

Public function Const

bool

 

AnyMaterialHasWorldPositionOffset()

Public function Virtual

void

 

ApplyLateUpdateTransform

(
    const FMatrix& LateUpdateTransform
)

Applies a "late in the frame" adjustment to the proxy's existing transform

Public function Virtual

void

 

ApplyWorldOffset

(
    FVector InOffset
)

Shifts primitive position and all relevant data by an arbitrary delta.

Public function Virtual Const

bool

 

CanBeOccluded()

Public function Const

bool

 

CanSkipRedundantTransformUpdates()

Public function Const

bool

 

CastsCapsuleDirectShadow()

Public function Const

bool

 

CastsCinematicShadow()

Public function Const

bool

 

CastsContactShadow()

Public function Const

bool

 

CastsDeepShadow()

Public function Const

bool

 

CastsDynamicIndirectShadow()

Public function Const

bool

 

CastsDynamicShadow()

Public function Const

bool

 

CastsFarShadow()

Public function Const

bool

 

CastsHiddenShadow()

Public function Const

bool

 

CastsInsetShadow()

Public function Const

bool

 

CastsSelfShadowOnly()

Public function Const

bool

 

CastsShadowAsTwoSided()

Public function Const

bool

 

CastsStaticShadow()

Public function Const

bool

 

CastsVolumetricTranslucentShadow()

Public function Virtual

HHitProxy &#...

 

CreateHitProxies

(
    UPrimitiveComponent* Component,
    TArray< TRefCountPtr< HHitProxy > >...
)

Creates the hit proxies are used when DrawDynamicElements is called. Called in the game thread.

Public function Virtual

void

 

CreateRenderThreadResources()

Called when the rendering thread adds the proxy to the scene.

Public function Virtual

void

 

DestroyRenderThreadResources()

Called when the rendering thread removes the proxy from the scene.

Public function Const

bool

 

DoesVFRequirePrimitiveUniformBuffer()

Public function Static

void

 

DrawArc

(
    FPrimitiveDrawInterface* PDI,
    const FVector& Start,
    const FVector& End,
    const float Height,
    const uint32 Segments,
    const FLinearColor& Color,
    uint8 DepthPriorityGroup,
    const float Thickness,
    const bool bScreenSpace
)

Drawing helper. Draws nice bouncy line.

Public function Static

void

 

DrawArrowHead

(
    FPrimitiveDrawInterface* PDI,
    const FVector& Tip,
    const FVector& Origin,
    const float Size,
    const FLinearColor& Color,
    uint8 DepthPriorityGroup,
    const float Thickness,
    const bool bScreenSpace
)

Protected function Const

bool

 

DrawInVirtualTextureOnly

(
    bool bEditor
)

Returns true if a primitive should currently be hidden because it is drawn only to the runtime virtual texture.

Public function Virtual

void

 

DrawStaticElements

Draws the primitive's static elements.

Public function Const

bool

 

DrawsVelocity()

Returns true if this proxy can write velocity. This is used for setting velocity relevance.

Protected function

void

 

EnableGPUSceneSupportFlags()

Call during setup to set flags to indicate GPU-Scene support for the proxy if GPU-Scene is enabled & supported for the current feature level.

Public function Const

bool

 

EvaluateWorldPositionOffset()

Public function Virtual Const

void

 

GatherSimpleLights

(
    const FSceneViewFamily& ViewFamily,
    FSimpleLightArray& OutParticleLigh...
)

Callback from the renderer to gather simple lights that this proxy wants renderered.

Public function Const

const FVecto...

 

GetActorPosition()

Public function Const

SIZE_T

 

GetAllocatedSize()

Public function Const

const FBoxSp...

 

GetBounds()

Public function Virtual Const

uint8

 

GetCurrentFirstLODIdx_RenderThread()

Public function Const

uint8

 

GetCustomDepthStencilValue()

Public function Virtual Const

const FColor...

 

GetCustomHitProxyIdBuffer()

Allows a scene proxy to override hit proxy ids and generate more than one hit proxy id per draw call Useful for sub-section selection (faces, vertices, bones, etc)

Public function Virtual Const

FBoxSphereBo...

 

GetCustomOcclusionBounds()

Return the custom occlusion bounds for this scene proxy.

Public function Const

const FCusto...

 

GetCustomPrimitiveData()

Get the custom primitive data for this scene proxy.

Public function Const

ESceneDepthP...

 

GetDepthPriorityGroup

(
    const FSceneView* View
)

Determines the DPG to render the primitive in for the given view.

Public function Virtual Const

void

 

GetDistanceFieldAtlasData

(
    const FDistanceFieldVolumeData*...,
    float& SelfShadowBias
)

Public function Virtual Const

void

 

GetDistanceFieldInstanceData

(
    TArray< FRenderTransform >& Instan...
)

Public function Const

float

 

GetDynamicIndirectShadowMinVisibility()

Public function Virtual Const

void

 

GetDynamicMeshElements

(
    const TArray< const FSceneView*...,
    const FSceneViewFamily& ViewFamily,
    uint32 VisibilityMap,
    FMeshElementCollector& Collector
)

Gathers the primitive's dynamic mesh elements.

Public function Virtual Const

void

 

GetHeightfieldRepresentation

(
    UTexture2D*& OutHeightmapTextu...,
    UTexture2D*& OutDiffuseColorTe...,
    UTexture2D*& OutVisibilityText...,
    FHeightfieldComponentDescription& ...
)

Public function Const

EIndirectLig...

 

GetIndirectLightingCacheQuality()

Public function Const

TConstArrayV...

 

GetInstanceCustomData()

Public function Virtual Const

bool

 

GetInstanceDrawDistanceMinMax

(
    FVector2f& OutDistanceMinMax
)

Retrieves the instance draw distance range (mostly only used by objects whose instances are culled on the GPU)

Public function Const

TConstArrayV...

 

GetInstanceDynamicData()

Public function Const

TConstArrayV...

 

GetInstanceEditorData()

Public function Const

TConstArrayV...

 

GetInstanceHierarchyOffset()

Public function Const

TConstArrayV...

 

GetInstanceLightShadowUVBias()

Public function

const FRende...

 

GetInstanceLocalBounds

(
    uint32 Instance
)

Helper function to avoid multiple code paths requesting bounds.

Public function Const

TConstArrayV...

 

GetInstanceLocalBounds()

Public function Const

TConstArrayV...

 

GetInstanceRandomID()

Public function Const

TConstArrayV...

 

GetInstanceSceneData()

Public function

uint32

 

GetInstanceSceneDataFlags()

Public function Virtual Const

bool

 

GetInstanceWorldPositionOffsetDisableDistance

(
    float& OutWPODisableDistance
)

Retrieves the per-instance world position offset disable distance

Public function Virtual

void

 

GetLCIs

(
    FLCIArray& LCIs
)

Public function Const

FLinearColor

 

GetLevelColor()

Public function Const

FName

 

GetLevelName()

Public function Const

uint8

 

GetLightingChannelMask()

Public function Const

uint8

 

GetLightingChannelStencilValue()

Public function Virtual Const

int32

 

GetLightMapCoordinateIndex()

Get the lightmap UV coordinate index for this primitive.

Public function Virtual Const

int32

 

GetLightMapResolution()

Get the lightmap resolution for this primitive. Used in VMI_LightmapDensity.

Public function Const

ELightmapTyp...

 

GetLightmapType()

Public function Virtual Const

void

 

GetLightRelevance

(
    const FLightSceneProxy* LightS...,
    bool& bDynamic,
    bool& bRelevant,
    bool& bLightMapped,
    bool& bShadowMapped
)

Determines the relevance of this primitive's elements to the given light.

Public function Const

const FBoxSp...

 

GetLocalBounds()

Public function Const

const FMatri...

 

GetLocalToWorld()

Public function Virtual Const

int32

 

GetLOD

(
    const FSceneView* View
)

Returns the LOD that the primitive will render at for this view.

Public function Virtual Const

bool

 

GetMaterialTextureScales

(
    int32 LODIndex,
    int32 SectionIndex,
    const FMaterialRenderProxy* Ma...,
    FVector4f* OneOverScales,
    FIntVector4* UVChannelIndices
)

Get mesh UV density for a LOD-section.

Public function Const

float

 

GetMaxDrawDistance()

Public function Const

float

 

GetMaxWorldPositionOffsetDisplacement()

Public function Const

uint32

 

GetMemoryFootprint()

Every derived class should override these functions

Public function Virtual Const

const FCardR...

 

GetMeshCardRepresentation()

Public function Virtual Const

void

 

GetMeshDescription

(
    int32 LODIndex,
    TArray< FMeshBatch >& OutMeshEleme...
)

Gathers a description of the mesh elements to be rendered for the given LOD index, without consideration for views.

Public function Virtual Const

bool

 

GetMeshUVDensities

(
    int32 LODIndex,
    int32 SectionIndex,
    FVector4& WorldUVDensities
)

Get mesh UV density for a LOD-section.

Public function Const

float

 

GetMinDrawDistance()

Public function Virtual Const

void

 

GetNaniteMaterialMask

(
    FUint32Vector2& OutMaterialMask
)

Public function Virtual Const

void

 

GetNaniteResourceInfo

(
    uint32& ResourceID,
    uint32& HierarchyOffset,
    uint32& ImposterIndex
)

Public function

int32

 

GetNumUncachedStaticLightingInteractions()

Public function Virtual Const

const TArray...

 

GetOcclusionQueries

(
    const FSceneView* View
)

Gets the boxes for sub occlusion queries

Public function Const

FName

 

GetOwnerName()

Public function Const

uint32

 

GetPayloadDataStride()

Number of packed float4 values per instance.

Public function Virtual Const

void

 

GetPreSkinnedLocalBounds

(
    FBoxSphereBounds& OutBounds
)

Public function Const

FPrimitiveCo...

 

GetPrimitiveComponentId()

Public function Virtual Const

bool

 

GetPrimitiveDistance

(
    int32 LODIndex,
    int32 SectionIndex,
    const FVector& ViewOrigin,
    float& PrimitiveDistance
)

Get primitive distance to view origin for a given LOD-section.

Public function Const

FPrimitiveSc...

 

GetPrimitiveSceneInfo()

Public function Const

FLinearColor

 

GetPropertyColor()

Public function Const

uint8

 

GetRayTracingGroupCullingPriority()

Public function Const

int32

 

GetRayTracingGroupId()

Public function Const

FName

 

GetResourceName()

Public function Const

FSceneInterf...

 

GetScene()

Accessors.

Public function Virtual Const

void

 

GetShadowShapes

(
    FVector PreViewTranslation,
    TArray< FCapsuleShape3f >& OutCaps...
)

Gathers shadow shapes from this proxy.

Public function Virtual Const

ESceneDepthP...

 

GetStaticDepthPriorityGroup()

Determines the DPG to render the primitive in regardless of view.

Public function Const

TStatId

 

GetStatId()

Public function Const

EStencilMask

 

GetStencilWriteMask()

Public function Const

float

 

GetTranslucencySortDistanceOffset()

Public function Const

int16

 

GetTranslucencySortPriority()

Public function Const

SIZE_T

 

GetTypeHash()

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

Public function Const

FRHIUniformB...

 

GetUniformBuffer()

Public function Virtual Const

FPrimitiveVi...

 

GetViewRelevance

(
    const FSceneView* View
)

Determines the relevance of this primitive's elements to the given view.

Public function Const

int32

 

GetVirtualTextureCullMips()

Public function Const

int32

 

GetVirtualTextureLodBias()

Public function Const

int32

 

GetVirtualTextureMinCoverage()

Public function Const

int32

 

GetVisibilityId()

Public function Const

FLinearColor

 

GetWireframeColor()

Public function Const

bool

 

HasAnyPerInstancePayloadData()

Public function Virtual Const

bool

 

HasCustomOcclusionBounds()

Returns whether the proxy utilizes custom occlusion bounds or not

Public function Const

bool

 

HasDeformableMesh()

Returns true if this proxy has any deformable mesh, meaning the mesh is animated e.g., by deforming the vertices through skinning, morphing or some procedural update.

Public function Virtual Const

bool

 

HasDistanceFieldRepresentation()

Public function Virtual Const

bool

 

HasDynamicIndirectShadowCasterRepresentation()

Public function Const

bool

 

HasDynamicTransform()

Returns true if this proxy can change transform so that we should cache previous transform for calculating velocity.

Public function Const

bool

 

HasInstanceDebugData()

Public function Const

bool

 

HasPerInstanceCustomData()

Public function Const

bool

 

HasPerInstanceDynamicData()

Public function Const

bool

 

HasPerInstanceEditorData()

Public function Const

bool

 

HasPerInstanceHierarchyOffset()

Public function Const

bool

 

HasPerInstanceHitProxies()

Public function Const

bool

 

HasPerInstanceLMSMUVBias()

Public function Const

bool

 

HasPerInstanceLocalBounds()

Public function Const

bool

 

HasPerInstanceRandom()

Public function Const

bool

 

HasStaticLighting()

Public function Virtual Const

bool

 

HasSubprimitiveOcclusionQueries()

Public function Const

bool

 

HasValidSettingsForStaticLighting()

Public function Const

bool

 

HasViewDependentDPG()

Public function Virtual Const

bool

 

HeightfieldHasPendingStreaming()

Public function Const

bool

 

Holdout()

Public function Const

bool

 

IsCollisionEnabled()

Public function Virtual Const

bool

 

IsDetailMesh()

Returns whether this proxy should be considered a "detail mesh".

Public function Const

bool

 

IsDrawnInEditor()

Tell us if this proxy is drawn in editor.

Public function Virtual Const

bool

 

IsDrawnInGame()

Tell us if this proxy is drawn in game.

Public function Const

bool

 

IsEditingLevelInstanceChild()

Public function Const

bool

 

IsEmissiveLightSource()

Public function Const

bool

 

IsForceHidden()

Public function Const

bool

 

IsHeterogeneousVolume()

Returns whether this proxy is a heterogeneous volume.

Public function Const

bool

 

IsHiddenInSceneCapture()

Public function Const

bool

 

IsHovered()

Public function Const

bool

 

IsIndividuallySelected()

Public function Const

bool

 

IsLocalToWorldDeterminantNegative()

Public function Const

bool

 

IsMeshShapeOftenMoving()

Public function Const

bool

 

IsMovable()

Public function Const

bool

 

IsNaniteMesh()

Returns whether this proxy is a Nanite mesh.

Public function Const

bool

 

IsOftenMoving()

Public function Const

bool

 

IsOwnedBy

(
    const AActor* Actor
)

Public function Const

bool

 

IsParentSelected()

Public function Const

bool

 

IsRayTracingFarField()

Public function Const

bool

 

IsSelectable()

Public function Const

bool

 

IsSelected()

Public function Const

bool

 

IsShadowCast

(
    const FSceneView* View
)

Public function Const

bool

 

IsShown

(
    const FSceneView* View
)

Public function Const

bool

 

IsStatic()

Public function Virtual Const

bool

 

IsUsingDistanceCullFade()

Protected function Const

bool

 

IsVirtualTextureOnly()

Returns true if a primitive can never be rendered outside of a runtime virtual texture.

Public function Const

bool

 

IsVisibleInLumenScene()

Public function Const

bool

 

IsVisibleInRayTracing()

Public function Const

bool

 

IsVisibleInRealTimeSkyCaptures()

Public function Const

bool

 

IsVisibleInReflectionCaptures()

Public function Const

bool

 

IsVisibleInSceneCaptureOnly()

Public function Const

bool

 

LightAttachmentsAsGroup()

Public function Const

bool

 

NeedsUnbuiltPreviewLighting()

Public function Virtual

void

 

OnDetachLight

(
    const FLightSceneInfo* Light
)

Called by the rendering thread to notify the proxy when a light is no longer associated with the proxy, so that it can clean up any cached resources.

Protected function Virtual

void

 

OnEvaluateWorldPositionOffsetChanged_RenderThread()

Allows child implementations to do render-thread work when bEvaluateWorldPositionOffset changes

Public function Virtual

bool

 

OnLevelAddedToWorld_RenderThread()

Called to notify the proxy that the level has been fully added to the world and the primitive will now be rendered.

Public function Virtual

void

 

OnLevelRemovedFromWorld_RenderThread()

Called to notify the proxy that the level has been fully removed from the world and the primitive will not be rendered.

Public function Virtual

void

 

OnTransformChanged()

Called to notify the proxy when its transform has been updated.

Protected function

void

 

OverrideOwnerName

(
    FName InOwnerName
)

Allow subclasses to override the primitive name. Used primarily by BSP.

Public function Const

const bool

 

ReceivesDecals()

Public function Const

void

 

RenderBounds

(
    FPrimitiveDrawInterface* PDI,
    const FEngineShowFlags& EngineShow...,
    const FBoxSphereBounds& Bounds,
    bool bRenderInEditor
)

Helper for components that want to render bounds.

Public function

void

 

SetCollisionEnabled_GameThread

(
    const bool bNewEnabled
)

Set the collision flag on the scene proxy to enable/disable collision drawing

Public function

void

 

SetCollisionEnabled_RenderThread

(
    const bool bNewEnabled
)

Set the collision flag on the scene proxy to enable/disable collision drawing (RENDER THREAD)

Public function

void

 

SetCustomDepthEnabled_GameThread

(
    const bool bInRenderCustomDepth
)

Set the custom depth enabled flag

Public function

void

 

SetCustomDepthEnabled_RenderThread

(
    const bool bInRenderCustomDepth
)

Set the custom depth enabled flag (RENDER THREAD)

Public function

void

 

SetCustomDepthStencilValue_GameThread

(
    const int32 InCustomDepthStencilVal...
)

Set the custom depth stencil value

Public function

void

 

SetCustomDepthStencilValue_RenderThread

(
    const int32 InCustomDepthStencilVal...
)

Set the custom depth stencil value (RENDER THREAD)

Public function Virtual

void

 

SetDebugMassData

(
    const TArray< FDebugMassData >& In...
)

Sets the primitive proxy's mass space to component space.

Public function

void

 

SetDistanceFieldSelfShadowBias_RenderThread

(
    float NewBias
)

Public function

void

 

SetEvaluateWorldPositionOffset_GameThread

(
    bool bEvaluate
)

Enqueue updated setting for evaluation of World Position Offset.

Protected function

void

 

SetForceHidden

(
    bool bForceHiddenIn
)

Public function

void

 

SetHiddenEdViews_GameThread

(
    uint64 InHiddenEditorViews
)

Updates the hidden editor view visibility map on the game thread which just enqueues a command on the render thread

Public function

void

 

SetHovered_GameThread

(
    const bool bInHovered
)

Updates hover state for the primitive proxy.

Protected function

void

 

SetHovered_RenderThread

(
    const bool bInHovered
)

Updates hover state for the primitive proxy.

Protected function

void

 

SetInstanceLocalBounds

(
    uint32 InstanceIndex,
    const FRenderBounds& Bounds,
    bool bPadForWPO
)

Sets the instance local bounds for the specified instance index, and optionally will pad the bounds extents to accomodate Max World Position Offset Distance.

Public function

void

 

SetIsBeingMovedByEditor_GameThread

(
    bool bIsBeingMoved
)

Enqueue and update for the render thread to notify it that the editor is currently moving the owning component with gizmos.

Public function

void

 

SetLevelColor

(
    const FLinearColor& InLevelColor
)

Public function

void

 

SetLevelInstanceEditingState_GameThread

(
    const bool bInEditingState
)

Updates the LevelInstance editing state for the primitive proxy.

Protected function

void

 

SetLevelInstanceEditingState_RenderThread

(
    const bool bInLevelInstanceEditingS...
)

Updates LevelInstance editing state for the primitive proxy.

Public function

void

 

SetLightingChannels_GameThread

(
    FLightingChannels LightingChannels
)

Updates the lighting channels for the primitive proxy.

Public function

void

 

SetPropertyColor

(
    const FLinearColor& InPropertyColo...
)

Public function

void

 

SetSelection_GameThread

(
    const bool bInParentSelected,
    const bool bInIndividuallySelected
)

Updates selection for the primitive proxy.

Protected function

void

 

SetSelection_RenderThread

(
    const bool bInParentSelected,
    const bool bInIndividuallySelected
)

Updates selection for the primitive proxy.

Public function

void

 

SetUsedMaterialForVerification

(
    const TArray< UMaterialInterface&#...
)

This function exist only to perform an update of the UsedMaterialsForVerification on the render thread

Public function

void

 

SetWireframeColor

(
    const FLinearColor& InWireframeCol...
)

Public function Const

bool

 

ShouldNotifyOnWorldAddRemove()

Public function Const

bool

 

ShouldReceiveMobileCSMShadows()

Public function Const

bool

 

ShouldRenderCustomDepth()

Public function Const

bool

 

ShouldRenderInDepthPass()

Public function Const

bool

 

ShouldRenderInMainPass()

Public function Const

bool

 

ShouldUpdateGPUSceneTransforms()

Public function Const

bool

 

ShouldUseAsOccluder()

Public function Virtual Const

bool

 

ShowInBSPSplitViewmode()

Public function Const

bool

 

StaticElementsAlwaysUseProxyPrimitiveUniformBuffer()

Public function Virtual Const

bool

 

StaticMeshHasPendingStreaming()

Public function Const

bool

 

SupportsDistanceFieldRepresentation()

Public function Const

bool

 

SupportsGPUScene()

Returns true if all meshes drawn by this proxy support GPU scene.

Public function Const

bool

 

SupportsHeightfieldRepresentation()

Public function Const

bool

 

SupportsInstanceDataBuffer()

Public function Const

bool

 

SupportsSortedTriangles()

Public function Const

bool

 

TreatAsBackgroundForOcclusion()

Protected function

void

 

UpdateDefaultInstanceSceneData()

Protected function Virtual

void

 

UpdateInstances_RenderThread

(
    const FInstanceUpdateCmdBuffer& Cm...,
    const FBoxSphereBounds& InBounds,
    const FBoxSphereBounds& InLocalBou...,
    const FBoxSphereBounds& InStaticMe...
)

Updates the primitive proxy's cached transforms for all instances given a buffer of instance updates.

Public function

void

 

UpdateUniformBuffer()

Updates the primitive proxy's uniform buffer.

Protected function

void

 

UpdateVisibleInLumenScene()

Updates bVisibleInLumen, which indicated whether a primitive should be tracked by Lumen scene.

Public function Const

bool

 

UseEditorCompositing

(
    const FSceneView* View
)

Public function Const

bool

 

UseSingleSampleShadowFromStationaryLights()

Public function Const

bool

 

VerifyUsedMaterial

(
    const FMaterialRenderProxy* Ma...
)

Verifies that a material used for rendering was present in the component's GetUsedMaterials list.

Public function Const

bool

 

WantsSelectionOutline()

Public function Const

bool

 

WasInstanceCustomDataUpdatedThisFrame

(
    int i
)

Public function Const

bool

 

WasInstanceXFormUpdatedThisFrame

(
    int i
)

Public function Const

bool

 

WillEverBeLit()

Public function Const

bool

 

WritesVirtualTexture()

Public function Const

bool

 

WritesVirtualTexture

(
    URuntimeVirtualTexture* Virtua...
)

Classes

Name

Description

Public struct

FDebugMassData

Typedefs

Name

Description

FLCIArray

Get the list of LCIs.

Constants

Name

Description

InvalidRayTracingGroupId

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel