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

#include <DynamicMeshSceneProxy.h>

+ Inheritance diagram for FDynamicMeshSceneProxy:

Public Member Functions

 FDynamicMeshSceneProxy (UDynamicMeshComponent *Component)
 
virtual void GetActiveRenderBufferSets (TArray< FMeshRenderBufferSet * > &Buffers) const override
 
void Initialize ()
 
TUniqueFunction< void(int, int, int, const FVector3f &, FVector3f &, FVector3f &)> MakeTangentsFunc (bool bSkipAutoCompute=false)
 
void InitializeFromDecomposition (TUniquePtr< FMeshRenderDecomposition > &Decomposition)
 
void InitializeSingleBufferSet (FMeshRenderBufferSet *RenderBuffers)
 
void InitializeByMaterial (TArray< FMeshRenderBufferSet * > &BufferSets)
 
bool RenderMeshLayoutMatchesRenderBuffers () const
 
void FastUpdateVertices (bool bPositions, bool bNormals, bool bColors, bool bUVs)
 
void FastUpdateVertices (const TArray< int32 > &WhichBuffers, bool bPositions, bool bNormals, bool bColors, bool bUVs)
 
void FastUpdateAllIndexBuffers ()
 
void FastUpdateIndexBuffers (const TArray< int32 > &WhichBuffers)
 
virtual FPrimitiveViewRelevance GetViewRelevance (const FSceneView *View) const override
 
virtual void UpdatedReferencedMaterials () override
 
virtual void GetLightRelevance (const FLightSceneProxy *LightSceneProxy, bool &bDynamic, bool &bRelevant, bool &bLightMapped, bool &bShadowMapped) const override
 
virtual bool CanBeOccluded () const override
 
virtual uint32 GetMemoryFootprint (void) const override
 
uint32 GetAllocatedSize (void) const
 
SIZE_T GetTypeHash () const override
 
- Public Member Functions inherited from FBaseDynamicMeshSceneProxy
GEOMETRYFRAMEWORK_API FBaseDynamicMeshSceneProxy (UBaseDynamicMeshComponent *Component)
 
virtual GEOMETRYFRAMEWORK_API ~FBaseDynamicMeshSceneProxy ()
 
virtual GEOMETRYFRAMEWORK_API FMeshRenderBufferSetAllocateNewRenderBufferSet ()
 
virtual GEOMETRYFRAMEWORK_API void ReleaseRenderBufferSet (FMeshRenderBufferSet *BufferSet)
 
template<typename TriangleEnumerable >
void InitializeBuffersFromOverlays (FMeshRenderBufferSet *RenderBuffers, const FDynamicMesh3 *Mesh, int NumTriangles, const TriangleEnumerable &Enumerable, const FDynamicMeshUVOverlay *UVOverlay, const FDynamicMeshNormalOverlay *NormalOverlay, const FDynamicMeshColorOverlay *ColorOverlay, TFunctionRef< void(int, int, int, const FVector3f &, FVector3f &, FVector3f &)> TangentsFunc, bool bTrackTriangles=false, bool bParallel=false)
 
template<typename TriangleEnumerable , typename UVOverlayListAllocator >
void InitializeBuffersFromOverlays (FMeshRenderBufferSet *RenderBuffers, const FDynamicMesh3 *Mesh, int NumTriangles, const TriangleEnumerable &Enumerable, const TArray< const FDynamicMeshUVOverlay *, UVOverlayListAllocator > &UVOverlays, const FDynamicMeshNormalOverlay *NormalOverlay, const FDynamicMeshColorOverlay *ColorOverlay, TFunctionRef< void(int, int, int, const FVector3f &, FVector3f &, FVector3f &)> TangentsFunc, bool bTrackTriangles=false, bool bParallel=false)
 
void UpdateSecondaryTriangleBuffer (FMeshRenderBufferSet *RenderBuffers, const FDynamicMesh3 *Mesh, bool bDuplicate)
 
void RecomputeRenderBufferTriangleIndexSets (FMeshRenderBufferSet *RenderBuffers, const FDynamicMesh3 *Mesh)
 
template<typename TriangleEnumerable >
void UpdateVertexBuffersFromOverlays (FMeshRenderBufferSet *RenderBuffers, const FDynamicMesh3 *Mesh, int NumTriangles, const TriangleEnumerable &Enumerable, const FDynamicMeshNormalOverlay *NormalOverlay, const FDynamicMeshColorOverlay *ColorOverlay, TFunctionRef< void(int, int, int, const FVector3f &, FVector3f &, FVector3f &)> TangentsFunc, bool bUpdatePositions=true, bool bUpdateNormals=false, bool bUpdateColors=false)
 
template<typename TriangleEnumerable , typename UVOverlayListAllocator >
void UpdateVertexUVBufferFromOverlays (FMeshRenderBufferSet *RenderBuffers, const FDynamicMesh3 *Mesh, int32 NumTriangles, const TriangleEnumerable &Enumerable, const TArray< const FDynamicMeshUVOverlay *, UVOverlayListAllocator > &UVOverlays)
 
virtual GEOMETRYFRAMEWORK_API int32 GetNumMaterials () const
 
virtual GEOMETRYFRAMEWORK_API UMaterialInterfaceGetMaterial (int32 k) const
 
void SetVerifyUsedMaterials (const bool bState)
 
virtual GEOMETRYFRAMEWORK_API void GetDynamicMeshElements (const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, FMeshElementCollector &Collector) const override
 
virtual GEOMETRYFRAMEWORK_API void DrawStaticElements (FStaticPrimitiveDrawInterface *PDI) override
 
virtual GEOMETRYFRAMEWORK_API bool AllowStaticDrawPath (const FSceneView *View) const
 
virtual GEOMETRYFRAMEWORK_API void DrawBatch (FMeshElementCollector &Collector, const FMeshRenderBufferSet &RenderBuffers, const FDynamicMeshIndexBuffer32 &IndexBuffer, FMaterialRenderProxy *UseMaterial, bool bWireframe, ESceneDepthPriorityGroup DepthPriority, int ViewIndex, FDynamicPrimitiveUniformBuffer &DynamicPrimitiveUniformBuffer) const
 
virtual GEOMETRYFRAMEWORK_API const FCardRepresentationDataGetMeshCardRepresentation () const override
 
GEOMETRYFRAMEWORK_API void SetNewDistanceField (TSharedPtr< FDistanceFieldVolumeData > NewDistanceField, bool bInInitialize)
 
GEOMETRYFRAMEWORK_API void SetCollisionData ()
 
GEOMETRYFRAMEWORK_API bool IsCollisionView (const FEngineShowFlags &EngineShowFlags, bool &bDrawSimpleCollision, bool &bDrawComplexCollision) const
 
- Public Member Functions inherited from FPrimitiveSceneProxy
ENGINE_API FPrimitiveSceneProxy (const UPrimitiveComponent *InComponent, FName ResourceName=NAME_None)
 
ENGINE_API FPrimitiveSceneProxy (const FPrimitiveSceneProxyDesc &InDesc, FName ResourceName=NAME_None)
 
ENGINE_API FPrimitiveSceneProxy (FPrimitiveSceneProxy const &)
 
virtual ENGINE_API ~FPrimitiveSceneProxy ()
 
ENGINE_API void SetSelection_GameThread (const bool bInParentSelected, const bool bInIndividuallySelected=false)
 
ENGINE_API void SetLevelInstanceEditingState_GameThread (const bool bInEditingState)
 
void SetHovered_GameThread (const bool bInHovered)
 
void SetLightingChannels_GameThread (FLightingChannels LightingChannels)
 
void SetHiddenEdViews_GameThread (uint64 InHiddenEditorViews)
 
ENGINE_API void SetPrimitiveColor_GameThread (const FLinearColor &InPrimitiveColor)
 
ENGINE_API void ResetSceneVelocity_GameThread ()
 
void SetEvaluateWorldPositionOffset_GameThread (bool bEvaluate)
 
virtual void SetWorldPositionOffsetDisableDistance_GameThread (int32 NewValue)
 
virtual void SetInstanceCullDistance_RenderThread (float StartCullDistance, float EndCullDistance)
 
ENGINE_API bool IsShown (const FSceneView *View) const
 
ENGINE_API bool IsShadowCast (const FSceneView *View) const
 
ENGINE_API void RenderBounds (FPrimitiveDrawInterface *PDI, const FEngineShowFlags &EngineShowFlags, const FBoxSphereBounds &Bounds, bool bRenderInEditor) const
 
ENGINE_API bool VerifyUsedMaterial (const class FMaterialRenderProxy *MaterialRenderProxy) const
 
virtual int32 GetLOD (const FSceneView *View) const
 
virtual ENGINE_API HHitProxyCreateHitProxies (UPrimitiveComponent *Component, TArray< TRefCountPtr< HHitProxy > > &OutHitProxies)
 
virtual ENGINE_API HHitProxyCreateHitProxies (IPrimitiveComponent *ComponentInterface, TArray< TRefCountPtr< HHitProxy > > &OutHitProxies)
 
virtual void 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 ApplyViewDependentMeshArguments (const FSceneView &View, FMeshBatch &ViewDependentMeshBatch) const
 
virtual const TArray< FBoxSphereBounds > * GetOcclusionQueries (const FSceneView *View) const
 
virtual void AcceptOcclusionResults (const FSceneView *View, TArray< bool > *Results, int32 ResultsStart, int32 NumResults)
 
virtual void GatherSimpleLights (const FSceneViewFamily &ViewFamily, FSimpleLightArray &OutParticleLights) 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 AllowInstanceCullingOcclusionQueries () const
 
bool CanSkipRedundantTransformUpdates () const
 
void SetCanSkipRedundantTransformUpdates (bool bCanSkip)
 
virtual bool IsUsingDistanceCullFade () const
 
virtual bool HasSubprimitiveOcclusionQueries () const
 
virtual bool ShowInBSPSplitViewmode () const
 
virtual ESceneDepthPriorityGroup GetStaticDepthPriorityGroup () const
 
ENGINE_API ESceneDepthPriorityGroup GetDepthPriorityGroup (const FSceneView *View) const
 
SIZE_T GetAllocatedSize (void) const
 
void SetCollisionEnabled_GameThread (const bool bNewEnabled)
 
void SetCollisionEnabled_RenderThread (const bool bNewEnabled)
 
void SetCustomDepthEnabled_GameThread (const bool bInRenderCustomDepth)
 
void SetCustomDepthEnabled_RenderThread (const bool bInRenderCustomDepth)
 
void SetCustomDepthStencilValue_GameThread (const int32 InCustomDepthStencilValue)
 
void SetCustomDepthStencilValue_RenderThread (const int32 InCustomDepthStencilValue)
 
void SetDistanceFieldSelfShadowBias_RenderThread (float NewBias)
 
ENGINE_API void SetDrawDistance_RenderThread (float MinDrawDistance, float MaxDrawDistance, float VirtualTextureMaxDrawDistance)
 
FSceneInterfaceGetScene () const
 
FPrimitiveComponentId GetPrimitiveComponentId () const
 
FPrimitiveSceneInfoGetPrimitiveSceneInfo () const
 
const FMatrixGetLocalToWorld () const
 
bool IsLocalToWorldDeterminantNegative () const
 
const FBoxSphereBoundsGetBounds () const
 
const FBoxSphereBoundsGetLocalBounds () const
 
virtual ENGINE_API void GetPreSkinnedLocalBounds (FBoxSphereBounds &OutBounds) const
 
FName GetOwnerName () const
 
FName GetResourceName () const
 
FName GetLevelName () const
 
TStatId GetStatId () const
 
float GetMinDrawDistance () const
 
float GetMaxDrawDistance () const
 
int32 GetVisibilityId () const
 
int16 GetTranslucencySortPriority () const
 
float GetTranslucencySortDistanceOffset () const
 
int32 GetVirtualTextureLodBias () const
 
int32 GetVirtualTextureCullMips () const
 
int32 GetVirtualTextureMinCoverage () const
 
const TArray< int32 > & GetRuntimeVirtualTextureIds () const
 
bool IsMovable () const
 
bool IsOftenMoving () const
 
bool IsMeshShapeOftenMoving () const
 
ELightmapType GetLightmapType () const
 
bool IsStatic () const
 
bool IsSelectable () const
 
bool IsParentSelected () const
 
bool IsIndividuallySelected () const
 
bool IsEditingLevelInstanceChild () const
 
bool IsSelected () const
 
bool WantsEditorEffects () const
 
bool WantsSelectionOutline () const
 
ENGINE_API bool ShouldRenderCustomDepth () const
 
bool IsVisibleInSceneCaptureOnly () const
 
bool IsHiddenInSceneCapture () const
 
uint8 GetCustomDepthStencilValue () const
 
EStencilMask GetStencilWriteMask () const
 
uint8 GetLightingChannelMask () const
 
uint8 GetLightingChannelStencilValue () const
 
bool IsVisibleInReflectionCaptures () const
 
bool IsVisibleInRealTimeSkyCaptures () const
 
bool IsVisibleInRayTracing () const
 
bool IsVisibleInLumenScene () const
 
bool IsOpaqueOrMasked () const
 
bool SupportsMaterialCache () const
 
bool ShouldRenderInMainPass () const
 
bool ShouldRenderInDepthPass () const
 
bool SupportsParallelGDME () const
 
bool SinglePassGDME () const
 
bool SupportsParallelGDRTI () const
 
bool IsCollisionEnabled () const
 
bool IsHovered () const
 
bool IsOwnedBy (const FSceneViewOwner &Owner) const
 
bool HasViewDependentDPG () const
 
bool HasStaticLighting () const
 
bool NeedsUnbuiltPreviewLighting () const
 
bool CastsStaticShadow () const
 
bool CastsDynamicShadow () const
 
bool IsEmissiveLightSource () const
 
bool WritesVirtualTexture () const
 
bool WritesVirtualTexture (URuntimeVirtualTexture *VirtualTexture) const
 
bool AffectsDynamicIndirectLighting () const
 
bool AffectsDistanceFieldLighting () const
 
bool AffectsIndirectLightingWhileHidden () const
 
EIndirectLightingCacheQuality GetIndirectLightingCacheQuality () const
 
bool CastsVolumetricTranslucentShadow () const
 
bool CastsContactShadow () const
 
bool CastsDeepShadow () const
 
bool CastsCapsuleDirectShadow () const
 
bool CastsDynamicIndirectShadow () const
 
float GetDynamicIndirectShadowMinVisibility () const
 
bool CastsHiddenShadow () const
 
bool CastsShadowAsTwoSided () const
 
bool CastsSelfShadowOnly () const
 
bool CastsInsetShadow () const
 
bool CastsCinematicShadow () const
 
bool CastsFarShadow () const
 
bool LightAttachmentsAsGroup () const
 
ENGINE_API bool UseSingleSampleShadowFromStationaryLights () const
 
bool StaticElementsAlwaysUseProxyPrimitiveUniformBuffer () const
 
bool DoesVFRequirePrimitiveUniformBuffer () const
 
ENGINE_API bool IsInstanceDataGPUOnly () const
 
bool DoesMeshBatchesUseSceneInstanceCount () const
 
bool ShouldUseAsOccluder () const
 
bool AllowApproximateOcclusion () const
 
bool Holdout () const
 
bool IsSplineMesh () const
 
bool IsSkinnedMesh () const
 
bool IsFirstPerson () const
 
bool IsFirstPersonWorldSpaceRepresentation () const
 
bool IsOwnerNoSee () const
 
bool IsOnlyOwnerSee () const
 
FRHIUniformBufferGetUniformBuffer () const
 
bool HasPerInstanceHitProxies () const
 
ENGINE_API bool UseEditorCompositing (const FSceneView *View) const
 
const FVectorGetActorPosition () const
 
const bool ReceivesDecals () const
 
bool WillEverBeLit () const
 
bool HasValidSettingsForStaticLighting () const
 
bool SupportsDistanceFieldRepresentation () const
 
bool SupportsHeightfieldRepresentation () const
 
bool IsLumenHeightfield () const
 
bool IsLandscapeProxy () const
 
bool IsLandscapeNaniteProxy () const
 
bool IsCompatibleWithLumenCardSharing () const
 
bool SupportsInstanceDataBuffer () const
 
bool SupportsSortedTriangles () const
 
bool TreatAsBackgroundForOcclusion () const
 
bool ShouldNotifyOnWorldAddRemove () const
 
bool IsForceHidden () const
 
bool ShouldReceiveMobileCSMShadows () const
 
bool IsRayTracingFarField () const
 
int32 GetRayTracingGroupId () const
 
uint8 GetRayTracingGroupCullingPriority () const
 
bool EvaluateWorldPositionOffset () const
 
bool AnyMaterialHasWorldPositionOffset () const
 
bool AnyMaterialAlwaysEvaluatesWorldPositionOffset () const
 
bool AnyMaterialHasPixelAnimation () const
 
bool AnyMaterialUsesTemporalResponsiveness () const
 
bool AnyMaterialUsesMotionVectorWorldOffset () const
 
float GetMaxWorldPositionOffsetExtent () const
 
const FVector2fGetMinMaxMaterialDisplacement () const
 
float GetAbsMaxDisplacement () const
 
bool HasDynamicTransform () const
 
bool DrawsVelocity () const
 
bool AlwaysHasVelocity () const
 
FLinearColor GetWireframeColor () const
 
FLinearColor GetPrimitiveColor () const
 
void SetWireframeColor (const FLinearColor &InWireframeColor)
 
void SetPrimitiveColor (const FLinearColor &InPrimitiveColor)
 
virtual bool IsDetailMesh () const
 
virtual FSkinningSceneExtensionProxyGetSkinningSceneExtensionProxy () const
 
bool IsNaniteMesh () const
 
bool IsAlwaysVisible () const
 
bool IsHeterogeneousVolume () const
 
bool SupportsGPUScene () const
 
bool HasDeformableMesh () const
 
virtual bool 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
 

Public Attributes

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

Additional Inherited Members

- Public Types inherited from FPrimitiveSceneProxy
enum class  EInstanceBufferAccessFlags { SynchronizeUpdateTask , UnsynchronizedAndUnsafe }
 
typedef TArray< class FLightCacheInterface *, TInlineAllocator< 8 > > FLCIArray
 
- Static Public Member Functions inherited from FBaseDynamicMeshSceneProxy
static GEOMETRYFRAMEWORK_API FMaterialRenderProxyGetEngineVertexColorMaterialProxy (FMeshElementCollector &Collector, const FEngineShowFlags &EngineShowFlags, bool bProxyIsSelected, bool bIsHovered)
 
static TUniquePtr< FDistanceFieldVolumeDataComputeDistanceFieldForMesh (const FDynamicMesh3 &Mesh, FProgressCancel &Progress, float DistanceFieldResolutionScale=1.0, bool bGenerateAsIfTwoSided=false)
 
- Static Public Member Functions inherited from FPrimitiveSceneProxy
static ENGINE_API void DrawArc (FPrimitiveDrawInterface *PDI, const FVector &Start, const FVector &End, const float Height, const uint32 Segments, const FLinearColor &Color, uint8 DepthPriorityGroup, const float Thickness=0.0f, const bool bScreenSpace=false)
 
static ENGINE_API void DrawArrowHead (FPrimitiveDrawInterface *PDI, const FVector &Tip, const FVector &Origin, const float Size, const FLinearColor &Color, uint8 DepthPriorityGroup, const float Thickness=0.0f, const bool bScreenSpace=false)
 
- Static Public Attributes inherited from FPrimitiveSceneProxy
static constexpr int32 InvalidRayTracingGroupId = -1
 
- Protected Member Functions inherited from FBaseDynamicMeshSceneProxy
virtual GEOMETRYFRAMEWORK_API void GetCollisionDynamicMeshElements (TArray< FMeshRenderBufferSet * > &Buffers, const FEngineShowFlags &EngineShowFlags, bool bDrawCollisionView, bool bDrawSimpleCollision, bool bDrawComplexCollision, bool bProxyIsSelected, const TArray< const FSceneView * > &Views, uint32 VisibilityMap, FMeshElementCollector &Collector) const
 
void UpdateLumenCardsFromBounds ()
 
- Protected Member Functions inherited from FPrimitiveSceneProxy
ENGINE_API void SetupInstanceSceneDataBuffers (const FInstanceSceneDataBuffers *InInstanceSceneDataBuffers)
 
ENGINE_API void UpdateVisibleInLumenScene ()
 
bool IsRuntimeVirtualTextureOnly () const
 
bool DrawInRuntimeVirtualTextureOnly (bool bEditor) const
 
void OverrideOwnerName (FName InOwnerName)
 
ENGINE_API void OnLevelAddedToWorld_RenderThread ()
 
ENGINE_API void OnLevelRemovedFromWorld_RenderThread ()
 
void SetForceHidden (bool bForceHiddenIn)
 
virtual void OnForceHiddenChanged ()
 
ENGINE_API void EnableGPUSceneSupportFlags ()
 
virtual ENGINE_API void UpdateInstances_RenderThread (FRHICommandListBase &RHICmdList, const FBoxSphereBounds &InBounds, const FBoxSphereBounds &InLocalBounds, const FBoxSphereBounds &InStaticMeshBounds) final
 
virtual ENGINE_API void UpdateInstances_RenderThread (FRHICommandListBase &RHICmdList, const FBoxSphereBounds &InBounds, const FBoxSphereBounds &InLocalBounds)
 
void SetSelection_RenderThread (const bool bInParentSelected, const bool bInIndividuallySelected)
 
void SetLevelInstanceEditingState_RenderThread (const bool bInLevelInstanceEditingState)
 
void SetHovered_RenderThread (const bool bInHovered)
 
virtual void OnEvaluateWorldPositionOffsetChanged_RenderThread ()
 
ENGINE_API FRenderBounds PadInstanceLocalBounds (const FRenderBounds &InBounds)
 
- Protected Attributes inherited from FBaseDynamicMeshSceneProxy
TSet< FMeshRenderBufferSet * > AllocatedBufferSets
 
FCriticalSection AllocatedSetsLock
 
bool bTwoSided = false
 
bool bEnableRaytracing = false
 
bool bEnableViewModeOverrides = true
 
bool bPreferStaticDrawPath = false
 
TPimplPtr< FCardRepresentationDataMeshCards
 
bool bMeshCardsValid = false
 
TSharedPtr< FDistanceFieldVolumeDataDistanceField
 
bool bDistanceFieldValid = false
 
- Protected Attributes inherited from FPrimitiveSceneProxy
uint8 bSupportsParallelGDME: 1
 
uint8 bSinglePassGDME: 1
 
uint8 bSupportsParallelGDRTI: 1
 
uint8 bVisibleInLumenScene: 1
 
uint8 bOpaqueOrMasked: 1
 
uint8 bCanSkipRedundantTransformUpdates: 1
 
uint8 bGoodCandidateForCachedShadowmap: 1
 
uint8 bNeedsUnbuiltPreviewLighting: 1
 
uint8 bHasValidSettingsForStaticLighting: 1
 
uint8 bWillEverBeLit: 1
 
uint8 bCastDynamicShadow: 1
 
uint8 bEmissiveLightSource: 1
 
uint8 bAffectDynamicIndirectLighting: 1
 
uint8 bAffectIndirectLightingWhileHidden: 1
 
uint8 bAffectDistanceFieldLighting: 1
 
uint8 bSupportsMaterialCache: 1
 
uint8 bCastStaticShadow: 1
 
EShadowCacheInvalidationBehavior ShadowCacheInvalidationBehavior
 
uint8 bCastVolumetricTranslucentShadow: 1
 
uint8 bCastContactShadow: 1
 
uint8 bCastDeepShadow: 1
 
uint8 bCastCapsuleDirectShadow: 1
 
uint8 bCastsDynamicIndirectShadow: 1
 
uint8 bCastHiddenShadow: 1
 
uint8 bCastShadowAsTwoSided: 1
 
uint8 bSelfShadowOnly: 1
 
uint8 bCastInsetShadow: 1
 
uint8 bCastCinematicShadow: 1
 
uint8 bCastFarShadow: 1
 
uint8 bLightAttachmentsAsGroup: 1
 
uint8 bSingleSampleShadowFromStationaryLights: 1
 
uint8 bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer: 1
 
uint8 bVFRequiresPrimitiveUniformBuffer: 1
 
uint8 bDoesMeshBatchesUseSceneInstanceCount: 1
 
uint8 bIsStaticMesh: 1
 
uint8 bIsNaniteMesh: 1
 
uint8 bIsAlwaysVisible: 1
 
uint8 bIsHeterogeneousVolume: 1
 
uint8 bIsHierarchicalInstancedStaticMesh: 1
 
uint8 bIsLandscapeGrass: 1
 
uint8 bSupportsGPUScene: 1
 
uint8 bHasDeformableMesh: 1
 
uint8 bEvaluateWorldPositionOffset: 1
 
uint8 bHasWorldPositionOffsetVelocity: 1
 
uint8 bAnyMaterialHasWorldPositionOffset: 1
 
uint8 bAnyMaterialAlwaysEvaluatesWorldPositionOffset: 1
 
uint8 bAnyMaterialHasPixelAnimation: 1
 
uint8 bAnyMaterialUsesTemporalResponsiveness: 1
 
uint8 bAnyMaterialUsesMotionVectorWorldOffset: 1
 
uint8 bAlwaysHasVelocity: 1
 
uint8 bSupportsDistanceFieldRepresentation: 1
 
uint8 bSupportsHeightfieldRepresentation: 1
 
uint8 bLumenHeightfield: 1
 
uint8 bIsLandscapeProxy: 1
 
uint8 bIsLandscapeNaniteProxy: 1
 
uint8 bCompatibleWithLumenCardSharing: 1
 
uint8 bSupportsSortedTriangles: 1
 
uint8 bShouldNotifyOnWorldAddRemove: 1
 
uint8 bWantsSelectionOutline: 1
 
uint8 bVerifyUsedMaterials: 1
 
uint8 bWantsEditorEffects: 1
 
uint8 bAllowApproximateOcclusion: 1
 
uint8 bHoldout: 1
 
uint8 bSplineMesh: 1
 
uint8 bSkinnedMesh: 1
 
uint8 bInstancedSkinnedMesh: 1
 
uint8 bIsFirstPerson: 1
 
uint8 bIsFirstPersonWorldSpaceRepresentation: 1
 
uint8 bSupportsRuntimeVirtualTexture: 1
 
uint8 bImplementsStreamableAssetGathering: 1
 
FMaterialRelevance CombinedMaterialRelevance
 
TEnumAsByte< EIndirectLightingCacheQualityIndirectLightingCacheQuality
 
int8 VirtualTextureLodBias
 
int8 VirtualTextureCullMips
 
int8 VirtualTextureMinCoverage
 
float DynamicIndirectShadowMinVisibility
 
float DistanceFieldSelfShadowBias
 
float MaxWPOExtent
 
FVector2f MinMaxMaterialDisplacement
 
TArray< int32RuntimeVirtualTextures
 
TArray< ERuntimeVirtualTextureMaterialTypeRuntimeVirtualTextureMaterialTypes
 
float MaxDrawDistance
 
float MinDrawDistance
 

Detailed Description

Scene Proxy for UDynamicMeshComponent.

Based on FProceduralMeshSceneProxy but simplified in various ways.

Supports wireframe-on-shaded rendering.

Constructor & Destructor Documentation

◆ FDynamicMeshSceneProxy()

FDynamicMeshSceneProxy::FDynamicMeshSceneProxy ( UDynamicMeshComponent Component)
inline

Member Function Documentation

◆ CanBeOccluded()

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

Reimplemented from FPrimitiveSceneProxy.

◆ FastUpdateAllIndexBuffers()

void FDynamicMeshSceneProxy::FastUpdateAllIndexBuffers ( )
inline

Update index buffers inside each RenderBuffer set

◆ FastUpdateIndexBuffers()

void FDynamicMeshSceneProxy::FastUpdateIndexBuffers ( const TArray< int32 > &  WhichBuffers)
inline

Update index buffers inside each RenderBuffer set

◆ FastUpdateVertices() [1/2]

void FDynamicMeshSceneProxy::FastUpdateVertices ( bool  bPositions,
bool  bNormals,
bool  bColors,
bool  bUVs 
)
inline

Update the vertex position/normal/color buffers

◆ FastUpdateVertices() [2/2]

void FDynamicMeshSceneProxy::FastUpdateVertices ( const TArray< int32 > &  WhichBuffers,
bool  bPositions,
bool  bNormals,
bool  bColors,
bool  bUVs 
)
inline

Update the vertex position/normal/color buffers

◆ GetActiveRenderBufferSets()

virtual void FDynamicMeshSceneProxy::GetActiveRenderBufferSets ( TArray< FMeshRenderBufferSet * > &  Buffers) const
inlineoverridevirtual

Return set of active renderbuffers. Must be implemented by subclass. This is the set of render buffers that will be drawn by GetDynamicMeshElements

Implements FBaseDynamicMeshSceneProxy.

◆ GetAllocatedSize()

uint32 FDynamicMeshSceneProxy::GetAllocatedSize ( void  ) const
inline

◆ GetLightRelevance()

virtual void FDynamicMeshSceneProxy::GetLightRelevance ( const FLightSceneProxy LightSceneProxy,
bool bDynamic,
bool bRelevant,
bool bLightMapped,
bool bShadowMapped 
) const
inlineoverridevirtual

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 from FPrimitiveSceneProxy.

◆ GetMemoryFootprint()

virtual uint32 FDynamicMeshSceneProxy::GetMemoryFootprint ( void  ) const
inlineoverridevirtual

Every derived class should override these functions

Implements FPrimitiveSceneProxy.

◆ GetTypeHash()

SIZE_T FDynamicMeshSceneProxy::GetTypeHash ( ) const
inlineoverridevirtual

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

Implements FPrimitiveSceneProxy.

◆ GetViewRelevance()

virtual FPrimitiveViewRelevance FDynamicMeshSceneProxy::GetViewRelevance ( const FSceneView View) const
inlineoverridevirtual

Determines the relevance of this primitive's elements to the given view. Called in the rendering thread.

Parameters
View- The view to determine relevance for.
Returns
The relevance of the primitive's elements to the view.

Reimplemented from FPrimitiveSceneProxy.

◆ Initialize()

void FDynamicMeshSceneProxy::Initialize ( )
inline

◆ InitializeByMaterial()

void FDynamicMeshSceneProxy::InitializeByMaterial ( TArray< FMeshRenderBufferSet * > &  BufferSets)
inline

Initialize the mesh buffers, one per material

◆ InitializeFromDecomposition()

void FDynamicMeshSceneProxy::InitializeFromDecomposition ( TUniquePtr< FMeshRenderDecomposition > &  Decomposition)
inline

Initialize multiple buffers for the mesh based on the given Decomposition

◆ InitializeSingleBufferSet()

void FDynamicMeshSceneProxy::InitializeSingleBufferSet ( FMeshRenderBufferSet RenderBuffers)
inline

Initialize a single set of mesh buffers for the entire mesh

◆ MakeTangentsFunc()

TUniqueFunction< void(int, int, int, const FVector3f &, FVector3f &, FVector3f &)> FDynamicMeshSceneProxy::MakeTangentsFunc ( bool  bSkipAutoCompute = false)
inline

◆ RenderMeshLayoutMatchesRenderBuffers()

bool FDynamicMeshSceneProxy::RenderMeshLayoutMatchesRenderBuffers ( ) const
inline

◆ UpdatedReferencedMaterials()

virtual void FDynamicMeshSceneProxy::UpdatedReferencedMaterials ( )
inlineoverridevirtual

This needs to be called if the set of active materials changes, otherwise the check in FPrimitiveSceneProxy::VerifyUsedMaterial() will fail if an override material is set, if materials change, etc, etc

Reimplemented from FBaseDynamicMeshSceneProxy.

Member Data Documentation

◆ ParentComponent

UDynamicMeshComponent* FDynamicMeshSceneProxy::ParentComponent

Component that created this proxy (is there a way to look this up?)


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