UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StaticMeshSceneProxy.cpp File Reference
#include "StaticMeshSceneProxy.h"
#include "BodySetupEnums.h"
#include "EngineStats.h"
#include "EngineLogs.h"
#include "PrimitiveViewRelevance.h"
#include "LightMap.h"
#include "MaterialDomain.h"
#include "RenderUtils.h"
#include "SceneInterface.h"
#include "Engine/MapBuildDataRegistry.h"
#include "Materials/Material.h"
#include "Materials/MaterialRenderProxy.h"
#include "MaterialShared.h"
#include "Engine/MaterialOverlayHelper.h"
#include "Engine/StaticMesh.h"
#include "ComponentReregisterContext.h"
#include "EngineUtils.h"
#include "SceneView.h"
#include "StaticMeshComponentLODInfo.h"
#include "StaticMeshResources.h"
#include "PhysicalMaterials/PhysicalMaterialMask.h"
#include "DistanceFieldAtlas.h"
#include "MeshCardRepresentation.h"
#include "Components/BrushComponent.h"
#include "AI/Navigation/NavCollisionBase.h"
#include "ComponentRecreateRenderStateContext.h"
#include "PhysicsEngine/BodySetup.h"
#include "Engine/LODActor.h"
#include "WorldPartition/HLOD/HLODActor.h"
#include "UnrealEngine.h"
#include "PrimitiveSceneInfo.h"
#include "NaniteSceneProxy.h"
#include "RenderCore.h"
#include "DataDrivenShaderPlatformInfo.h"
#include "EngineModule.h"
#include "MeshPaintVisualize.h"
#include "ShadowMap.h"
#include "VT/MeshPaintVirtualTexture.h"
#include "TextureResource.h"
#include "StaticMeshSceneProxyDesc.h"
#include "StaticMeshComponentHelper.h"
#include "MaterialCache/MaterialCache.h"
#include "MaterialCache/MaterialCacheVirtualTexture.h"
#include "Rendering/NaniteResourcesHelper.h"

Namespaces

namespace  Nanite
 

Functions

EPSOPrecachePriority GetStaticMeshComponentBoostPSOPrecachePriority ()
 
FAutoConsoleVariableRef Nanite::CVarEnableNaniteNaterialOverrides (TEXT("r.Nanite.MaterialOverrides"), GEnableNaniteMaterialOverrides, TEXT("Enable support for Nanite specific material overrides."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe)
 
void GetStaticMeshRayTracingWPOConfig (bool &bOutHasRayTracingRepresentation, bool &bOutDynamicRayTracingGeometry)
 
bool ShouldStaticMeshEvaluateWPOInRayTracing (FVector ViewCenter, const FBoxSphereBounds &Bounds)
 
void SetupMeshBatchForRuntimeVirtualTexture (FMeshBatch &MeshBatch)
 

Variables

TAutoConsoleVariable< int32CVarRenderNaniteMeshes (TEXT("r.Nanite"), 1, TEXT("Render static meshes using Nanite."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe)
 
int32 Nanite::GEnableNaniteMaterialOverrides = 1
 
bool GForceDefaultMaterial = false
 
FAutoConsoleVariableSink CVarRayTracingStaticMeshesWPOSink (FConsoleCommandDelegate::CreateLambda([]() { static int32 CachedRayTracingStaticMeshesWPO=CVarRayTracingStaticMeshesWPO.GetValueOnGameThread();int32 RayTracingStaticMeshesWPO=CVarRayTracingStaticMeshesWPO.GetValueOnGameThread();if(CachedRayTracingStaticMeshesWPO !=RayTracingStaticMeshesWPO) { CachedRayTracingStaticMeshesWPO=RayTracingStaticMeshesWPO;FFunctionGraphTask::CreateAndDispatchWhenReady([]() { FlushRenderingCommands();FGlobalComponentReregisterContext ReregisterContext;}, TStatId(), nullptr, ENamedThreads::GameThread);} }))
 

Function Documentation

◆ GetStaticMeshComponentBoostPSOPrecachePriority()

EPSOPrecachePriority GetStaticMeshComponentBoostPSOPrecachePriority ( )

◆ GetStaticMeshRayTracingWPOConfig()

void GetStaticMeshRayTracingWPOConfig ( bool bOutHasRayTracingRepresentation,
bool bOutDynamicRayTracingGeometry 
)

◆ SetupMeshBatchForRuntimeVirtualTexture()

void SetupMeshBatchForRuntimeVirtualTexture ( FMeshBatch MeshBatch)
inline

◆ ShouldStaticMeshEvaluateWPOInRayTracing()

bool ShouldStaticMeshEvaluateWPOInRayTracing ( FVector  ViewCenter,
const FBoxSphereBounds Bounds 
)

Variable Documentation

◆ CVarRayTracingStaticMeshesWPOSink

FAutoConsoleVariableSink CVarRayTracingStaticMeshesWPOSink(FConsoleCommandDelegate::CreateLambda([]() { static int32 CachedRayTracingStaticMeshesWPO=CVarRayTracingStaticMeshesWPO.GetValueOnGameThread(); int32 RayTracingStaticMeshesWPO=CVarRayTracingStaticMeshesWPO.GetValueOnGameThread(); if(CachedRayTracingStaticMeshesWPO !=RayTracingStaticMeshesWPO) { CachedRayTracingStaticMeshesWPO=RayTracingStaticMeshesWPO; FFunctionGraphTask::CreateAndDispatchWhenReady([]() { FlushRenderingCommands(); FGlobalComponentReregisterContext ReregisterContext; }, TStatId(), nullptr, ENamedThreads::GameThread); } })) ( FConsoleCommandDelegate::CreateLambda([](){ static int32 CachedRayTracingStaticMeshesWPO=CVarRayTracingStaticMeshesWPO.GetValueOnGameThread();int32 RayTracingStaticMeshesWPO=CVarRayTracingStaticMeshesWPO.GetValueOnGameThread();if(CachedRayTracingStaticMeshesWPO !=RayTracingStaticMeshesWPO) { CachedRayTracingStaticMeshesWPO=RayTracingStaticMeshesWPO; FFunctionGraphTask::CreateAndDispatchWhenReady([]() { FlushRenderingCommands(); FGlobalComponentReregisterContext ReregisterContext; }, TStatId(), nullptr, ENamedThreads::GameThread);}})  )

◆ CVarRenderNaniteMeshes

TAutoConsoleVariable< int32 > CVarRenderNaniteMeshes(TEXT("r.Nanite"), 1, TEXT("Render static meshes using Nanite."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context; }), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Nanite")  ,
,
TEXT("Render static meshes using Nanite." ,
FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;})  ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GForceDefaultMaterial

bool GForceDefaultMaterial = false