UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PrimitiveSceneProxy.h File Reference
#include "CoreMinimal.h"
#include "RendererInterface.h"
#include "SceneViewOwner.h"
#include "Stats/Stats.h"
#include "Misc/MemStack.h"
#include "PrimitiveViewRelevance.h"
#include "SceneTypes.h"
#include "Engine/Scene.h"
#include "UniformBuffer.h"
#include "PrimitiveUniformShaderParameters.h"
#include "DrawDebugHelpers.h"
#include "Math/CapsuleShape.h"
#include "SceneDefinitions.h"
#include "MeshDrawCommandStatsDefines.h"
#include "InstanceDataTypes.h"
#include "PSOPrecacheFwd.h"

Go to the source code of this file.

Classes

struct  FDesiredLODLevel
 
union  FSimpleLightId
 
class  FSimpleLightEntry
 
class  FSimpleLightPerViewEntry
 
class  FSimpleLightInstacePerViewIndexData
 
class  FSimpleLightArray
 
class  FHeightfieldComponentDescription
 
class  FPrimitiveSceneProxy
 
struct  FPrimitiveSceneProxy::FDebugMassData
 

Namespaces

namespace  Nanite
 

Typedefs

using Nanite::CoarseMeshStreamingHandle = int16
 

Enumerations

enum class  ERayTracingPrimitiveFlags : uint8 {
  None = 0 , UnsupportedProxyType = 1 << 0 , Exclude = 1 << 1 , Skip = 1 << 2 ,
  Dynamic = 1 << 3 , CacheInstances = 1 << 4 , ComputeLOD = 1 << 5 , FarField = 1 << 6 ,
  Streaming = 1 << 7
}
 
enum class  ERayTracingProxyType : uint8 {
  None = 0 , StaticMesh = 1 << 0 , HierarchicalInstancedStaticMesh = 1 << 1 , LandscapeGrass = 1 << 2 ,
  NaniteProxy = 1 << 3 , SkeletalMesh = 1 << 4 , InstanceSkeletalMesh = 1 << 5 , All = StaticMesh | HierarchicalInstancedStaticMesh | LandscapeGrass | NaniteProxy | SkeletalMesh | InstanceSkeletalMesh
}
 

Functions

uint32 GetTypeHash (FSimpleLightId In)
 
ENGINE_API bool ShouldOptimizedWPOAffectNonNaniteShaderSelection ()
 
bool IsAllowingApproximateOcclusionQueries ()
 
bool CacheShadowDepthsFromPrimitivesUsingWPO ()
 
 ENUM_CLASS_FLAGS (ERayTracingPrimitiveFlags)
 
 ENUM_CLASS_FLAGS (ERayTracingProxyType)
 
ENGINE_API bool SupportsCachingMeshDrawCommands (const FMeshBatch &MeshBatch)
 
ENGINE_API bool SupportsCachingMeshDrawCommands (const FMeshBatch &MeshBatch, ERHIFeatureLevel::Type FeatureLevel)
 
ENGINE_API bool SupportsNaniteRendering (const FVertexFactory *RESTRICT VertexFactory, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy)
 
ENGINE_API bool SupportsNaniteRendering (const FVertexFactory *RESTRICT VertexFactory, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, const class FMaterialRenderProxy *MaterialRenderProxy, ERHIFeatureLevel::Type FeatureLevel)
 
ENGINE_API bool SupportsNaniteRendering (const class FVertexFactoryType *RESTRICT VertexFactoryType, const class FMaterial &Material, ERHIFeatureLevel::Type FeatureLevel)
 
ENGINE_API bool IsParallelGatherDynamicMeshElementsEnabled ()
 
ENGINE_API bool IsParallelGatherDynamicRayTracingInstancesEnabled ()
 

Enumeration Type Documentation

◆ ERayTracingPrimitiveFlags

Enumerator
None 
UnsupportedProxyType 
Exclude 
Skip 
Dynamic 
CacheInstances 
ComputeLOD 
FarField 
Streaming 

◆ ERayTracingProxyType

Enumerator
None 
StaticMesh 
HierarchicalInstancedStaticMesh 
LandscapeGrass 
NaniteProxy 
SkeletalMesh 
InstanceSkeletalMesh 
All 

Function Documentation

◆ CacheShadowDepthsFromPrimitivesUsingWPO()

bool CacheShadowDepthsFromPrimitivesUsingWPO ( )
extern

◆ ENUM_CLASS_FLAGS() [1/2]

ENUM_CLASS_FLAGS ( ERayTracingPrimitiveFlags  )

◆ ENUM_CLASS_FLAGS() [2/2]

ENUM_CLASS_FLAGS ( ERayTracingProxyType  )

◆ GetTypeHash()

uint32 GetTypeHash ( FSimpleLightId  In)
inline

◆ IsAllowingApproximateOcclusionQueries()

bool IsAllowingApproximateOcclusionQueries ( )
extern

◆ IsParallelGatherDynamicMeshElementsEnabled()

ENGINE_API bool IsParallelGatherDynamicMeshElementsEnabled ( )

◆ IsParallelGatherDynamicRayTracingInstancesEnabled()

ENGINE_API bool IsParallelGatherDynamicRayTracingInstancesEnabled ( )

◆ ShouldOptimizedWPOAffectNonNaniteShaderSelection()

ENGINE_API bool ShouldOptimizedWPOAffectNonNaniteShaderSelection ( )
extern

◆ SupportsCachingMeshDrawCommands() [1/2]

ENGINE_API bool SupportsCachingMeshDrawCommands ( const FMeshBatch MeshBatch)
extern

Returns if specified mesh command can be cached, or needs to be recreated every frame.

◆ SupportsCachingMeshDrawCommands() [2/2]

ENGINE_API bool SupportsCachingMeshDrawCommands ( const FMeshBatch MeshBatch,
ERHIFeatureLevel::Type  FeatureLevel 
)
extern

Returns if specified mesh command can be cached, or needs to be recreated every frame; this is a slightly slower version used for materials with external textures that need invalidating their PSOs.

◆ SupportsNaniteRendering() [1/3]

ENGINE_API bool SupportsNaniteRendering ( const class FVertexFactoryType *RESTRICT  VertexFactoryType,
const class FMaterial Material,
ERHIFeatureLevel::Type  FeatureLevel 
)
extern

◆ SupportsNaniteRendering() [2/3]

ENGINE_API bool SupportsNaniteRendering ( const FVertexFactory *RESTRICT  VertexFactory,
const FPrimitiveSceneProxy *RESTRICT  PrimitiveSceneProxy 
)
extern

Returns if specified mesh can be rendered via Nanite.

◆ SupportsNaniteRendering() [3/3]

ENGINE_API bool SupportsNaniteRendering ( const FVertexFactory *RESTRICT  VertexFactory,
const FPrimitiveSceneProxy *RESTRICT  PrimitiveSceneProxy,
const class FMaterialRenderProxy MaterialRenderProxy,
ERHIFeatureLevel::Type  FeatureLevel 
)
extern