UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPrimitiveSceneProxy Class Referenceabstract

#include <PrimitiveSceneProxy.h>

+ Inheritance diagram for FPrimitiveSceneProxy:

Classes

struct  FDebugMassData
 

Public Types

enum class  EInstanceBufferAccessFlags { SynchronizeUpdateTask , UnsynchronizedAndUnsafe }
 
typedef TArray< class FLightCacheInterface *, TInlineAllocator< 8 > > FLCIArray
 

Public Member Functions

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 ()
 
virtual SIZE_T GetTypeHash () const =0
 
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 void GetDynamicMeshElements (const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, class FMeshElementCollector &Collector) 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 ENGINE_API FPrimitiveViewRelevance GetViewRelevance (const FSceneView *View) const
 
virtual void GatherSimpleLights (const FSceneViewFamily &ViewFamily, FSimpleLightArray &OutParticleLights) const
 
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 CreateRenderThreadResources (FRHICommandListBase &RHICmdList)
 
virtual void DestroyRenderThreadResources ()
 
virtual void OnDetachLight (const FLightSceneInfo *Light)
 
virtual void OnTransformChanged (FRHICommandListBase &RHICmdList)
 
virtual bool CanBeOccluded () const
 
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
 
virtual uint32 GetMemoryFootprint (void) const =0
 
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 HasCustomOcclusionBounds () const
 
virtual FBoxSphereBounds GetCustomOcclusionBounds () 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
 

Static Public Member Functions

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)
 

Public Attributes

TArray< FDebugMassDataDebugMassData
 
TSharedPtr< int32, ESPMode::ThreadSafeSimpleStreamableAssetManagerIndex = MakeShared<int32, ESPMode::ThreadSafe>(INDEX_NONE)
 
TArray< class FMaterialCacheVirtualTextureRenderProxy * > MaterialCacheRenderProxies
 
uint32 MaterialCacheDescriptor = UINT32_MAX
 

Static Public Attributes

static constexpr int32 InvalidRayTracingGroupId = -1
 

Protected Member Functions

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 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

class FScene
 
class FLightPrimitiveInteraction
 
class FMaterialCacheSceneExtensionUpdater
 

Detailed Description

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.

Member Typedef Documentation

◆ FLCIArray

Get the list of LCIs. Used to set the precomputed lighting uniform buffers, which can only be created by the RENDERER_API.

Member Enumeration Documentation

◆ EInstanceBufferAccessFlags

Enumerator
SynchronizeUpdateTask 
UnsynchronizedAndUnsafe 

Constructor & Destructor Documentation

◆ FPrimitiveSceneProxy() [1/3]

FPrimitiveSceneProxy::FPrimitiveSceneProxy ( const UPrimitiveComponent *  InComponent,
FName  ResourceName = NAME_None 
)

Initialization constructor.

◆ FPrimitiveSceneProxy() [2/3]

FPrimitiveSceneProxy::FPrimitiveSceneProxy ( const FPrimitiveSceneProxyDesc InDesc,
FName  ResourceName = NAME_None 
)

◆ FPrimitiveSceneProxy() [3/3]

FPrimitiveSceneProxy::FPrimitiveSceneProxy ( FPrimitiveSceneProxy const &  )
default

Copy constructor.

◆ ~FPrimitiveSceneProxy()

FPrimitiveSceneProxy::~FPrimitiveSceneProxy ( )
virtual

Virtual destructor.

Member Function Documentation

◆ AcceptOcclusionResults()

virtual void FPrimitiveSceneProxy::AcceptOcclusionResults ( const FSceneView View,
TArray< bool > *  Results,
int32  ResultsStart,
int32  NumResults 
)
inlinevirtual

Gives the primitive the results of sub-occlusion-queries

Parameters
View- the view the occlusion results are for
Results- visibility results, allocated from the scene allocator, so valid until the end of the frame
NumResults- number of visibility bools

Reimplemented in FHierarchicalStaticMeshSceneProxy.

◆ AffectsDistanceFieldLighting()

bool FPrimitiveSceneProxy::AffectsDistanceFieldLighting ( ) const
inline

◆ AffectsDynamicIndirectLighting()

bool FPrimitiveSceneProxy::AffectsDynamicIndirectLighting ( ) const
inline

◆ AffectsIndirectLightingWhileHidden()

bool FPrimitiveSceneProxy::AffectsIndirectLightingWhileHidden ( ) const
inline

◆ AllowApproximateOcclusion()

bool FPrimitiveSceneProxy::AllowApproximateOcclusion ( ) const
inline

◆ AllowInstanceCullingOcclusionQueries()

virtual bool FPrimitiveSceneProxy::AllowInstanceCullingOcclusionQueries ( ) const
inlinevirtual
Returns
true if per-pixel visibility tests are allowed for instances of this primitive during GPU instance culling. This may yield significant performance benefit for some cases, such as relatively high-poly instanced static meshes.

Reimplemented in FHierarchicalStaticMeshSceneProxy, FStaticMeshSceneProxy, and FGeometryCollectionSceneProxy.

◆ AlwaysHasVelocity()

bool FPrimitiveSceneProxy::AlwaysHasVelocity ( ) const
inline

Returns true if this proxy should write velocity even when the transform isn't changing. Usually this is combined with a check for the transform changing.

◆ AnyMaterialAlwaysEvaluatesWorldPositionOffset()

bool FPrimitiveSceneProxy::AnyMaterialAlwaysEvaluatesWorldPositionOffset ( ) const
inline

◆ AnyMaterialHasPixelAnimation()

bool FPrimitiveSceneProxy::AnyMaterialHasPixelAnimation ( ) const
inline

◆ AnyMaterialHasWorldPositionOffset()

bool FPrimitiveSceneProxy::AnyMaterialHasWorldPositionOffset ( ) const
inline

◆ AnyMaterialUsesMotionVectorWorldOffset()

bool FPrimitiveSceneProxy::AnyMaterialUsesMotionVectorWorldOffset ( ) const
inline

◆ AnyMaterialUsesTemporalResponsiveness()

bool FPrimitiveSceneProxy::AnyMaterialUsesTemporalResponsiveness ( ) const
inline

◆ ApplyLateUpdateTransform()

void FPrimitiveSceneProxy::ApplyLateUpdateTransform ( FRHICommandListBase RHICmdList,
const FMatrix LateUpdateTransform 
)
virtual

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

Parameters
LateUpdateTransform- The post-transform to be applied to the LocalToWorld matrix

◆ ApplyViewDependentMeshArguments()

virtual void FPrimitiveSceneProxy::ApplyViewDependentMeshArguments ( const FSceneView View,
FMeshBatch ViewDependentMeshBatch 
) const
inlinevirtual

Gives the primitive an opportunity to override MeshBatch arguments for a specific View Only called for a MeshBatch with a bViewDependentArguments property set

Parameters
View- the view to override for
ViewDependentMeshBatch- view dependent mesh copy (does not affect a cached FMeshBatch)

Reimplemented in FLandscapeComponentSceneProxy.

◆ ApplyWorldOffset()

void FPrimitiveSceneProxy::ApplyWorldOffset ( FRHICommandListBase RHICmdList,
FVector  InOffset 
)
virtual

Shifts primitive position and all relevant data by an arbitrary delta. Called on world origin changes

Parameters
InOffset- The delta to shift by

Reimplemented in FHierarchicalStaticMeshSceneProxy.

◆ BuildUniformShaderParameters()

void FPrimitiveSceneProxy::BuildUniformShaderParameters ( FPrimitiveUniformShaderParametersBuilder Builder) const

Apply the unform shader parameter settings for the proxy to the builder.

◆ CanApplyStreamableRenderAssetScaleFactor()

virtual bool FPrimitiveSceneProxy::CanApplyStreamableRenderAssetScaleFactor ( ) const
inlinevirtual

◆ CanBeOccluded()

◆ CanSkipRedundantTransformUpdates()

bool FPrimitiveSceneProxy::CanSkipRedundantTransformUpdates ( ) const
inline
Returns
true if the proxy can skip redundant transform updates where applicable.

◆ CastsCapsuleDirectShadow()

bool FPrimitiveSceneProxy::CastsCapsuleDirectShadow ( ) const
inline

◆ CastsCinematicShadow()

bool FPrimitiveSceneProxy::CastsCinematicShadow ( ) const
inline

◆ CastsContactShadow()

bool FPrimitiveSceneProxy::CastsContactShadow ( ) const
inline

◆ CastsDeepShadow()

bool FPrimitiveSceneProxy::CastsDeepShadow ( ) const
inline

◆ CastsDynamicIndirectShadow()

bool FPrimitiveSceneProxy::CastsDynamicIndirectShadow ( ) const
inline

◆ CastsDynamicShadow()

bool FPrimitiveSceneProxy::CastsDynamicShadow ( ) const
inline

◆ CastsFarShadow()

bool FPrimitiveSceneProxy::CastsFarShadow ( ) const
inline

◆ CastsHiddenShadow()

bool FPrimitiveSceneProxy::CastsHiddenShadow ( ) const
inline

◆ CastsInsetShadow()

bool FPrimitiveSceneProxy::CastsInsetShadow ( ) const
inline

◆ CastsSelfShadowOnly()

bool FPrimitiveSceneProxy::CastsSelfShadowOnly ( ) const
inline

◆ CastsShadowAsTwoSided()

bool FPrimitiveSceneProxy::CastsShadowAsTwoSided ( ) const
inline

◆ CastsStaticShadow()

bool FPrimitiveSceneProxy::CastsStaticShadow ( ) const
inline

◆ CastsVolumetricTranslucentShadow()

bool FPrimitiveSceneProxy::CastsVolumetricTranslucentShadow ( ) const
inline

◆ CreateHitProxies() [1/2]

HHitProxy * FPrimitiveSceneProxy::CreateHitProxies ( IPrimitiveComponent ComponentInterface,
TArray< TRefCountPtr< HHitProxy > > &  OutHitProxies 
)
virtual

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

Parameters
OutHitProxies- Hit proxes which are created should be added to this array.
Returns
The hit proxy to use by default for elements drawn by DrawDynamicElements.

Reimplemented in FInstancedStaticMeshSceneProxy.

◆ CreateHitProxies() [2/2]

HHitProxy * FPrimitiveSceneProxy::CreateHitProxies ( UPrimitiveComponent *  Component,
TArray< TRefCountPtr< HHitProxy > > &  OutHitProxies 
)
virtual

All FPrimitiveSceneProxy derived classes can decide to fully override the HHitProxy creation, or add their own and call any of their base classes to add theirs.

Classes deriving from FPrimitiveSceneProxy which are meant to be used with IPrimitiveComponent should override both CreateHitProxies(UPrimitiveComponent*, ...) and CreateHitProxies(IPrimitiveComponent*, ...) and make the UPrimitiveComponent version call into the IPrimitiveComponent one. This allows their derived classes that are exclusive to UPrimitiveComponent to call into them and to reroute the proxy creation to the IPrimitiveComponent path. Creates the hit proxies are used when DrawDynamicElements is called. Called in the game thread.

Parameters
OutHitProxies- Hit proxes which are created should be added to this array.
Returns
The hit proxy to use by default for elements drawn by DrawDynamicElements.

Reimplemented in FModelSceneProxy, and FInstancedStaticMeshSceneProxy.

◆ CreateRenderThreadResources()

virtual void FPrimitiveSceneProxy::CreateRenderThreadResources ( FRHICommandListBase RHICmdList)
inlinevirtual

◆ DestroyRenderThreadResources()

virtual void FPrimitiveSceneProxy::DestroyRenderThreadResources ( )
inlinevirtual

Called when the rendering thread removes the proxy from the scene. This function allows for removing renderer-side resources. Called in the rendering thread.

Reimplemented in FInstancedStaticMeshSceneProxy, Nanite::FSkinnedSceneProxy, FSkeletalMeshSceneProxy, FStaticMeshSceneProxy, FGeometryCollectionSceneProxy, FNaniteGeometryCollectionSceneProxy, FLandscapeMeshProxySceneProxy, FLandscapeComponentSceneProxy, and FSparseVolumeTextureViewerSceneProxy.

◆ DoesMeshBatchesUseSceneInstanceCount()

bool FPrimitiveSceneProxy::DoesMeshBatchesUseSceneInstanceCount ( ) const
inline

Returns true to inform scene update that the mesh batches produced makes use of the (GPU)Scene instance count, and thus don't require recaching if the instance count changed. Defaults to false, the proxy should only opt in if the above condition is true (or risk GPU-crashes). Requires FMeshBatchElement::bFetchInstanceCountFromScene to be true.

◆ DoesVFRequirePrimitiveUniformBuffer()

bool FPrimitiveSceneProxy::DoesVFRequirePrimitiveUniformBuffer ( ) const
inline

◆ DrawArc()

void FPrimitiveSceneProxy::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

Drawing helper. Draws nice bouncy line.

◆ DrawArrowHead()

void FPrimitiveSceneProxy::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

◆ DrawInRuntimeVirtualTextureOnly()

bool FPrimitiveSceneProxy::DrawInRuntimeVirtualTextureOnly ( bool  bEditor) const
protected

Returns true if a primitive should currently be hidden because it is drawn only to the runtime virtual texture. The result can depend on the current scene state.

◆ DrawStaticElements()

virtual void FPrimitiveSceneProxy::DrawStaticElements ( FStaticPrimitiveDrawInterface PDI)
inlinevirtual

Draws the primitive's static elements. This is called from the rendering thread once when the scene proxy is created. The static elements will only be rendered if GetViewRelevance declares static relevance.

Parameters
PDI- The interface which receives the primitive elements.

Reimplemented in FTextRenderSceneProxy, FModelSceneProxy, FHierarchicalStaticMeshSceneProxy, Nanite::FSceneProxy, Nanite::FSkinnedSceneProxy, FSkeletalMeshSceneProxy, FStaticMeshSceneProxy, FNaniteGeometryCollectionSceneProxy, FGameplayDebuggerCompositeSceneProxy, FBaseDynamicMeshSceneProxy, ViewAdjustedStaticMeshGizmoComponentLocals::FViewAdjustedStaticMeshGizmoComponentProxy, and FLandscapeComponentSceneProxy.

◆ DrawsVelocity()

bool FPrimitiveSceneProxy::DrawsVelocity ( ) const
inline

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

◆ EnableGPUSceneSupportFlags()

void FPrimitiveSceneProxy::EnableGPUSceneSupportFlags ( )
protected

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.

◆ EvaluateWorldPositionOffset()

bool FPrimitiveSceneProxy::EvaluateWorldPositionOffset ( ) const
inline

◆ GatherSimpleLights()

virtual void FPrimitiveSceneProxy::GatherSimpleLights ( const FSceneViewFamily ViewFamily,
FSimpleLightArray OutParticleLights 
) const
inlinevirtual

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

Reimplemented in FParticleSystemSceneProxy.

◆ GetAbsMaxDisplacement()

float FPrimitiveSceneProxy::GetAbsMaxDisplacement ( ) const
inline

◆ GetActorPosition()

const FVector & FPrimitiveSceneProxy::GetActorPosition ( ) const
inline

◆ GetAllocatedSize()

SIZE_T FPrimitiveSceneProxy::GetAllocatedSize ( void  ) const
inline

◆ GetAnimationMinScreenSize()

virtual float FPrimitiveSceneProxy::GetAnimationMinScreenSize ( ) const
inlinevirtual

return < 0.0f to indicate no cutoff, 0.0f to use the global default and any value > 0.0f to indicate the relative screen space footprint size below which to stop animations.

Reimplemented in FNaniteInstancedSkinnedMeshSceneProxy, and FInstancedSkinnedMeshSceneProxy.

◆ GetBounds()

const FBoxSphereBounds & FPrimitiveSceneProxy::GetBounds ( ) const
inline

◆ GetCurrentFirstLODIdx_RenderThread()

virtual uint8 FPrimitiveSceneProxy::GetCurrentFirstLODIdx_RenderThread ( ) const
inlinevirtual

◆ GetCustomDepthStencilValue()

uint8 FPrimitiveSceneProxy::GetCustomDepthStencilValue ( ) const
inline

◆ GetCustomOcclusionBounds()

virtual FBoxSphereBounds FPrimitiveSceneProxy::GetCustomOcclusionBounds ( ) const
inlinevirtual

Return the custom occlusion bounds for this scene proxy.

Returns
FBoxSphereBounds The custom occlusion bounds.

Reimplemented in FParticleSystemSceneProxy.

◆ GetCustomPrimitiveData()

const FCustomPrimitiveData * FPrimitiveSceneProxy::GetCustomPrimitiveData ( ) const
inline

Get the custom primitive data for this scene proxy.

Returns
The payload of custom data that will be set on the primitive and accessible in the material through a material expression.

◆ GetDepthPriorityGroup()

ESceneDepthPriorityGroup FPrimitiveSceneProxy::GetDepthPriorityGroup ( const FSceneView View) const

Determines the DPG to render the primitive in for the given view. May be called regardless of the result of HasViewDependentDPG.

Parameters
View- The view to determine the primitive's DPG for.
Returns
The DPG the primitive should be rendered in for the given view.

◆ GetDesiredLODLevel_RenderThread()

virtual FDesiredLODLevel FPrimitiveSceneProxy::GetDesiredLODLevel_RenderThread ( const FSceneView View) const
inlinevirtual

◆ GetDistanceFieldAtlasData()

virtual void FPrimitiveSceneProxy::GetDistanceFieldAtlasData ( const class FDistanceFieldVolumeData *&  OutDistanceFieldData,
float SelfShadowBias 
) const
inlinevirtual

◆ GetDistanceFieldInstanceData()

virtual void FPrimitiveSceneProxy::GetDistanceFieldInstanceData ( TArray< FRenderTransform > &  InstanceLocalToPrimitiveTransforms) const
inlinefinalvirtual

◆ GetDynamicIndirectShadowMinVisibility()

float FPrimitiveSceneProxy::GetDynamicIndirectShadowMinVisibility ( ) const
inline

◆ GetDynamicMeshElements()

virtual void FPrimitiveSceneProxy::GetDynamicMeshElements ( const TArray< const FSceneView * > &  Views,
const FSceneViewFamily ViewFamily,
uint32  VisibilityMap,
class FMeshElementCollector Collector 
) const
inlinevirtual

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 in FInstancedStaticMeshSceneProxy, FArrowSceneProxy, FSpriteSceneProxy, FBrushSceneProxy, FDrawFrustumSceneProxy, FHeterogeneousVolumeSceneProxy, FLineBatcherSceneProxy, FMaterialSpriteSceneProxy, FTextRenderSceneProxy, FModelSceneProxy, FVectorFieldSceneProxy, FDebugRenderSceneProxy, FHierarchicalStaticMeshSceneProxy, Nanite::FSceneProxy, Nanite::FSkinnedSceneProxy, FParticleSystemSceneProxy, FSkeletalMeshSceneProxy, FStaticMeshSceneProxy, FGeometryCollectionSceneProxy, FNaniteGeometryCollectionSceneProxy, FGameplayDebuggerCompositeSceneProxy, FBaseDynamicMeshSceneProxy, FGizmoArrowComponentSceneProxy, FGizmoBoxComponentSceneProxy, FGizmoCircleComponentSceneProxy, FGizmoLineHandleComponentSceneProxy, FGizmoRectangleComponentSceneProxy, ViewAdjustedStaticMeshGizmoComponentLocals::FViewAdjustedStaticMeshGizmoComponentProxy, FLandscapeGizmoRenderSceneProxy, FLandscapeComponentSceneProxy, FNavLinkRenderingProxy, FNavMeshSceneProxy, FSparseVolumeTextureViewerSceneProxy, and FWidget3DSceneProxy.

◆ GetGpuLodInstanceRadius()

virtual float FPrimitiveSceneProxy::GetGpuLodInstanceRadius ( ) const
inlinevirtual

Returns the instance radius to use for per instance GPU LOD calculation. Returns 0.f if GPU LOD isn't enabled on the primitive.

Reimplemented in FInstancedStaticMeshSceneProxy.

◆ GetHeightfieldRepresentation()

virtual void FPrimitiveSceneProxy::GetHeightfieldRepresentation ( UTexture2D *&  OutHeightmapTexture,
UTexture2D *&  OutVisibilityTexture,
FHeightfieldComponentDescription OutDescription 
) const
inlinevirtual

Reimplemented in FLandscapeComponentSceneProxy.

◆ GetIndirectLightingCacheQuality()

EIndirectLightingCacheQuality FPrimitiveSceneProxy::GetIndirectLightingCacheQuality ( ) const
inline

◆ GetInstanceDataHeader()

FInstanceDataBufferHeader FPrimitiveSceneProxy::GetInstanceDataHeader ( ) const

◆ GetInstanceDataUpdateTaskInfo()

virtual FInstanceDataUpdateTaskInfo * FPrimitiveSceneProxy::GetInstanceDataUpdateTaskInfo ( ) const
inlinevirtual

Return a pointer to a class that can be used to guard access to instance data that is being updated by a task. The proxy must guarantee the lifetime of this object, and, since it is being used on the render thread be careful about how it is updated. In general, it must always be updated on the RT if it is visible to the RT.

Reimplemented in FInstancedStaticMeshSceneProxy, FNaniteInstancedSkinnedMeshSceneProxy, FInstancedSkinnedMeshSceneProxy, and Nanite::FSceneProxy.

◆ GetInstanceDrawDistanceMinMax()

virtual bool FPrimitiveSceneProxy::GetInstanceDrawDistanceMinMax ( FVector2f OutDistanceMinMax) const
inlinevirtual

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

Parameters
OutDistanceMinMaxcontains the min/max camera distance of the primitive's instances when enabled
Returns
bool true if camera distance culling is enabled for this primitive's instances

Reimplemented in FNaniteInstancedSkinnedMeshSceneProxy, FInstancedSkinnedMeshSceneProxy, Nanite::FSceneProxy, FInstancedStaticMeshSceneProxy, and FHierarchicalStaticMeshSceneProxy.

◆ GetInstanceSceneDataBuffers()

const FInstanceSceneDataBuffers * FPrimitiveSceneProxy::GetInstanceSceneDataBuffers ( EInstanceBufferAccessFlags  AccessFlags = EInstanceBufferAccessFlags::SynchronizeUpdateTask) const

Get the instance data view, which may be null for uninstanced primitives. The pointer must be kept valid for as long as the proxy lives, as a copy is cached in FPrimitiveSceneInfo.

◆ GetInstanceWorldPositionOffsetDisableDistance()

virtual bool FPrimitiveSceneProxy::GetInstanceWorldPositionOffsetDisableDistance ( float OutWPODisableDistance) const
inlinevirtual

Retrieves the per-instance world position offset disable distance

Parameters
OutWPODisableDistancecontains the distance from the camera at which the primitive's instances disable WPO
Returns
bool true if WPO disable distance is enabled for this primitive's instances

Reimplemented in Nanite::FSceneProxy, and FStaticMeshSceneProxy.

◆ GetLCIs()

◆ GetLevelName()

FName FPrimitiveSceneProxy::GetLevelName ( ) const
inline

◆ GetLightingChannelMask()

uint8 FPrimitiveSceneProxy::GetLightingChannelMask ( ) const
inline

◆ GetLightingChannelStencilValue()

uint8 FPrimitiveSceneProxy::GetLightingChannelStencilValue ( ) const
inline

◆ GetLightMapCoordinateIndex()

virtual int32 FPrimitiveSceneProxy::GetLightMapCoordinateIndex ( ) const
inlinevirtual

Get the lightmap UV coordinate index for this primitive. Used by systems that explicitly fetch lightmap UVs.

Reimplemented in Nanite::FSceneProxy, and FStaticMeshSceneProxy.

◆ GetLightMapResolution()

virtual int32 FPrimitiveSceneProxy::GetLightMapResolution ( ) const
inlinevirtual

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

Reimplemented in FLandscapeComponentSceneProxy.

◆ GetLightmapType()

ELightmapType FPrimitiveSceneProxy::GetLightmapType ( ) const
inline

◆ GetLightRelevance()

virtual void FPrimitiveSceneProxy::GetLightRelevance ( const FLightSceneProxy LightSceneProxy,
bool bDynamic,
bool bRelevant,
bool bLightMapped,
bool bShadowMapped 
) const
inlinevirtual

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

Parameters
LightSceneProxyThe light to determine relevance for
bDynamic(output) The light is dynamic for this primitive
bRelevant(output) The light is relevant for this primitive
bLightMapped(output) The light is light mapped for this primitive

Reimplemented in FInstancedStaticMeshSceneProxy, FModelSceneProxy, Nanite::FSceneProxy, FStaticMeshSceneProxy, FDynamicMeshSceneProxy, FLandscapeComponentSceneProxy, and FWidget3DSceneProxy.

◆ GetLocalBounds()

const FBoxSphereBounds & FPrimitiveSceneProxy::GetLocalBounds ( ) const
inline

◆ GetLocalToWorld()

const FMatrix & FPrimitiveSceneProxy::GetLocalToWorld ( ) const
inline

◆ GetLOD()

virtual int32 FPrimitiveSceneProxy::GetLOD ( const FSceneView View) const
inlinevirtual

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

Reimplemented in FStaticMeshSceneProxy.

◆ GetLodScreenSizeScale()

virtual float FPrimitiveSceneProxy::GetLodScreenSizeScale ( ) const
inlinevirtual

Returns a scale to apply to ScreenSize used in LOD calculation.

Reimplemented in FInstancedStaticMeshSceneProxy.

◆ GetMaterialCacheDescriptor()

uint32 FPrimitiveSceneProxy::GetMaterialCacheDescriptor ( ) const
virtual

Get the descriptor of the material cache, may be invalid if none allocated

◆ GetMaxDrawDistance()

float FPrimitiveSceneProxy::GetMaxDrawDistance ( ) const
inline

◆ GetMaxWorldPositionOffsetExtent()

float FPrimitiveSceneProxy::GetMaxWorldPositionOffsetExtent ( ) const
inline

◆ GetMemoryFootprint()

◆ GetMeshCardRepresentation()

virtual const class FCardRepresentationData * FPrimitiveSceneProxy::GetMeshCardRepresentation ( ) const
inlinevirtual

◆ GetMeshDescription()

virtual void FPrimitiveSceneProxy::GetMeshDescription ( int32  LODIndex,
TArray< FMeshBatch > &  OutMeshElements 
) const
inlinevirtual

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

Reimplemented in FStaticMeshSceneProxy.

◆ GetMeshDrawCommandStatsCategory()

FName FPrimitiveSceneProxy::GetMeshDrawCommandStatsCategory ( ) const
inline

◆ GetMeshPaintTextureDescriptor()

virtual FUintVector2 FPrimitiveSceneProxy::GetMeshPaintTextureDescriptor ( ) const
inlinevirtual

◆ GetMinDrawDistance()

float FPrimitiveSceneProxy::GetMinDrawDistance ( ) const
inline

◆ GetMinMaxMaterialDisplacement()

const FVector2f & FPrimitiveSceneProxy::GetMinMaxMaterialDisplacement ( ) const
inline

◆ GetNaniteResourceInfo()

virtual void FPrimitiveSceneProxy::GetNaniteResourceInfo ( uint32 ResourceID,
uint32 HierarchyOffset,
uint32 ImposterIndex 
) const
inlinevirtual

Reimplemented in Nanite::FSceneProxyBase.

◆ GetOcclusionQueries()

virtual const TArray< FBoxSphereBounds > * FPrimitiveSceneProxy::GetOcclusionQueries ( const FSceneView View) const
inlinevirtual

Gets the boxes for sub occlusion queries

Parameters
View- the view the occlusion results are for
Returns
pointer to the boxes, must remain valid until the queries are built

Reimplemented in FHierarchicalStaticMeshSceneProxy.

◆ GetOwnerName()

FName FPrimitiveSceneProxy::GetOwnerName ( ) const
inline

◆ GetPreSkinnedLocalBounds()

◆ GetPrimitiveColor()

FLinearColor FPrimitiveSceneProxy::GetPrimitiveColor ( ) const
inline

◆ GetPrimitiveComponentId()

FPrimitiveComponentId FPrimitiveSceneProxy::GetPrimitiveComponentId ( ) const
inline

◆ GetPrimitiveSceneInfo()

FPrimitiveSceneInfo * FPrimitiveSceneProxy::GetPrimitiveSceneInfo ( ) const
inline

◆ GetRayTracingGroupCullingPriority()

uint8 FPrimitiveSceneProxy::GetRayTracingGroupCullingPriority ( ) const
inline

◆ GetRayTracingGroupId()

int32 FPrimitiveSceneProxy::GetRayTracingGroupId ( ) const
inline

◆ GetRenderCurveResourceData()

virtual FRenderCurveResourceData * FPrimitiveSceneProxy::GetRenderCurveResourceData ( )
inlinevirtual

◆ GetResourceName()

FName FPrimitiveSceneProxy::GetResourceName ( ) const
inline

◆ GetRuntimeVirtualTextureIds()

const TArray< int32 > & FPrimitiveSceneProxy::GetRuntimeVirtualTextureIds ( ) const
inline

◆ GetScene()

FSceneInterface & FPrimitiveSceneProxy::GetScene ( ) const
inline

◆ GetShadowCacheInvalidationBehavior()

EShadowCacheInvalidationBehavior FPrimitiveSceneProxy::GetShadowCacheInvalidationBehavior ( ) const
inline

◆ GetShadowShapes()

virtual void FPrimitiveSceneProxy::GetShadowShapes ( FVector  PreViewTranslation,
TArray< FCapsuleShape3f > &  OutCapsuleShapes 
) const
inlinevirtual

Gathers shadow shapes from this proxy.

Reimplemented in FSkeletalMeshSceneProxy.

◆ GetSkinningSceneExtensionProxy()

virtual FSkinningSceneExtensionProxy * FPrimitiveSceneProxy::GetSkinningSceneExtensionProxy ( ) const
inlinevirtual

◆ GetSourceLandscapeComponentIds()

virtual TConstArrayView< FPrimitiveComponentId > FPrimitiveSceneProxy::GetSourceLandscapeComponentIds ( ) const
inlinevirtual

Reimplemented in FLandscapeNaniteSceneProxy.

◆ GetStaticDepthPriorityGroup()

virtual ESceneDepthPriorityGroup FPrimitiveSceneProxy::GetStaticDepthPriorityGroup ( ) const
inlinevirtual

Determines the DPG to render the primitive in regardless of view. Should only be called if HasViewDependentDPG()==true.

◆ GetStatId()

TStatId FPrimitiveSceneProxy::GetStatId ( ) const
inline

◆ GetStencilWriteMask()

EStencilMask FPrimitiveSceneProxy::GetStencilWriteMask ( ) const
inline

◆ GetStreamableRenderAssetInfo()

virtual void FPrimitiveSceneProxy::GetStreamableRenderAssetInfo ( const FBoxSphereBounds PrimitiveBounds,
TArray< struct FStreamingRenderAssetPrimitiveInfo > &  StreamableRenderAssets 
) const
inlinevirtual

◆ GetTranslucencySortDistanceOffset()

float FPrimitiveSceneProxy::GetTranslucencySortDistanceOffset ( ) const
inline

◆ GetTranslucencySortPriority()

int16 FPrimitiveSceneProxy::GetTranslucencySortPriority ( ) const
inline

◆ GetTypeHash()

◆ GetUniformBuffer()

FRHIUniformBuffer * FPrimitiveSceneProxy::GetUniformBuffer ( ) const
inline

◆ GetViewRelevance()

◆ GetVirtualTextureCullMips()

int32 FPrimitiveSceneProxy::GetVirtualTextureCullMips ( ) const
inline

◆ GetVirtualTextureLodBias()

int32 FPrimitiveSceneProxy::GetVirtualTextureLodBias ( ) const
inline

◆ GetVirtualTextureMinCoverage()

int32 FPrimitiveSceneProxy::GetVirtualTextureMinCoverage ( ) const
inline

◆ GetVisibilityId()

int32 FPrimitiveSceneProxy::GetVisibilityId ( ) const
inline

◆ GetWireframeColor()

FLinearColor FPrimitiveSceneProxy::GetWireframeColor ( ) const
inline

◆ HasCustomOcclusionBounds()

virtual bool FPrimitiveSceneProxy::HasCustomOcclusionBounds ( ) const
inlinevirtual

Returns whether the proxy utilizes custom occlusion bounds or not

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

Reimplemented in FParticleSystemSceneProxy.

◆ HasDeformableMesh()

bool FPrimitiveSceneProxy::HasDeformableMesh ( ) const
inline

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. WPO and PDO are not considered here (as they are material effects).

◆ HasDistanceFieldRepresentation()

virtual bool FPrimitiveSceneProxy::HasDistanceFieldRepresentation ( ) const
inlinevirtual

◆ HasDynamicIndirectShadowCasterRepresentation()

virtual bool FPrimitiveSceneProxy::HasDynamicIndirectShadowCasterRepresentation ( ) const
inlinevirtual

◆ HasDynamicTransform()

bool FPrimitiveSceneProxy::HasDynamicTransform ( ) const
inline

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

◆ HasInstanceDataBuffers()

bool FPrimitiveSceneProxy::HasInstanceDataBuffers ( ) const
inline

◆ HasPerInstanceHitProxies()

bool FPrimitiveSceneProxy::HasPerInstanceHitProxies ( ) const
inline

◆ HasStaticLighting()

bool FPrimitiveSceneProxy::HasStaticLighting ( ) const
inline

◆ HasSubprimitiveOcclusionQueries()

virtual bool FPrimitiveSceneProxy::HasSubprimitiveOcclusionQueries ( ) const
inlinevirtual
Returns
true if the proxy has custom occlusion queries

Reimplemented in FHierarchicalStaticMeshSceneProxy.

◆ HasValidSettingsForStaticLighting()

bool FPrimitiveSceneProxy::HasValidSettingsForStaticLighting ( ) const
inline

◆ HasViewDependentDPG()

bool FPrimitiveSceneProxy::HasViewDependentDPG ( ) const
inline

◆ HeightfieldHasPendingStreaming()

virtual bool FPrimitiveSceneProxy::HeightfieldHasPendingStreaming ( ) const
inlinevirtual

Reimplemented in FLandscapeComponentSceneProxy.

◆ Holdout()

bool FPrimitiveSceneProxy::Holdout ( ) const
inline

◆ IsAlwaysVisible()

bool FPrimitiveSceneProxy::IsAlwaysVisible ( ) const
inline

Returns whether this proxy is always visible.

◆ IsCollisionEnabled()

bool FPrimitiveSceneProxy::IsCollisionEnabled ( ) const
inline

◆ IsCompatibleWithLumenCardSharing()

bool FPrimitiveSceneProxy::IsCompatibleWithLumenCardSharing ( ) const
inline

◆ IsCullingReversedByComponent()

virtual bool FPrimitiveSceneProxy::IsCullingReversedByComponent ( ) const
inlinevirtual

◆ IsDetailMesh()

virtual bool FPrimitiveSceneProxy::IsDetailMesh ( ) const
inlinevirtual

Returns whether this proxy should be considered a "detail mesh". Detail meshes are distance culled even if distance culling is normally disabled for the view. (e.g. in editor)

Reimplemented in FInstancedStaticMeshSceneProxy.

◆ IsDrawnInEditor()

bool FPrimitiveSceneProxy::IsDrawnInEditor ( ) const
inline

Tell us if this proxy is drawn in editor.

◆ IsDrawnInGame()

bool FPrimitiveSceneProxy::IsDrawnInGame ( ) const
inline

Tell us if this proxy is drawn in game.

◆ IsEditingLevelInstanceChild()

bool FPrimitiveSceneProxy::IsEditingLevelInstanceChild ( ) const
inline

◆ IsEmissiveLightSource()

bool FPrimitiveSceneProxy::IsEmissiveLightSource ( ) const
inline

◆ IsFirstPerson()

bool FPrimitiveSceneProxy::IsFirstPerson ( ) const
inline

◆ IsFirstPersonWorldSpaceRepresentation()

bool FPrimitiveSceneProxy::IsFirstPersonWorldSpaceRepresentation ( ) const
inline

◆ IsForceHidden()

bool FPrimitiveSceneProxy::IsForceHidden ( ) const
inline

◆ IsForceMipStreaming()

bool FPrimitiveSceneProxy::IsForceMipStreaming ( ) const
inline

◆ IsHeterogeneousVolume()

bool FPrimitiveSceneProxy::IsHeterogeneousVolume ( ) const
inline

Returns whether this proxy is a heterogeneous volume.

◆ IsHiddenInSceneCapture()

bool FPrimitiveSceneProxy::IsHiddenInSceneCapture ( ) const
inline

◆ IsHovered()

bool FPrimitiveSceneProxy::IsHovered ( ) const
inline

◆ IsIndividuallySelected()

bool FPrimitiveSceneProxy::IsIndividuallySelected ( ) const
inline

◆ IsInstanceDataGPUOnly()

bool FPrimitiveSceneProxy::IsInstanceDataGPUOnly ( ) const

Whether instance data only exists in the GPU Scene (instance data not present in CPU memory).

◆ IsLandscapeNaniteProxy()

bool FPrimitiveSceneProxy::IsLandscapeNaniteProxy ( ) const
inline

◆ IsLandscapeProxy()

bool FPrimitiveSceneProxy::IsLandscapeProxy ( ) const
inline

◆ IsLocalToWorldDeterminantNegative()

bool FPrimitiveSceneProxy::IsLocalToWorldDeterminantNegative ( ) const
inline

◆ IsLumenHeightfield()

bool FPrimitiveSceneProxy::IsLumenHeightfield ( ) const
inline

◆ IsMeshShapeOftenMoving()

bool FPrimitiveSceneProxy::IsMeshShapeOftenMoving ( ) const
inline

◆ IsMovable()

bool FPrimitiveSceneProxy::IsMovable ( ) const
inline

◆ IsNaniteMesh()

bool FPrimitiveSceneProxy::IsNaniteMesh ( ) const
inline

Returns whether this proxy is a Nanite mesh.

◆ IsOftenMoving()

bool FPrimitiveSceneProxy::IsOftenMoving ( ) const
inline

◆ IsOnlyOwnerSee()

bool FPrimitiveSceneProxy::IsOnlyOwnerSee ( ) const
inline

◆ IsOpaqueOrMasked()

bool FPrimitiveSceneProxy::IsOpaqueOrMasked ( ) const
inline

◆ IsOwnedBy()

bool FPrimitiveSceneProxy::IsOwnedBy ( const FSceneViewOwner Owner) const
inline

◆ IsOwnerNoSee()

bool FPrimitiveSceneProxy::IsOwnerNoSee ( ) const
inline

◆ IsParentSelected()

bool FPrimitiveSceneProxy::IsParentSelected ( ) const
inline

◆ IsRayTracingFarField()

bool FPrimitiveSceneProxy::IsRayTracingFarField ( ) const
inline

◆ IsRuntimeVirtualTextureOnly()

bool FPrimitiveSceneProxy::IsRuntimeVirtualTextureOnly ( ) const
inlineprotected

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

◆ IsSelectable()

bool FPrimitiveSceneProxy::IsSelectable ( ) const
inline

◆ IsSelected()

bool FPrimitiveSceneProxy::IsSelected ( ) const
inline

◆ IsShadowCast()

bool FPrimitiveSceneProxy::IsShadowCast ( const FSceneView View) const
Returns
True if the primitive is casting a shadow.

◆ IsShown()

bool FPrimitiveSceneProxy::IsShown ( const FSceneView View) const
Returns
True if the primitive is visible in the given View.

◆ IsSkinnedMesh()

bool FPrimitiveSceneProxy::IsSkinnedMesh ( ) const
inline

◆ IsSplineMesh()

bool FPrimitiveSceneProxy::IsSplineMesh ( ) const
inline

◆ IsStatic()

bool FPrimitiveSceneProxy::IsStatic ( ) const
inline

◆ IsSupportingStreamableRenderAssetsGathering()

bool FPrimitiveSceneProxy::IsSupportingStreamableRenderAssetsGathering ( ) const
inline

◆ IsUsingDistanceCullFade()

virtual bool FPrimitiveSceneProxy::IsUsingDistanceCullFade ( ) const
inlinevirtual
Returns
true if the proxy uses distance cull fade.

Reimplemented in FTextRenderSceneProxy, Nanite::FSceneProxyBase, FSkeletalMeshSceneProxy, and FStaticMeshSceneProxy.

◆ IsVisibleInLumenScene()

bool FPrimitiveSceneProxy::IsVisibleInLumenScene ( ) const
inline

◆ IsVisibleInRayTracing()

bool FPrimitiveSceneProxy::IsVisibleInRayTracing ( ) const
inline

◆ IsVisibleInRealTimeSkyCaptures()

bool FPrimitiveSceneProxy::IsVisibleInRealTimeSkyCaptures ( ) const
inline

◆ IsVisibleInReflectionCaptures()

bool FPrimitiveSceneProxy::IsVisibleInReflectionCaptures ( ) const
inline

◆ IsVisibleInSceneCaptureOnly()

bool FPrimitiveSceneProxy::IsVisibleInSceneCaptureOnly ( ) const
inline

◆ LightAttachmentsAsGroup()

bool FPrimitiveSceneProxy::LightAttachmentsAsGroup ( ) const
inline

◆ NeedsUnbuiltPreviewLighting()

bool FPrimitiveSceneProxy::NeedsUnbuiltPreviewLighting ( ) const
inline

◆ OnDetachLight()

virtual void FPrimitiveSceneProxy::OnDetachLight ( const FLightSceneInfo Light)
inlinevirtual

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.

Parameters
Light- The light to be removed.

◆ OnEvaluateWorldPositionOffsetChanged_RenderThread()

virtual void FPrimitiveSceneProxy::OnEvaluateWorldPositionOffsetChanged_RenderThread ( )
inlineprotectedvirtual

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

Reimplemented in Nanite::FSceneProxy, and FStaticMeshSceneProxy.

◆ OnForceHiddenChanged()

virtual void FPrimitiveSceneProxy::OnForceHiddenChanged ( )
inlineprotectedvirtual

◆ OnLevelAddedToWorld_RenderThread()

void FPrimitiveSceneProxy::OnLevelAddedToWorld_RenderThread ( )
protected

Called to notify the proxy that the level has been fully added to the world and the primitive will now be rendered. Only called if bShouldNotifyOnWorldAddRemove is set to true.

◆ OnLevelRemovedFromWorld_RenderThread()

void FPrimitiveSceneProxy::OnLevelRemovedFromWorld_RenderThread ( )
protected

Called to notify the proxy that the level has been fully removed from the world and the primitive will not be rendered. Only called if bShouldNotifyOnWorldAddRemove is set to true.

◆ OnTransformChanged()

virtual void FPrimitiveSceneProxy::OnTransformChanged ( FRHICommandListBase RHICmdList)
inlinevirtual

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

Reimplemented in FArrowSceneProxy, FSpriteSceneProxy, FParticleSystemSceneProxy, FSkeletalMeshSceneProxy, FSplineMeshSceneProxy, FNaniteSplineMeshSceneProxy, FLandscapeComponentSceneProxy, and FWidget3DSceneProxy.

◆ OverrideOwnerName()

void FPrimitiveSceneProxy::OverrideOwnerName ( FName  InOwnerName)
inlineprotected

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

◆ PadInstanceLocalBounds()

FRenderBounds FPrimitiveSceneProxy::PadInstanceLocalBounds ( const FRenderBounds InBounds)
protected

◆ ReceivesDecals()

const bool FPrimitiveSceneProxy::ReceivesDecals ( ) const
inline

◆ RenderBounds()

void FPrimitiveSceneProxy::RenderBounds ( FPrimitiveDrawInterface PDI,
const FEngineShowFlags EngineShowFlags,
const FBoxSphereBounds Bounds,
bool  bRenderInEditor 
) const

Helper for components that want to render bounds.

◆ ResetSceneVelocity_GameThread()

void FPrimitiveSceneProxy::ResetSceneVelocity_GameThread ( )

Enqueue and update for the render thread to remove the velocity data for this component from the scene.

◆ SetCanSkipRedundantTransformUpdates()

void FPrimitiveSceneProxy::SetCanSkipRedundantTransformUpdates ( bool  bCanSkip)
inline

Set whether the proxy can skip redundant transform updates where applicable.

◆ SetCollisionEnabled_GameThread()

void FPrimitiveSceneProxy::SetCollisionEnabled_GameThread ( const bool  bNewEnabled)

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

Parameters
constbool bNewEnabled new state for collision drawing

◆ SetCollisionEnabled_RenderThread()

void FPrimitiveSceneProxy::SetCollisionEnabled_RenderThread ( const bool  bNewEnabled)

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

Parameters
constbool bNewEnabled new state for collision drawing

◆ SetCustomDepthEnabled_GameThread()

void FPrimitiveSceneProxy::SetCustomDepthEnabled_GameThread ( const bool  bInRenderCustomDepth)

Set the custom depth enabled flag

Parameters
thenew value

◆ SetCustomDepthEnabled_RenderThread()

void FPrimitiveSceneProxy::SetCustomDepthEnabled_RenderThread ( const bool  bInRenderCustomDepth)

Set the custom depth enabled flag (RENDER THREAD)

Parameters
thenew value

◆ SetCustomDepthStencilValue_GameThread()

void FPrimitiveSceneProxy::SetCustomDepthStencilValue_GameThread ( const int32  InCustomDepthStencilValue)

Set the custom depth stencil value

Parameters
thenew value

◆ SetCustomDepthStencilValue_RenderThread()

void FPrimitiveSceneProxy::SetCustomDepthStencilValue_RenderThread ( const int32  InCustomDepthStencilValue)

Set the custom depth stencil value (RENDER THREAD)

Parameters
thenew value

◆ SetDebugMassData()

virtual ENGINE_API void FPrimitiveSceneProxy::SetDebugMassData ( const TArray< FDebugMassData > &  InDebugMassData)
virtual

Sets the primitive proxy's mass space to component space. Useful for debugging physics center of mass and inertia tensor

◆ SetDistanceFieldSelfShadowBias_RenderThread()

void FPrimitiveSceneProxy::SetDistanceFieldSelfShadowBias_RenderThread ( float  NewBias)

◆ SetDrawDistance_RenderThread()

void FPrimitiveSceneProxy::SetDrawDistance_RenderThread ( float  MinDrawDistance,
float  MaxDrawDistance,
float  VirtualTextureMaxDrawDistance 
)

◆ SetDrawnInGame_RenderThread()

void FPrimitiveSceneProxy::SetDrawnInGame_RenderThread ( bool  bInDrawInGame)

Set the drawn in game flag, from the render thread.

Parameters
bInDrawInGameThe new value.

Set the draw in game flag (RENDER THREAD)

Parameters
thenew value

◆ SetEvaluateWorldPositionOffset_GameThread()

void FPrimitiveSceneProxy::SetEvaluateWorldPositionOffset_GameThread ( bool  bEvaluate)

Enqueue updated setting for evaluation of World Position Offset.

◆ SetForceHidden()

void FPrimitiveSceneProxy::SetForceHidden ( bool  bForceHiddenIn)
inlineprotected

◆ SetHiddenEdViews_GameThread()

void FPrimitiveSceneProxy::SetHiddenEdViews_GameThread ( uint64  InHiddenEditorViews)

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

◆ SetHovered_GameThread()

void FPrimitiveSceneProxy::SetHovered_GameThread ( const bool  bInHovered)

Updates hover state for the primitive proxy. This simply sends a message to the rendering thread to call SetHovered_RenderThread. This is called in the game thread as hover state changes

Parameters
bInHovered- true if the parent actor is hovered

◆ SetHovered_RenderThread()

void FPrimitiveSceneProxy::SetHovered_RenderThread ( const bool  bInHovered)
protected

Updates hover state for the primitive proxy. This is called in the rendering thread by SetHovered_GameThread.

Updates hover state for the primitive proxy. This is called in the rendering thread by SetHovered_GameThread.

Parameters
bInHovered- true if the parent actor is hovered

◆ SetInstanceCullDistance_RenderThread()

virtual void FPrimitiveSceneProxy::SetInstanceCullDistance_RenderThread ( float  StartCullDistance,
float  EndCullDistance 
)
inlinevirtual

◆ SetLevelInstanceEditingState_GameThread()

void FPrimitiveSceneProxy::SetLevelInstanceEditingState_GameThread ( const bool  bInEditingState)

Updates the LevelInstance editing state for the primitive proxy. This simply sends a message to the rendering thread to call SetLevelInstanceEditingState_RenderThread. This is called in the game thread when the object enters/leaves LevelInstance levels.

Parameters
bInEditingState- true if the parent actor belongs to an editing LevelInstance sublevel

◆ SetLevelInstanceEditingState_RenderThread()

void FPrimitiveSceneProxy::SetLevelInstanceEditingState_RenderThread ( const bool  bInLevelInstanceEditingState)
protected

Updates LevelInstance editing state for the primitive proxy. This is called in the rendering thread.

◆ SetLightingChannels_GameThread()

void FPrimitiveSceneProxy::SetLightingChannels_GameThread ( FLightingChannels  LightingChannels)

Updates the lighting channels for the primitive proxy.

◆ SetPrimitiveColor()

void FPrimitiveSceneProxy::SetPrimitiveColor ( const FLinearColor InPrimitiveColor)
inline

◆ SetPrimitiveColor_GameThread()

void FPrimitiveSceneProxy::SetPrimitiveColor_GameThread ( const FLinearColor InPrimitiveColor)

Enqueue and update for the render thread to notify it that the primitive color changed.

◆ SetSelection_GameThread()

void FPrimitiveSceneProxy::SetSelection_GameThread ( const bool  bInParentSelected,
const bool  bInIndividuallySelected = false 
)

Updates selection for the primitive proxy. This simply sends a message to the rendering thread to call SetSelection_RenderThread. This is called in the game thread as selection is toggled.

Parameters
bInParentSelected- true if the parent actor is selected in the editor
bInIndividuallySelected- true if the component is selected in the editor directly

Updates selection for the primitive proxy. This simply sends a message to the rendering thread to call SetSelection_RenderThread. This is called in the game thread as selection is toggled.

Parameters
bInSelected- true if the parent actor is selected in the editor

◆ SetSelection_RenderThread()

void FPrimitiveSceneProxy::SetSelection_RenderThread ( const bool  bInParentSelected,
const bool  bInIndividuallySelected 
)
protected

Updates selection for the primitive proxy. This is called in the rendering thread by SetSelection_GameThread.

Updates selection for the primitive proxy. This is called in the rendering thread by SetSelection_GameThread.

Parameters
bInSelected- true if the parent actor is selected in the editor

◆ SetupInstanceSceneDataBuffers()

void FPrimitiveSceneProxy::SetupInstanceSceneDataBuffers ( const FInstanceSceneDataBuffers InInstanceSceneDataBuffers)
protected

◆ SetWireframeColor()

void FPrimitiveSceneProxy::SetWireframeColor ( const FLinearColor InWireframeColor)
inline

◆ SetWorldPositionOffsetDisableDistance_GameThread()

virtual void FPrimitiveSceneProxy::SetWorldPositionOffsetDisableDistance_GameThread ( int32  NewValue)
inlinevirtual

Reimplemented in Nanite::FSceneProxy.

◆ ShouldNotifyOnWorldAddRemove()

bool FPrimitiveSceneProxy::ShouldNotifyOnWorldAddRemove ( ) const
inline

◆ ShouldReceiveMobileCSMShadows()

bool FPrimitiveSceneProxy::ShouldReceiveMobileCSMShadows ( ) const
inline

◆ ShouldRenderCustomDepth()

bool FPrimitiveSceneProxy::ShouldRenderCustomDepth ( ) const

◆ ShouldRenderInDepthPass()

bool FPrimitiveSceneProxy::ShouldRenderInDepthPass ( ) const
inline

◆ ShouldRenderInMainPass()

bool FPrimitiveSceneProxy::ShouldRenderInMainPass ( ) const
inline

◆ ShouldUseAsOccluder()

bool FPrimitiveSceneProxy::ShouldUseAsOccluder ( ) const
inline

◆ ShowInBSPSplitViewmode()

virtual bool FPrimitiveSceneProxy::ShowInBSPSplitViewmode ( ) const
inlinevirtual

Reimplemented in FModelSceneProxy.

◆ SinglePassGDME()

bool FPrimitiveSceneProxy::SinglePassGDME ( ) const
inline

◆ StaticElementsAlwaysUseProxyPrimitiveUniformBuffer()

bool FPrimitiveSceneProxy::StaticElementsAlwaysUseProxyPrimitiveUniformBuffer ( ) const
inline

◆ StaticMeshHasPendingStreaming()

virtual bool FPrimitiveSceneProxy::StaticMeshHasPendingStreaming ( ) const
inlinevirtual

Reimplemented in FStaticMeshSceneProxy.

◆ SupportsDistanceFieldRepresentation()

bool FPrimitiveSceneProxy::SupportsDistanceFieldRepresentation ( ) const
inline

◆ SupportsGPUScene()

bool FPrimitiveSceneProxy::SupportsGPUScene ( ) const
inline

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

◆ SupportsHeightfieldRepresentation()

bool FPrimitiveSceneProxy::SupportsHeightfieldRepresentation ( ) const
inline

◆ SupportsInstanceDataBuffer()

bool FPrimitiveSceneProxy::SupportsInstanceDataBuffer ( ) const
inline

◆ SupportsMaterialCache()

bool FPrimitiveSceneProxy::SupportsMaterialCache ( ) const
inline

◆ SupportsParallelGDME()

bool FPrimitiveSceneProxy::SupportsParallelGDME ( ) const
inline

◆ SupportsParallelGDRTI()

bool FPrimitiveSceneProxy::SupportsParallelGDRTI ( ) const
inline

◆ SupportsSortedTriangles()

bool FPrimitiveSceneProxy::SupportsSortedTriangles ( ) const
inline

◆ TreatAsBackgroundForOcclusion()

bool FPrimitiveSceneProxy::TreatAsBackgroundForOcclusion ( ) const
inline

◆ UpdateInstances_RenderThread() [1/2]

void FPrimitiveSceneProxy::UpdateInstances_RenderThread ( FRHICommandListBase RHICmdList,
const FBoxSphereBounds InBounds,
const FBoxSphereBounds InLocalBounds 
)
protectedvirtual

Reimplemented in FInstancedStaticMeshSceneProxy.

◆ UpdateInstances_RenderThread() [2/2]

void FPrimitiveSceneProxy::UpdateInstances_RenderThread ( FRHICommandListBase RHICmdList,
const FBoxSphereBounds InBounds,
const FBoxSphereBounds InLocalBounds,
const FBoxSphereBounds InStaticMeshBounds 
)
finalprotectedvirtual

Called on the render thread for a proxy that has an instance data update, the buffers are updated asynchronously so it is unclear what this should do, except update legacy data if needed.

Parameters
InBounds- Primitive world space bounds.
InLocalBounds- Primitive local space bounds.
InStaticMeshBounds- Bounds of the primitive mesh instance.

◆ UpdateUniformBuffer()

void FPrimitiveSceneProxy::UpdateUniformBuffer ( FRHICommandList RHICmdList)

Updates the primitive proxy's uniform buffer.

◆ UpdateVisibleInLumenScene()

void FPrimitiveSceneProxy::UpdateVisibleInLumenScene ( )
protected

Updates bVisibleInLumen, which indicated whether a primitive should be tracked by Lumen scene. Checks if primitive can be ray traced and if it can by captured by surface cache.

◆ UseEditorCompositing()

bool FPrimitiveSceneProxy::UseEditorCompositing ( const FSceneView View) const

◆ UseSingleSampleShadowFromStationaryLights()

bool FPrimitiveSceneProxy::UseSingleSampleShadowFromStationaryLights ( ) const

◆ VerifyUsedMaterial()

bool FPrimitiveSceneProxy::VerifyUsedMaterial ( const class FMaterialRenderProxy MaterialRenderProxy) const

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

◆ WantsEditorEffects()

bool FPrimitiveSceneProxy::WantsEditorEffects ( ) const
inline

◆ WantsSelectionOutline()

bool FPrimitiveSceneProxy::WantsSelectionOutline ( ) const
inline

◆ WillEverBeLit()

bool FPrimitiveSceneProxy::WillEverBeLit ( ) const
inline

◆ WritesVirtualTexture() [1/2]

bool FPrimitiveSceneProxy::WritesVirtualTexture ( ) const
inline

◆ WritesVirtualTexture() [2/2]

bool FPrimitiveSceneProxy::WritesVirtualTexture ( URuntimeVirtualTexture VirtualTexture) const
inline

Friends And Related Symbol Documentation

◆ FLightPrimitiveInteraction

◆ FMaterialCacheSceneExtensionUpdater

◆ FScene

friend class FScene
friend

Member Data Documentation

◆ bAffectDistanceFieldLighting

uint8 FPrimitiveSceneProxy::bAffectDistanceFieldLighting
protected

◆ bAffectDynamicIndirectLighting

uint8 FPrimitiveSceneProxy::bAffectDynamicIndirectLighting
protected

True if the primitive influences dynamic indirect lighting.

◆ bAffectIndirectLightingWhileHidden

uint8 FPrimitiveSceneProxy::bAffectIndirectLightingWhileHidden
protected

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

◆ bAllowApproximateOcclusion

uint8 FPrimitiveSceneProxy::bAllowApproximateOcclusion
protected

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

◆ bAlwaysHasVelocity

uint8 FPrimitiveSceneProxy::bAlwaysHasVelocity
protected

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

◆ bAnyMaterialAlwaysEvaluatesWorldPositionOffset

uint8 FPrimitiveSceneProxy::bAnyMaterialAlwaysEvaluatesWorldPositionOffset
protected

Whether the primitive has any materials that must ALWAYS evaluate World Position Offset.

◆ bAnyMaterialHasPixelAnimation

uint8 FPrimitiveSceneProxy::bAnyMaterialHasPixelAnimation
protected

Whether the primitive has any materials that must ALWAYS evaluate World Position Offset.

◆ bAnyMaterialHasWorldPositionOffset

uint8 FPrimitiveSceneProxy::bAnyMaterialHasWorldPositionOffset
protected

Whether the primitive has any materials with World Position Offset.

◆ bAnyMaterialUsesMotionVectorWorldOffset

uint8 FPrimitiveSceneProxy::bAnyMaterialUsesMotionVectorWorldOffset
protected

Whether the primitive has any materials that evaluate motion vector offset to modify velocity.

◆ bAnyMaterialUsesTemporalResponsiveness

uint8 FPrimitiveSceneProxy::bAnyMaterialUsesTemporalResponsiveness
protected

Whether the primitive has any materials that evaluate temporal Responsiveness.

◆ bCanSkipRedundantTransformUpdates

uint8 FPrimitiveSceneProxy::bCanSkipRedundantTransformUpdates
protected

Whether this component can skip redundant transform updates where applicable.

◆ bCastCapsuleDirectShadow

uint8 FPrimitiveSceneProxy::bCastCapsuleDirectShadow
protected

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

◆ bCastCinematicShadow

uint8 FPrimitiveSceneProxy::bCastCinematicShadow
protected

Whether this component should create a per-object shadow that gives higher effective shadow resolution. Useful for cinematic character shadowing. Assumed to be enabled if bSelfShadowOnly is enabled.

◆ bCastContactShadow

uint8 FPrimitiveSceneProxy::bCastContactShadow
protected

Whether the object should cast a contact shadow

◆ bCastDeepShadow

uint8 FPrimitiveSceneProxy::bCastDeepShadow
protected

Whether the object should cast a deep shadow

◆ bCastDynamicShadow

uint8 FPrimitiveSceneProxy::bCastDynamicShadow
protected

True if the primitive casts dynamic shadows.

◆ bCastFarShadow

uint8 FPrimitiveSceneProxy::bCastFarShadow
protected

◆ bCastHiddenShadow

uint8 FPrimitiveSceneProxy::bCastHiddenShadow
protected

True if the primitive casts shadows even when hidden.

◆ bCastInsetShadow

uint8 FPrimitiveSceneProxy::bCastInsetShadow
protected

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

◆ bCastsDynamicIndirectShadow

uint8 FPrimitiveSceneProxy::bCastsDynamicIndirectShadow
protected

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

◆ bCastShadowAsTwoSided

uint8 FPrimitiveSceneProxy::bCastShadowAsTwoSided
protected

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

◆ bCastStaticShadow

uint8 FPrimitiveSceneProxy::bCastStaticShadow
protected

True if the primitive casts static shadows.

◆ bCastVolumetricTranslucentShadow

uint8 FPrimitiveSceneProxy::bCastVolumetricTranslucentShadow
protected

Whether the object should cast a volumetric translucent shadow. Volumetric translucent shadows are useful for primitives with smoothly changing opacity like particles representing a volume, But have artifacts when used on highly opaque surfaces.

◆ bCompatibleWithLumenCardSharing

uint8 FPrimitiveSceneProxy::bCompatibleWithLumenCardSharing
protected

Whether Lumen cards of this primitive can be shared.

◆ bDoesMeshBatchesUseSceneInstanceCount

uint8 FPrimitiveSceneProxy::bDoesMeshBatchesUseSceneInstanceCount
protected

Set to true to inform scene update that the MDCs produced may use the (GPU)Scene instance count, and thus don't require recaching if the instance count changed.

◆ bEmissiveLightSource

uint8 FPrimitiveSceneProxy::bEmissiveLightSource
protected

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

◆ bEvaluateWorldPositionOffset

uint8 FPrimitiveSceneProxy::bEvaluateWorldPositionOffset
protected

Whether the primitive should evaluate any World Position Offset.

◆ bGoodCandidateForCachedShadowmap

uint8 FPrimitiveSceneProxy::bGoodCandidateForCachedShadowmap
protected

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

◆ bHasDeformableMesh

uint8 FPrimitiveSceneProxy::bHasDeformableMesh
protected

True if the mesh representation is deformable (see HasDeformableMesh() above for more details). Defaults to true to be conservative.

◆ bHasValidSettingsForStaticLighting

uint8 FPrimitiveSceneProxy::bHasValidSettingsForStaticLighting
protected

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

◆ bHasWorldPositionOffsetVelocity

uint8 FPrimitiveSceneProxy::bHasWorldPositionOffsetVelocity
protected

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

◆ bHoldout

uint8 FPrimitiveSceneProxy::bHoldout
protected

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. This feature requires activating the project setting(s) "Alpha Output", and "Support Primitive Alpha Holdout" if using the deferred renderer.

◆ bImplementsStreamableAssetGathering

uint8 FPrimitiveSceneProxy::bImplementsStreamableAssetGathering
protected

This is only set to true by constructors of proxy types which support gathering of UStreamableAssets

◆ bInstancedSkinnedMesh

uint8 FPrimitiveSceneProxy::bInstancedSkinnedMesh
protected

If this is True, this primitive is a skinned mesh

◆ bIsAlwaysVisible

uint8 FPrimitiveSceneProxy::bIsAlwaysVisible
protected

Whether this proxy is always visible.

◆ bIsFirstPerson

uint8 FPrimitiveSceneProxy::bIsFirstPerson
protected

If this is True, this primitive is to be rendered as a first person view object. Mutually exclusive with bIsFirstPersonWorldSpaceRepresentation.

◆ bIsFirstPersonWorldSpaceRepresentation

uint8 FPrimitiveSceneProxy::bIsFirstPersonWorldSpaceRepresentation
protected

If this is True, this primitive represents another first person primitive in world space. Mutually exclusive with bIsFirstPerson.

◆ bIsHeterogeneousVolume

uint8 FPrimitiveSceneProxy::bIsHeterogeneousVolume
protected

Whether this proxy is a heterogeneous volume.

◆ bIsHierarchicalInstancedStaticMesh

uint8 FPrimitiveSceneProxy::bIsHierarchicalInstancedStaticMesh
protected

Whether the primitive is a HierarchicalInstancedStaticMesh.

◆ bIsLandscapeGrass

uint8 FPrimitiveSceneProxy::bIsLandscapeGrass
protected

Whether the primitive is landscape grass.

◆ bIsLandscapeNaniteProxy

uint8 FPrimitiveSceneProxy::bIsLandscapeNaniteProxy
protected

◆ bIsLandscapeProxy

uint8 FPrimitiveSceneProxy::bIsLandscapeProxy
protected

Whether this is a landscape proxy

◆ bIsNaniteMesh

uint8 FPrimitiveSceneProxy::bIsNaniteMesh
protected

Whether this proxy is a Nanite mesh.

◆ bIsStaticMesh

uint8 FPrimitiveSceneProxy::bIsStaticMesh
protected

Whether this proxy is a static mesh.

◆ bLightAttachmentsAsGroup

uint8 FPrimitiveSceneProxy::bLightAttachmentsAsGroup
protected

Whether to light this component and any attachments as a group. This only has effect on the root component of an attachment tree. When enabled, attached component shadowing settings like bCastInsetShadow, bCastVolumetricTranslucentShadow, etc, will be ignored. This is useful for improving performance when multiple movable components are attached together.

◆ bLumenHeightfield

uint8 FPrimitiveSceneProxy::bLumenHeightfield
protected

If true, a single top-down Lumen card is allocated

◆ bNeedsUnbuiltPreviewLighting

uint8 FPrimitiveSceneProxy::bNeedsUnbuiltPreviewLighting
protected

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

◆ bOpaqueOrMasked

uint8 FPrimitiveSceneProxy::bOpaqueOrMasked
protected

Whether this component contains opaque materials (cached once from assigned material). Note: if composed from multiple meshes and materials, it may contain translucent materials.

◆ bSelfShadowOnly

uint8 FPrimitiveSceneProxy::bSelfShadowOnly
protected

When enabled, the component will only cast a shadow on itself and not other components in the world. This is especially useful for first person weapons, and forces bCastInsetShadow to be enabled.

◆ bShouldNotifyOnWorldAddRemove

uint8 FPrimitiveSceneProxy::bShouldNotifyOnWorldAddRemove
protected

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

◆ bSinglePassGDME

uint8 FPrimitiveSceneProxy::bSinglePassGDME
protected

Whether to call GetDynamicMeshElements a single time, instead of once per unique FSceneViewFamily. If set to true, the GetDynamicMeshElements implementation must take into account that Views may point to different view families, with different EngineShowFlags. In practice, this means using View->Family in the loop over Views, especially for accessing EngineShowFlags, rather than the ViewFamily parameter passed in. The "AllViews" member, plus certain other members like the frame counter and time, are invariant across view families, and safe to access from ViewFamily. Example use cases are features that do global processing or initialize a common shared buffer across views, which are fairly rare.

◆ bSingleSampleShadowFromStationaryLights

uint8 FPrimitiveSceneProxy::bSingleSampleShadowFromStationaryLights
protected

Whether the whole component should be shadowed as one from stationary lights, which makes shadow receiving much cheaper. When enabled shadowing data comes from the volume lighting samples precomputed by Lightmass, which are very sparse. This is currently only used on stationary directional lights.

◆ bSkinnedMesh

uint8 FPrimitiveSceneProxy::bSkinnedMesh
protected

If this is True, this primitive is a skinned mesh

◆ bSplineMesh

uint8 FPrimitiveSceneProxy::bSplineMesh
protected

If this is True, this primitive is a spline mesh

◆ bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer

uint8 FPrimitiveSceneProxy::bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer
protected

Whether this proxy always uses UniformBuffer and no other uniform buffers.
When true, a fast path for updating can be used that does not update static draw lists.

◆ bSupportsDistanceFieldRepresentation

uint8 FPrimitiveSceneProxy::bSupportsDistanceFieldRepresentation
protected

Whether the primitive type supports a distance field representation. Does not mean the primitive has a valid representation.

◆ bSupportsGPUScene

uint8 FPrimitiveSceneProxy::bSupportsGPUScene
protected

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

◆ bSupportsHeightfieldRepresentation

uint8 FPrimitiveSceneProxy::bSupportsHeightfieldRepresentation
protected

Whether the primitive implements GetHeightfieldRepresentation()

◆ bSupportsMaterialCache

uint8 FPrimitiveSceneProxy::bSupportsMaterialCache
protected

◆ bSupportsParallelGDME

uint8 FPrimitiveSceneProxy::bSupportsParallelGDME
protected

Whether the proxy supports asynchronously calling GetDynamicMeshElements. If disabled, all calls for various proxies are serialized with respect to each other.

◆ bSupportsParallelGDRTI

uint8 FPrimitiveSceneProxy::bSupportsParallelGDRTI
protected

Whether the proxy supports asynchronously calling GetDynamicRayTracingInstances. If disabled, all calls for various proxies are serialized with respect to each other.

◆ bSupportsRuntimeVirtualTexture

uint8 FPrimitiveSceneProxy::bSupportsRuntimeVirtualTexture
protected

This is only set true by the constructors of proxy types which support writing to runtime virtual texture.

◆ bSupportsSortedTriangles

uint8 FPrimitiveSceneProxy::bSupportsSortedTriangles
protected

Whether the object support triangles when rendered with translucent material

◆ bVerifyUsedMaterials

uint8 FPrimitiveSceneProxy::bVerifyUsedMaterials
protected

◆ bVFRequiresPrimitiveUniformBuffer

uint8 FPrimitiveSceneProxy::bVFRequiresPrimitiveUniformBuffer
protected

Whether this proxy ever draws with vertex factories that require a primitive uniform buffer. When false, updating the primitive uniform buffer can be skipped since vertex factories always use GPUScene instead.

◆ bVisibleInLumenScene

uint8 FPrimitiveSceneProxy::bVisibleInLumenScene
protected

Whether this component should be tracked by Lumen Scene. Turning this off will remove it from Lumen Scene and Lumen won't generate surface cache for it.

◆ bWantsEditorEffects

uint8 FPrimitiveSceneProxy::bWantsEditorEffects
protected

False by default, if true the proxy wants editor-only effects like outlines and overlays.

◆ bWantsSelectionOutline

uint8 FPrimitiveSceneProxy::bWantsSelectionOutline
protected

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

◆ bWillEverBeLit

uint8 FPrimitiveSceneProxy::bWillEverBeLit
protected

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

◆ CombinedMaterialRelevance

FMaterialRelevance FPrimitiveSceneProxy::CombinedMaterialRelevance
protected

Cached material relevance available for GetMaterialRelevance call.

◆ DebugMassData

TArray<FDebugMassData> FPrimitiveSceneProxy::DebugMassData

◆ DistanceFieldSelfShadowBias

float FPrimitiveSceneProxy::DistanceFieldSelfShadowBias
protected

◆ DynamicIndirectShadowMinVisibility

float FPrimitiveSceneProxy::DynamicIndirectShadowMinVisibility
protected

Min visibility for capsule shadows.

◆ IndirectLightingCacheQuality

TEnumAsByte<EIndirectLightingCacheQuality> FPrimitiveSceneProxy::IndirectLightingCacheQuality
protected

Quality of interpolated indirect lighting for Movable components.

◆ InvalidRayTracingGroupId

constexpr int32 FPrimitiveSceneProxy::InvalidRayTracingGroupId = -1
staticconstexpr

◆ MaterialCacheDescriptor

uint32 FPrimitiveSceneProxy::MaterialCacheDescriptor = UINT32_MAX

Allocated cache descriptor

◆ MaterialCacheRenderProxies

TArray<class FMaterialCacheVirtualTextureRenderProxy*> FPrimitiveSceneProxy::MaterialCacheRenderProxies

Allocated cache render proxies

◆ MaxDrawDistance

float FPrimitiveSceneProxy::MaxDrawDistance
protected

The primitive's cull distance.

◆ MaxWPOExtent

float FPrimitiveSceneProxy::MaxWPOExtent
protected

Maximum distance of World Position Offset used by materials. Values > 0.0 will cause the WPO to be clamped and the primitive's bounds to be padded to account for it. Value of zero will not clamp the WPO of materials nor pad bounds (legacy behavior)

◆ MinDrawDistance

float FPrimitiveSceneProxy::MinDrawDistance
protected

The primitive's minimum cull distance.

◆ MinMaxMaterialDisplacement

FVector2f FPrimitiveSceneProxy::MinMaxMaterialDisplacement
protected

◆ RuntimeVirtualTextureMaterialTypes

TArray<ERuntimeVirtualTextureMaterialType> FPrimitiveSceneProxy::RuntimeVirtualTextureMaterialTypes
protected

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

◆ RuntimeVirtualTextures

TArray<int32> FPrimitiveSceneProxy::RuntimeVirtualTextures
protected

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

◆ ShadowCacheInvalidationBehavior

EShadowCacheInvalidationBehavior FPrimitiveSceneProxy::ShadowCacheInvalidationBehavior
protected

◆ SimpleStreamableAssetManagerIndex

TSharedPtr<int32, ESPMode::ThreadSafe> FPrimitiveSceneProxy::SimpleStreamableAssetManagerIndex = MakeShared<int32, ESPMode::ThreadSafe>(INDEX_NONE)

◆ VirtualTextureCullMips

int8 FPrimitiveSceneProxy::VirtualTextureCullMips
protected

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

◆ VirtualTextureLodBias

int8 FPrimitiveSceneProxy::VirtualTextureLodBias
protected

Geometry Lod bias when rendering to runtime virtual texture.

◆ VirtualTextureMinCoverage

int8 FPrimitiveSceneProxy::VirtualTextureMinCoverage
protected

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


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