UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Nanite Namespace Reference

Namespaces

namespace  Private
 

Classes

class  FAllocateRangesCS
 
struct  FBinningData
 
class  FCalculateClusterIndirectArgsCS
 
class  FCalculateClusterStatsCS
 
class  FCalculateRasterStatsCS
 
class  FClearStreamingRequestCount_CS
 
class  FCoarseMeshStreamingManager
 
struct  FConfiguration
 
struct  FCustomDepthContext
 
class  FDrawBricksPS
 
class  FDrawBricksVS
 
struct  FExplicitChunkDrawInfo
 
class  FExtractVSMPerformanceFeedbackCS
 
class  FFeedbackManager
 
class  FFixupChunk
 
class  FGlobalResources
 
struct  FGPUStreamingRequest
 
class  FHierarchyDepthManager
 
class  FInitQueueCS
 
struct  FInstanceDraw
 
class  FInstanceHierarchyDriver
 
struct  FMaterialAudit
 
struct  FMaterialAuditEntry
 
class  FMaterialsSceneExtension
 
class  FMemcpy_CS
 
struct  FMeshDataSection
 
class  FMeshDataSectionArray
 
class  FNaniteFeedbackStatusCS
 
class  FNaniteResourcesHelper
 
struct  FNaniteStreamOutCS
 
struct  FNaniteStreamOutTraversalCS
 
class  FOrderedScatterUpdater
 
class  FOwnershipVisibilitySceneExtension
 
struct  FPackedCluster
 
struct  FPackedClusterInstallInfo
 
struct  FPackedHierarchyNode
 
struct  FPackedView
 
class  FPackedViewArray
 
struct  FPackedViewParams
 
struct  FPageKey
 
struct  FPageRangeKey
 
struct  FPageStreamingState
 
class  FQualityScalingManager
 
struct  FRasterContext
 
struct  FRasterizerPass
 
struct  FRasterResults
 
class  FReadbackManager
 
class  FRenderer
 
struct  FResourceMeshInfo
 
struct  FResourcePrimitiveInfo
 
struct  FResources
 
class  FRingBufferAllocator
 
class  FScatterUpdates_CS
 
class  FSceneProxy
 
class  FSceneProxyBase
 
struct  FShadeBinning
 
struct  FSharedContext
 
class  FSkinnedSceneProxy
 
struct  FSkinnedSceneProxyDelegates
 
class  FStreamingManager
 
class  FStreamingPageUploader
 
struct  FStreamingRequest
 
struct  FStreamingUpdateParameters
 
class  FStreamingUpdateTask
 
struct  FStreamOutMeshDataHeader
 
struct  FStreamOutMeshDataSegment
 
struct  FStreamOutRequest
 
class  FTessellationTable
 
class  FTessellationTableResources
 
class  FTranscodePageToGPU_CS
 
class  FVertexFactoryResource
 
struct  FVisualizeResult
 
class  FVoxelShader
 
class  IRenderer
 

Typedefs

using CoarseMeshStreamingHandle = int16
 

Enumerations

enum class  EScatterOp { Or = 0 , And = 1 , Write = 2 }
 
enum  EProxyRenderMode { Allow , AllowForDebugging , Disallow }
 
enum class  EFilterFlags : uint8 {
  None = 0u , StaticMesh = (1u << 0u) , InstancedStaticMesh = (1u << 1u) , Foliage = (1u << 2u) ,
  Grass = (1u << 3u) , Landscape = (1u << 4u) , StaticMobility = (1u << 5u) , NonStaticMobility = (1u << 6u) ,
  SkeletalMesh = (1u << 7u) , All = 0xFF
}
 
enum class  ERayTracingMode : uint8 { Fallback = 0u , StreamOut = 1u }
 
enum class  EMeshDataSectionFlags : uint32 {
  None = 0x0 , EnableCollision = 1 << 1 , CastShadow = 1 << 2 , VisibleInRayTracing = 1 << 3 ,
  AffectDistanceFieldLighting = 1 << 4 , ForceOpaque = 1 << 5 , Selected = 1 << 6 , RecomputeTangents = 1 << 7 ,
  Use16BitBoneIndices = 1 << 8 , Disabled = 1 << 9
}
 
enum class  ERasterScheduling : uint8 { HardwareOnly = 0 , HardwareThenSoftware = 1 , HardwareAndSoftwareOverlap = 2 }
 
enum class  EOutputBufferMode : uint8 { VisBuffer , DepthOnly }
 
enum class  EPipeline : uint8 {
  Primary , Shadows , Lumen , HitProxy ,
  MaterialCache
}
 
enum class  EBuildShadingCommandsMode : uint8 { Default = 0 , Custom }
 

Functions

 IMPLEMENT_GLOBAL_SHADER (FScatterUpdates_CS, "/Engine/Private/Nanite/NaniteScatterUpdates.usf", "ScatterUpdates", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FClearStreamingRequestCount_CS, "/Engine/Private/Nanite/NaniteStreaming.usf", "ClearStreamingRequestCount", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FTranscodePageToGPU_CS, "/Engine/Private/Nanite/NaniteTranscode.usf", "TranscodePageToGPU", SF_Compute)
 
FORCEINLINE uint32 RoundUpToSignificantBits (uint32 x, uint32 NumSignificantBits)
 
ERayTracingMode GetRayTracingMode ()
 
bool GetSupportsCustomDepthRendering ()
 
FArchiveoperator<< (FArchive &Ar, FPackedHierarchyNode &Node)
 
FArchiveoperator<< (FArchive &Ar, FPageStreamingState &PageStreamingState)
 
FArchiveoperator<< (FArchive &Ar, FPageRangeKey &PageRangeKey)
 
void AuditMaterials (const USkinnedMeshComponent *Component, FMaterialAudit &Audit, bool bSetMaterialUsage)
 
void AuditMaterials (const UStaticMeshComponent *Component, FMaterialAudit &Audit, bool bSetMaterialUsage)
 
void AuditMaterials (const FStaticMeshSceneProxyDesc *ProxyDesc, FMaterialAudit &Audit, bool bSetMaterialUsage)
 
void AuditMaterials (const FSkinnedMeshSceneProxyDesc *ProxyDesc, FMaterialAudit &Audit, bool bSetMaterialUsage)
 
bool IsSupportedBlendMode (EBlendMode BlendMode)
 
bool IsSupportedBlendMode (const FMaterialShaderParameters &In)
 
bool IsSupportedBlendMode (const FMaterial &In)
 
bool IsSupportedBlendMode (const UMaterialInterface &In)
 
bool IsSupportedMaterialDomain (EMaterialDomain Domain)
 
bool IsSupportedShadingModel (FMaterialShadingModelField ShadingModelField)
 
bool IsMaskingAllowed (UWorld *World, bool bForceNaniteForMasked)
 
EProxyRenderMode GetProxyRenderMode ()
 
FMeshDataSectionArray BuildMeshSections (const FStaticMeshSectionArray &InSections)
 
FStaticMeshSectionArray BuildStaticMeshSections (const FMeshDataSectionArray &InSections)
 
FORCEINLINE int32 VerificationLevel ()
 
 IMPLEMENT_GLOBAL_SHADER (FMemcpy_CS, "/Engine/Private/Nanite/NaniteStreaming.usf", "Memcpy", SF_Compute)
 
FAutoConsoleVariableRef CVarEnableNaniteNaterialOverrides (TEXT("r.Nanite.MaterialOverrides"), GEnableNaniteMaterialOverrides, TEXT("Enable support for Nanite specific material overrides."), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_Scalability|ECVF_RenderThreadSafe)
 
uint32 GetBits (uint32 Value, uint32 NumBits, uint32 Offset)
 
void SetBits (uint32 &Value, uint32 Bits, uint32 NumBits, uint32 Offset)
 
bool IsStatFilterActive (const FString &FilterName)
 
void ListStatFilters (FSceneRenderer *SceneRenderer)
 
void CollectLumenCardPSOInitializers (const FSceneTexturesConfig &SceneTexturesConfig, const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMaterial &Material, const FPSOPrecacheParams &PreCacheParams, ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 
void RecordLumenCardParameters (FRHIBatchedShaderParameters &ShaderParameters, FNaniteShadingCommand &ShadingCommand, TUniformBufferRef< FLumenCardOutputs > Outputs)
 
bool LoadLumenCardPipeline (const FScene &Scene, FSceneProxyBase *SceneProxy, FSceneProxyBase::FMaterialSection &Section, FNaniteShadingPipeline &ShadingPipeline)
 
void SetupPermutationVectors (EOutputBufferMode RasterMode, ERasterHardwarePath HardwarePath, bool bVisualizeActive, bool bHasVirtualShadowMapArray, bool bIsMaterialCache, FHWRasterizeVS::FPermutationDomain &PermutationVectorVS, FHWRasterizeMS::FPermutationDomain &PermutationVectorMS, FHWRasterizePS::FPermutationDomain &PermutationVectorPS, FMicropolyRasterizeCS::FPermutationDomain &PermutationVectorCS_Cluster, FMicropolyRasterizeCS::FPermutationDomain &PermutationVectorCS_Patch)
 
void CollectRasterPSOInitializersForPermutation (const FMaterial &Material, EShaderPlatform ShaderPlatform, const ERasterHardwarePath HardwarePath, bool bVertexProgrammable, bool bPixelProgrammable, bool bIsTwoSided, bool bSplineMesh, bool bSkinnedMesh, bool bDisplacement, bool bFixedDisplacementFallback, bool bVoxel, FHWRasterizeVS::FPermutationDomain &PermutationVectorVS, FHWRasterizeMS::FPermutationDomain &PermutationVectorMS, FHWRasterizePS::FPermutationDomain &PermutationVectorPS, FMicropolyRasterizeCS::FPermutationDomain &PermutationVectorCS_Cluster, FMicropolyRasterizeCS::FPermutationDomain &PermutationVectorCS_Patch, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 
void CollectRasterPSOInitializersForDefaultMaterial (const FMaterial &Material, EShaderPlatform ShaderPlatform, const ERasterHardwarePath HardwarePath, FHWRasterizeVS::FPermutationDomain &PermutationVectorVS, FHWRasterizeMS::FPermutationDomain &PermutationVectorMS, FHWRasterizePS::FPermutationDomain &PermutationVectorPS, FMicropolyRasterizeCS::FPermutationDomain &PermutationVectorCluster, FMicropolyRasterizeCS::FPermutationDomain &PermutationVectorPatch, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 
void CollectRasterPSOInitializersForPipeline (const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &RasterMaterial, const FPSOPrecacheParams &PreCacheParams, EShaderPlatform ShaderPlatform, int32 PSOCollectorIndex, EPipeline Pipeline, TArray< FPSOPrecacheData > &PSOInitializers)
 
void CollectRasterPSOInitializers (const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &RasterMaterial, const FPSOPrecacheParams &PreCacheParams, EShaderPlatform ShaderPlatform, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 
template<typename TShaderType >
void SetHWBundleParameters (TOptional< FRHIBatchedShaderParameters > &BatchedParameters, FRHIBatchedShaderParametersAllocator &ScratchAllocator, const TShaderRef< TShaderType > &InShader, const FHWRasterizePS::FParameters &Parameters, bool bUsingSharedParameters, const FViewInfo &View, const FMaterialRenderProxy *MaterialProxy, const FMaterial &Material)
 
void AddPass_InitClusterCullArgs (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, FRDGEventName &&PassName, FRDGBufferUAVRef QueueStateUAV, FRDGBufferRef ClusterCullArgs, uint32 CullingPass)
 
void AddPass_InitNodeCullArgs (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, FRDGEventName &&PassName, FRDGBufferUAVRef QueueStateUAV, FRDGBufferRef NodeCullArgs0, FRDGBufferRef NodeCullArgs1, uint32 CullingPass)
 
void AddClearVisBufferPass (FRDGBuilder &GraphBuilder, const FSharedContext &SharedContext, const EPixelFormat PixelFormat64, const FRasterContext &RasterContext, const FIntRect &TextureRect, bool bClearTarget, FRDGBufferSRVRef RectMinMaxBufferSRV, uint32 NumRects, FRDGTextureRef ExternalDepthBuffer)
 
FRasterContext InitRasterContext (FRDGBuilder &GraphBuilder, const FSharedContext &SharedContext, const FViewFamilyInfo &ViewFamily, FIntPoint TextureSize, FIntRect TextureRect, EOutputBufferMode RasterMode, bool bClearTarget, bool bAsyncCompute, FRDGBufferSRVRef RectMinMaxBufferSRV, uint32 NumRects, FRDGTextureRef ExternalDepthBuffer, bool bCustomPass, bool bVisualize, bool bVisualizeOverdraw, bool bEnableAssemblyMeta)
 
 IMPLEMENT_GLOBAL_SHADER (FExtractVSMPerformanceFeedbackCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "ExtractVSMPerformanceFeedback", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCalculateClusterIndirectArgsCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "CalculateClusterIndirectArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCalculateRasterStatsCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "CalculateRasterStats", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCalculateClusterStatsCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "CalculateClusterStats", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FNaniteFeedbackStatusCS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "FeedbackStatus", SF_Compute)
 
void DrawHitProxies (FRDGBuilder &GraphBuilder, const FScene &Scene, const FViewInfo &View, const FRasterResults &RasterResults, FRDGTextureRef HitProxyTexture, FRDGTextureRef HitProxyDepthTexture)
 
FRDGBufferSRVRef GetEditorSelectedHitProxyIdsSRV (FRDGBuilder &GraphBuilder, const FViewInfo &View)
 
bool ShouldReportFeedbackMaterialPerformanceWarning ()
 
 IMPLEMENT_SCENE_EXTENSION (FMaterialsSceneExtension)
 
 IMPLEMENT_SCENE_EXTENSION (FOwnershipVisibilitySceneExtension)
 
void SetCullingViewOverrides (FViewInfo const *InCullingView, Nanite::FPackedViewParams &InOutParams)
 
FPackedView CreatePackedView (const FPackedViewParams &Params)
 
FPackedViewParams CreateViewParamsFromViewInfo (const FViewInfo &View, FIntPoint RasterContextSize, uint32 Flags, uint32 StreamingPriorityCategory, float MinBoundsRadius, float MaxPixelsPerEdgeMultipler, const FIntRect *InHZBTestViewRect)
 
FPackedView CreatePackedViewFromViewInfo (const FViewInfo &View, FIntPoint RasterContextSize, uint32 Flags, uint32 StreamingPriorityCategory, float MinBoundsRadius, float MaxPixelsPerEdgeMultipler, const FIntRect *InHZBTestViewRect, bool bUseCurrentPreTranslationForHZB)
 
bool ShouldDrawSceneViewsInOneNanitePass (const FViewInfo &View)
 
 IMPLEMENT_GLOBAL_SHADER (FInitQueueCS, "/Engine/Private/Nanite/NaniteStreamOut.usf", "InitQueue", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FNaniteStreamOutTraversalCS, "/Engine/Private/Nanite/NaniteStreamOut.usf", "NaniteStreamOutTraversalCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FAllocateRangesCS, "/Engine/Private/Nanite/NaniteStreamOut.usf", "AllocateRangesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FNaniteStreamOutCS, "/Engine/Private/Nanite/NaniteStreamOut.usf", "NaniteStreamOutCS", SF_Compute)
 
void StreamOutData (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, FSceneUniformBuffer &SceneUniformBuffer, float CutError, uint32 NumRequests, FRDGBufferRef RequestBuffer, FRDGBufferRef SegmentMappingBuffer, FRDGBufferRef MeshDataBuffer, FRDGBufferRef AuxiliaryDataBuffer, FRDGBufferRef VertexBuffer, uint32 MaxNumVertices, FRDGBufferRef IndexBuffer, uint32 MaxNumIndices)
 
const FNaniteVisibilityResultsGetVisibilityResults (const FNaniteVisibilityQuery *Query)
 
UE::Tasks::FTask GetVisibilityTask (const FNaniteVisibilityQuery *Query)
 
void DisplayPicking (const FScene *Scene, const FNanitePickingFeedback &PickingFeedback, uint32 RenderFlags, FScreenMessageWriter &Writer)
 
void AddVisualizationPasses (FRDGBuilder &GraphBuilder, const FScene *Scene, const FSceneTextures &SceneTextures, const FEngineShowFlags &EngineShowFlags, TArrayView< const FViewInfo > Views, TArrayView< Nanite::FRasterResults > Results, FNanitePickingFeedback &PickingFeedback, FVirtualShadowMapArray &VirtualShadowMapArray)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FVisibleBricksHashCS, FBuildBricksParameters, "/Engine/Private/Nanite/Voxel/AutoVoxel.usf", "VisibleBricksHash", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FFillArgsCS, FBuildBricksParameters, "/Engine/Private/Nanite/Voxel/AutoVoxel.usf", "FillArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FAllocBlocksCS, FBuildBricksParameters, "/Engine/Private/Nanite/Voxel/AutoVoxel.usf", "AllocBlocks", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FFillBlocksCS, FBuildBricksParameters, "/Engine/Private/Nanite/Voxel/AutoVoxel.usf", "FillBlocks", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FBinBricksInTilesCS, FTileBricksParameters, "/Engine/Private/Nanite/Voxel/TileBricks.usf", "BinBricksInTiles", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FBuildTileArraysCS, FTileBricksParameters, "/Engine/Private/Nanite/Voxel/TileBricks.usf", "BuildTileArrays", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FRayCastTilesCS, FTileBricksParameters, "/Engine/Private/Nanite/Voxel/TileBricks.usf", "RayCastTiles", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FScatterVoxelsCS, FTileBricksParameters, "/Engine/Private/Nanite/Voxel/ScatterBricks.usf", "ScatterVoxels", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_STRUCT (FScatterResolveCS, FTileBricksParameters, "/Engine/Private/Nanite/Voxel/ScatterBricks.usf", "ScatterResolve", SF_Compute)
 
 IMPLEMENT_SHADER_TYPE (, FDrawBricksVS, TEXT("/Engine/Private/Nanite/Voxel/RasterizeBricks.usf"), TEXT("DrawBricksVS"), SF_Vertex)
 
 IMPLEMENT_SHADER_TYPE (, FDrawBricksPS, TEXT("/Engine/Private/Nanite/Voxel/RasterizeBricks.usf"), TEXT("DrawBricksPS"), SF_Pixel)
 
void DrawVisibleBricks (FRDGBuilder &GraphBuilder, FScene &Scene, const FViewInfo &View, FMinimalSceneTextures &SceneTextures)
 

Variables

TGlobalResource< FVertexFactoryResourceGVertexFactoryResource
 
TGlobalResource< FStreamingManagerGStreamingManager
 
int32 GEnableNaniteMaterialOverrides = 1
 
TGlobalResource< FTessellationTableResourcesGTessellationTable
 
TGlobalResource< FGlobalResourcesGGlobalResources
 
TGlobalResource< FSpriteIndexBuffer< 64 > > GSpriteIndexBuffer
 

Typedef Documentation

◆ CoarseMeshStreamingHandle

Enumeration Type Documentation

◆ EBuildShadingCommandsMode

Enumerator
Default 
Custom 

◆ EFilterFlags

Enumerator
None 
StaticMesh 
InstancedStaticMesh 
Foliage 
Grass 
Landscape 
StaticMobility 
NonStaticMobility 
SkeletalMesh 
All 

◆ EMeshDataSectionFlags

Enumerator
None 
EnableCollision 
CastShadow 
VisibleInRayTracing 
AffectDistanceFieldLighting 
ForceOpaque 
Selected 
RecomputeTangents 
Use16BitBoneIndices 
Disabled 

◆ EOutputBufferMode

Used to select raster mode when creating the context.

Enumerator
VisBuffer 
DepthOnly 

◆ EPipeline

enum class Nanite::EPipeline : uint8
strong
Enumerator
Primary 
Shadows 
Lumen 
HitProxy 
MaterialCache 

◆ EProxyRenderMode

Enumerator
Allow 

Fall back to rendering Nanite proxy meshes if Nanite is unsupported. (default)

AllowForDebugging 

Disable rendering if Nanite is enabled on a mesh but is unsupported, except for debug purpose.

Disallow 

Disable rendering if Nanite is enabled on a mesh but is unsupported.

◆ ERasterScheduling

Enumerator
HardwareOnly 
HardwareThenSoftware 
HardwareAndSoftwareOverlap 

◆ ERayTracingMode

Enumerator
Fallback 
StreamOut 

◆ EScatterOp

enum class Nanite::EScatterOp
strong
Enumerator
Or 
And 
Write 

Function Documentation

◆ AddClearVisBufferPass()

void Nanite::AddClearVisBufferPass ( FRDGBuilder GraphBuilder,
const FSharedContext SharedContext,
const EPixelFormat  PixelFormat64,
const FRasterContext RasterContext,
const FIntRect TextureRect,
bool  bClearTarget,
FRDGBufferSRVRef  RectMinMaxBufferSRV,
uint32  NumRects,
FRDGTextureRef  ExternalDepthBuffer 
)

◆ AddPass_InitClusterCullArgs()

void Nanite::AddPass_InitClusterCullArgs ( FRDGBuilder GraphBuilder,
FGlobalShaderMap ShaderMap,
FRDGEventName &&  PassName,
FRDGBufferUAVRef  QueueStateUAV,
FRDGBufferRef  ClusterCullArgs,
uint32  CullingPass 
)

◆ AddPass_InitNodeCullArgs()

void Nanite::AddPass_InitNodeCullArgs ( FRDGBuilder GraphBuilder,
FGlobalShaderMap ShaderMap,
FRDGEventName &&  PassName,
FRDGBufferUAVRef  QueueStateUAV,
FRDGBufferRef  NodeCullArgs0,
FRDGBufferRef  NodeCullArgs1,
uint32  CullingPass 
)

◆ AddVisualizationPasses()

void Nanite::AddVisualizationPasses ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FSceneTextures SceneTextures,
const FEngineShowFlags EngineShowFlags,
TArrayView< const FViewInfo Views,
TArrayView< Nanite::FRasterResults Results,
FNanitePickingFeedback PickingFeedback,
FVirtualShadowMapArray VirtualShadowMapArray 
)

◆ AuditMaterials() [1/4]

ENGINE_API void Nanite::AuditMaterials ( const FSkinnedMeshSceneProxyDesc ProxyDesc,
FMaterialAudit Audit,
bool  bSetMaterialUsage 
)

◆ AuditMaterials() [2/4]

ENGINE_API void Nanite::AuditMaterials ( const FStaticMeshSceneProxyDesc ProxyDesc,
FMaterialAudit Audit,
bool  bSetMaterialUsage 
)

◆ AuditMaterials() [3/4]

ENGINE_API void Nanite::AuditMaterials ( const USkinnedMeshComponent Component,
FMaterialAudit Audit,
bool  bSetMaterialUsage 
)

◆ AuditMaterials() [4/4]

ENGINE_API void Nanite::AuditMaterials ( const UStaticMeshComponent *  Component,
FMaterialAudit Audit,
bool  bSetMaterialUsage 
)

◆ BuildMeshSections()

ENGINE_API FMeshDataSectionArray Nanite::BuildMeshSections ( const FStaticMeshSectionArray InSections)

◆ BuildStaticMeshSections()

ENGINE_API FStaticMeshSectionArray Nanite::BuildStaticMeshSections ( const FMeshDataSectionArray InSections)

◆ CollectLumenCardPSOInitializers()

void Nanite::CollectLumenCardPSOInitializers ( const FSceneTexturesConfig SceneTexturesConfig,
const FPSOPrecacheVertexFactoryData VertexFactoryData,
const FMaterial Material,
const FPSOPrecacheParams PreCacheParams,
ERHIFeatureLevel::Type  FeatureLevel,
EShaderPlatform  ShaderPlatform,
int32  PSOCollectorIndex,
TArray< FPSOPrecacheData > &  PSOInitializers 
)

◆ CollectRasterPSOInitializers()

void Nanite::CollectRasterPSOInitializers ( const FSceneTexturesConfig SceneTexturesConfig,
const FMaterial RasterMaterial,
const FPSOPrecacheParams PreCacheParams,
EShaderPlatform  ShaderPlatform,
int32  PSOCollectorIndex,
TArray< FPSOPrecacheData > &  PSOInitializers 
)

◆ CollectRasterPSOInitializersForDefaultMaterial()

void Nanite::CollectRasterPSOInitializersForDefaultMaterial ( const FMaterial Material,
EShaderPlatform  ShaderPlatform,
const ERasterHardwarePath  HardwarePath,
FHWRasterizeVS::FPermutationDomain PermutationVectorVS,
FHWRasterizeMS::FPermutationDomain PermutationVectorMS,
FHWRasterizePS::FPermutationDomain PermutationVectorPS,
FMicropolyRasterizeCS::FPermutationDomain PermutationVectorCluster,
FMicropolyRasterizeCS::FPermutationDomain PermutationVectorPatch,
int32  PSOCollectorIndex,
TArray< FPSOPrecacheData > &  PSOInitializers 
)

◆ CollectRasterPSOInitializersForPermutation()

void Nanite::CollectRasterPSOInitializersForPermutation ( const FMaterial Material,
EShaderPlatform  ShaderPlatform,
const ERasterHardwarePath  HardwarePath,
bool  bVertexProgrammable,
bool  bPixelProgrammable,
bool  bIsTwoSided,
bool  bSplineMesh,
bool  bSkinnedMesh,
bool  bDisplacement,
bool  bFixedDisplacementFallback,
bool  bVoxel,
FHWRasterizeVS::FPermutationDomain PermutationVectorVS,
FHWRasterizeMS::FPermutationDomain PermutationVectorMS,
FHWRasterizePS::FPermutationDomain PermutationVectorPS,
FMicropolyRasterizeCS::FPermutationDomain PermutationVectorCS_Cluster,
FMicropolyRasterizeCS::FPermutationDomain PermutationVectorCS_Patch,
int32  PSOCollectorIndex,
TArray< FPSOPrecacheData > &  PSOInitializers 
)

◆ CollectRasterPSOInitializersForPipeline()

void Nanite::CollectRasterPSOInitializersForPipeline ( const FSceneTexturesConfig SceneTexturesConfig,
const FMaterial RasterMaterial,
const FPSOPrecacheParams PreCacheParams,
EShaderPlatform  ShaderPlatform,
int32  PSOCollectorIndex,
EPipeline  Pipeline,
TArray< FPSOPrecacheData > &  PSOInitializers 
)

◆ CreatePackedView()

FPackedView Nanite::CreatePackedView ( const FPackedViewParams Params)

◆ CreatePackedViewFromViewInfo()

FPackedView Nanite::CreatePackedViewFromViewInfo ( const FViewInfo View,
FIntPoint  RasterContextSize,
uint32  Flags,
uint32  StreamingPriorityCategory,
float  MinBoundsRadius,
float  MaxPixelsPerEdgeMultipler,
const FIntRect InHZBTestViewRect,
bool  bUseCurrentPreTranslationForHZB 
)
Parameters
InHZBTestViewRectNote: this rect should be in HZB space.

◆ CreateViewParamsFromViewInfo()

FPackedViewParams Nanite::CreateViewParamsFromViewInfo ( const FViewInfo View,
FIntPoint  RasterContextSize,
uint32  Flags,
uint32  StreamingPriorityCategory,
float  MinBoundsRadius,
float  MaxPixelsPerEdgeMultipler,
const FIntRect InHZBTestViewRect 
)

◆ CVarEnableNaniteNaterialOverrides()

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 
)

◆ DisplayPicking()

void Nanite::DisplayPicking ( const FScene Scene,
const FNanitePickingFeedback PickingFeedback,
uint32  RenderFlags,
FScreenMessageWriter Writer 
)

◆ DrawHitProxies()

void Nanite::DrawHitProxies ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FRasterResults RasterResults,
FRDGTextureRef  HitProxyTexture,
FRDGTextureRef  HitProxyDepthTexture 
)

◆ DrawVisibleBricks()

void Nanite::DrawVisibleBricks ( FRDGBuilder GraphBuilder,
FScene Scene,
const FViewInfo View,
FMinimalSceneTextures SceneTextures 
)

◆ GetBits()

uint32 Nanite::GetBits ( uint32  Value,
uint32  NumBits,
uint32  Offset 
)
inline

◆ GetEditorSelectedHitProxyIdsSRV()

FRDGBufferSRVRef Nanite::GetEditorSelectedHitProxyIdsSRV ( FRDGBuilder GraphBuilder,
const FViewInfo View 
)

◆ GetProxyRenderMode()

ENGINE_API EProxyRenderMode Nanite::GetProxyRenderMode ( )

◆ GetRayTracingMode()

ENGINE_API ERayTracingMode Nanite::GetRayTracingMode ( )

◆ GetSupportsCustomDepthRendering()

ENGINE_API bool Nanite::GetSupportsCustomDepthRendering ( )

◆ GetVisibilityResults()

const FNaniteVisibilityResults * Nanite::GetVisibilityResults ( const FNaniteVisibilityQuery Query)

◆ GetVisibilityTask()

UE::Tasks::FTask Nanite::GetVisibilityTask ( const FNaniteVisibilityQuery Query)

◆ IMPLEMENT_GLOBAL_SHADER() [1/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FAllocateRangesCS  ,
"/Engine/Private/Nanite/NaniteStreamOut.usf"  ,
"AllocateRangesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FCalculateClusterIndirectArgsCS  ,
"/Engine/Private/Nanite/NanitePrintStats.usf"  ,
"CalculateClusterIndirectArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FCalculateClusterStatsCS  ,
"/Engine/Private/Nanite/NanitePrintStats.usf"  ,
"CalculateClusterStats"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FCalculateRasterStatsCS  ,
"/Engine/Private/Nanite/NanitePrintStats.usf"  ,
"CalculateRasterStats"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FClearStreamingRequestCount_CS  ,
"/Engine/Private/Nanite/NaniteStreaming.usf"  ,
"ClearStreamingRequestCount"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FExtractVSMPerformanceFeedbackCS  ,
"/Engine/Private/Nanite/NanitePrintStats.usf"  ,
"ExtractVSMPerformanceFeedback"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FInitQueueCS  ,
"/Engine/Private/Nanite/NaniteStreamOut.usf"  ,
"InitQueue"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FMemcpy_CS  ,
"/Engine/Private/Nanite/NaniteStreaming.usf"  ,
"Memcpy"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [9/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FNaniteFeedbackStatusCS  ,
"/Engine/Private/Nanite/NaniteClusterCulling.usf"  ,
"FeedbackStatus"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [10/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FNaniteStreamOutCS  ,
"/Engine/Private/Nanite/NaniteStreamOut.usf"  ,
"NaniteStreamOutCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [11/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FNaniteStreamOutTraversalCS  ,
"/Engine/Private/Nanite/NaniteStreamOut.usf"  ,
"NaniteStreamOutTraversalCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [12/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FScatterUpdates_CS  ,
"/Engine/Private/Nanite/NaniteScatterUpdates.usf"  ,
"ScatterUpdates"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [13/13]

Nanite::IMPLEMENT_GLOBAL_SHADER ( FTranscodePageToGPU_CS  ,
"/Engine/Private/Nanite/NaniteTranscode.usf"  ,
"TranscodePageToGPU"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [1/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FAllocBlocksCS  ,
FBuildBricksParameters  ,
"/Engine/Private/Nanite/Voxel/AutoVoxel.usf"  ,
"AllocBlocks"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [2/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FBinBricksInTilesCS  ,
FTileBricksParameters  ,
"/Engine/Private/Nanite/Voxel/TileBricks.usf"  ,
"BinBricksInTiles"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [3/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FBuildTileArraysCS  ,
FTileBricksParameters  ,
"/Engine/Private/Nanite/Voxel/TileBricks.usf"  ,
"BuildTileArrays"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [4/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FFillArgsCS  ,
FBuildBricksParameters  ,
"/Engine/Private/Nanite/Voxel/AutoVoxel.usf"  ,
"FillArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [5/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FFillBlocksCS  ,
FBuildBricksParameters  ,
"/Engine/Private/Nanite/Voxel/AutoVoxel.usf"  ,
"FillBlocks"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [6/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FRayCastTilesCS  ,
FTileBricksParameters  ,
"/Engine/Private/Nanite/Voxel/TileBricks.usf"  ,
"RayCastTiles"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [7/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FScatterResolveCS  ,
FTileBricksParameters  ,
"/Engine/Private/Nanite/Voxel/ScatterBricks.usf"  ,
"ScatterResolve"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [8/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FScatterVoxelsCS  ,
FTileBricksParameters  ,
"/Engine/Private/Nanite/Voxel/ScatterBricks.usf"  ,
"ScatterVoxels"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_STRUCT() [9/9]

Nanite::IMPLEMENT_GLOBAL_SHADER_STRUCT ( FVisibleBricksHashCS  ,
FBuildBricksParameters  ,
"/Engine/Private/Nanite/Voxel/AutoVoxel.usf"  ,
"VisibleBricksHash"  ,
SF_Compute   
)

◆ IMPLEMENT_SCENE_EXTENSION() [1/2]

Nanite::IMPLEMENT_SCENE_EXTENSION ( FMaterialsSceneExtension  )

◆ IMPLEMENT_SCENE_EXTENSION() [2/2]

Nanite::IMPLEMENT_SCENE_EXTENSION ( FOwnershipVisibilitySceneExtension  )

◆ IMPLEMENT_SHADER_TYPE() [1/2]

Nanite::IMPLEMENT_SHADER_TYPE ( FDrawBricksPS  ,
TEXT("/Engine/Private/Nanite/Voxel/RasterizeBricks.usf")  ,
TEXT("DrawBricksPS")  ,
SF_Pixel   
)

◆ IMPLEMENT_SHADER_TYPE() [2/2]

Nanite::IMPLEMENT_SHADER_TYPE ( FDrawBricksVS  ,
TEXT("/Engine/Private/Nanite/Voxel/RasterizeBricks.usf")  ,
TEXT("DrawBricksVS")  ,
SF_Vertex   
)

◆ InitRasterContext()

FRasterContext Nanite::InitRasterContext ( FRDGBuilder GraphBuilder,
const FSharedContext SharedContext,
const FViewFamilyInfo ViewFamily,
FIntPoint  TextureSize,
FIntRect  TextureRect,
EOutputBufferMode  RasterMode,
bool  bClearTarget,
bool  bAsyncCompute,
FRDGBufferSRVRef  RectMinMaxBufferSRV,
uint32  NumRects,
FRDGTextureRef  ExternalDepthBuffer,
bool  bCustomPass,
bool  bVisualize,
bool  bVisualizeOverdraw,
bool  bEnableAssemblyMeta 
)

◆ IsMaskingAllowed()

ENGINE_API bool Nanite::IsMaskingAllowed ( UWorld World,
bool  bForceNaniteForMasked 
)

◆ IsStatFilterActive()

bool Nanite::IsStatFilterActive ( const FString &  FilterName)
extern

◆ IsSupportedBlendMode() [1/4]

ENGINE_API bool Nanite::IsSupportedBlendMode ( const FMaterial In)

◆ IsSupportedBlendMode() [2/4]

ENGINE_API bool Nanite::IsSupportedBlendMode ( const FMaterialShaderParameters In)

◆ IsSupportedBlendMode() [3/4]

ENGINE_API bool Nanite::IsSupportedBlendMode ( const UMaterialInterface In)

◆ IsSupportedBlendMode() [4/4]

ENGINE_API bool Nanite::IsSupportedBlendMode ( EBlendMode  BlendMode)

◆ IsSupportedMaterialDomain()

ENGINE_API bool Nanite::IsSupportedMaterialDomain ( EMaterialDomain  Domain)

◆ IsSupportedShadingModel()

ENGINE_API bool Nanite::IsSupportedShadingModel ( FMaterialShadingModelField  ShadingModelField)

◆ ListStatFilters()

void Nanite::ListStatFilters ( FSceneRenderer SceneRenderer)
extern

◆ LoadLumenCardPipeline()

bool Nanite::LoadLumenCardPipeline ( const FScene Scene,
FSceneProxyBase SceneProxy,
FSceneProxyBase::FMaterialSection Section,
FNaniteShadingPipeline ShadingPipeline 
)

◆ operator<<() [1/3]

FArchive & Nanite::operator<< ( FArchive Ar,
FPackedHierarchyNode Node 
)

◆ operator<<() [2/3]

FArchive & Nanite::operator<< ( FArchive Ar,
FPageRangeKey PageRangeKey 
)

◆ operator<<() [3/3]

FArchive & Nanite::operator<< ( FArchive Ar,
FPageStreamingState PageStreamingState 
)

◆ RecordLumenCardParameters()

void Nanite::RecordLumenCardParameters ( FRHIBatchedShaderParameters ShaderParameters,
FNaniteShadingCommand ShadingCommand,
TUniformBufferRef< FLumenCardOutputs Outputs 
)

◆ RoundUpToSignificantBits()

FORCEINLINE uint32 Nanite::RoundUpToSignificantBits ( uint32  x,
uint32  NumSignificantBits 
)

◆ SetBits()

void Nanite::SetBits ( uint32 Value,
uint32  Bits,
uint32  NumBits,
uint32  Offset 
)
inline

◆ SetCullingViewOverrides()

void Nanite::SetCullingViewOverrides ( FViewInfo const *  InCullingView,
Nanite::FPackedViewParams InOutParams 
)

◆ SetHWBundleParameters()

template<typename TShaderType >
void Nanite::SetHWBundleParameters ( TOptional< FRHIBatchedShaderParameters > &  BatchedParameters,
FRHIBatchedShaderParametersAllocator ScratchAllocator,
const TShaderRef< TShaderType > &  InShader,
const FHWRasterizePS::FParameters Parameters,
bool  bUsingSharedParameters,
const FViewInfo View,
const FMaterialRenderProxy MaterialProxy,
const FMaterial Material 
)
inline

◆ SetupPermutationVectors()

void Nanite::SetupPermutationVectors ( EOutputBufferMode  RasterMode,
ERasterHardwarePath  HardwarePath,
bool  bVisualizeActive,
bool  bHasVirtualShadowMapArray,
bool  bIsMaterialCache,
FHWRasterizeVS::FPermutationDomain PermutationVectorVS,
FHWRasterizeMS::FPermutationDomain PermutationVectorMS,
FHWRasterizePS::FPermutationDomain PermutationVectorPS,
FMicropolyRasterizeCS::FPermutationDomain PermutationVectorCS_Cluster,
FMicropolyRasterizeCS::FPermutationDomain PermutationVectorCS_Patch 
)

◆ ShouldDrawSceneViewsInOneNanitePass()

bool Nanite::ShouldDrawSceneViewsInOneNanitePass ( const FViewInfo View)

Whether to draw multiple FSceneView in one Nanite pass (as opposed to view by view).

◆ ShouldReportFeedbackMaterialPerformanceWarning()

bool Nanite::ShouldReportFeedbackMaterialPerformanceWarning ( )

◆ StreamOutData()

void Nanite::StreamOutData ( FRDGBuilder GraphBuilder,
FGlobalShaderMap ShaderMap,
FSceneUniformBuffer SceneUniformBuffer,
float  CutError,
uint32  NumRequests,
FRDGBufferRef  RequestBuffer,
FRDGBufferRef  SegmentMappingBuffer,
FRDGBufferRef  MeshDataBuffer,
FRDGBufferRef  AuxiliaryDataBuffer,
FRDGBufferRef  VertexBuffer,
uint32  MaxNumVertices,
FRDGBufferRef  IndexBuffer,
uint32  MaxNumIndices 
)

◆ VerificationLevel()

FORCEINLINE int32 Nanite::VerificationLevel ( )

Variable Documentation

◆ GEnableNaniteMaterialOverrides

ENGINE_API int32 Nanite::GEnableNaniteMaterialOverrides = 1

◆ GGlobalResources

TGlobalResource< FGlobalResources > Nanite::GGlobalResources

◆ GSpriteIndexBuffer

TGlobalResource< FSpriteIndexBuffer<64> > Nanite::GSpriteIndexBuffer

◆ GStreamingManager

ENGINE_API TGlobalResource< FStreamingManager > Nanite::GStreamingManager

◆ GTessellationTable

TGlobalResource< FTessellationTableResources > Nanite::GTessellationTable

◆ GVertexFactoryResource

ENGINE_API TGlobalResource< FVertexFactoryResource > Nanite::GVertexFactoryResource