UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NaniteCullRaster.cpp File Reference

Classes

struct  FCompactedViewInfo
 
class  FRasterClearCS
 
class  FPrimitiveFilter_CS
 
class  FInstanceHierarchyCullShader
 
class  FInstanceHierarchyCellChunkCull_CS
 
class  FInstanceHierarchyChunkCull_CS
 
class  FInstanceHierarchyAppendUncullable_CS
 
class  FInstanceHierarchySanitizeInstanceArgs_CS
 
class  FInitInstanceHierarchyArgs_CS
 
class  FInstanceCull_CS
 
class  FNodeAndClusterCull_CS
 
class  FInitArgs_CS
 
class  FInitClusterCullArgs_CS
 
class  FInitNodeCullArgs_CS
 
class  FCalculateSafeRasterizerArgs_CS
 
class  FInitVisiblePatchesArgsCS
 
class  FRasterBinBuild_CS
 
class  FRasterBinInit_CS
 
class  FRasterBinReserve_CS
 
class  FRasterBinDepthBlock_CS
 
class  FRasterBinFinalize_CS
 
class  FInitPatchSplitArgs_CS
 
class  FPatchSplitCS
 
class  FMicropolyRasterizeCS
 
class  FMicropolyRasterizeWG
 
class  FHWRasterizeVS
 
class  FHWRasterizeMS
 
class  FHWRasterizeWGMS
 
class  FHWRasterizePS
 
struct  Nanite::FRasterizerPass
 
class  Nanite::FTessellationTableResources
 
class  Nanite::FInstanceHierarchyDriver
 
struct  Nanite::FInstanceHierarchyDriver::FDeferredSetupContext
 
class  Nanite::FRenderer
 
struct  Nanite::FRenderer::FDispatchContext::FDispatchList
 
class  Nanite::FExtractVSMPerformanceFeedbackCS
 
class  Nanite::FCalculateClusterIndirectArgsCS
 
class  Nanite::FCalculateRasterStatsCS
 
class  Nanite::FCalculateClusterStatsCS
 
class  Nanite::FNaniteFeedbackStatusCS
 

Namespaces

namespace  Nanite
 

Macros

#define CULLING_PASS_NO_OCCLUSION   0
 
#define CULLING_PASS_OCCLUSION_MAIN   1
 
#define CULLING_PASS_OCCLUSION_POST   2
 
#define CULLING_PASS_EXPLICIT_LIST   3
 

Enumerations

enum class  ERasterHardwarePath : uint8 {
  VertexShader , PrimitiveShader , MeshShaderWrapped , MeshShaderNV ,
  MeshShader
}
 

Functions

 DECLARE_DWORD_COUNTER_STAT (TEXT("CullingContexts"), STAT_NaniteCullingContexts, STATGROUP_Nanite)
 
bool CanUseShaderBundleWorkGraph (EShaderPlatform Platform)
 
DynamicRenderScaling::FBudget GDynamicNaniteScalingPrimary (TEXT("DynamicNaniteScalingPrimary"), &GetDynamicNaniteScalingPrimarySettings)
 
DynamicRenderScaling::FBudget GDynamicNaniteScalingShadow (TEXT("DynamicNaniteScalingShadow"), &GetDynamicNaniteScalingShadowSettings)
 
bool IsValid (const FInstanceWorkGroupParameters &InstanceWorkGroupParameters)
 
 IMPLEMENT_GLOBAL_SHADER (FRasterClearCS, "/Engine/Private/Nanite/NaniteRasterClear.usf", "RasterClear", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FPrimitiveFilter_CS, "/Engine/Private/Nanite/NanitePrimitiveFilter.usf", "PrimitiveFilter", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInstanceHierarchyCellChunkCull_CS, "/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf", "InstanceHierarchyCellChunkCull_CS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInstanceHierarchyChunkCull_CS, "/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf", "InstanceHierarchyChunkCull_CS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInstanceHierarchyAppendUncullable_CS, "/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf", "AppendUncullableInstanceWork", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInstanceHierarchySanitizeInstanceArgs_CS, "/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf", "InstanceHierarchySanitizeInstanceArgsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInitInstanceHierarchyArgs_CS, "/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf", "InitArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInstanceCull_CS, "/Engine/Private/Nanite/NaniteInstanceCulling.usf", "InstanceCull", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FNodeAndClusterCull_CS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "NodeAndClusterCull", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInitArgs_CS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "InitArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInitClusterCullArgs_CS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "InitClusterCullArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInitNodeCullArgs_CS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "InitNodeCullArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCalculateSafeRasterizerArgs_CS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "CalculateSafeRasterizerArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInitVisiblePatchesArgsCS, "/Engine/Private/Nanite/NaniteRasterBinning.usf", "InitVisiblePatchesArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRasterBinBuild_CS, "/Engine/Private/Nanite/NaniteRasterBinning.usf", "RasterBinBuild", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRasterBinInit_CS, "/Engine/Private/Nanite/NaniteRasterBinning.usf", "RasterBinInit", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRasterBinReserve_CS, "/Engine/Private/Nanite/NaniteRasterBinning.usf", "RasterBinReserve", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRasterBinDepthBlock_CS, "/Engine/Private/Nanite/NaniteRasterBinning.usf", "RasterBinDepthBlock", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRasterBinFinalize_CS, "/Engine/Private/Nanite/NaniteRasterBinning.usf", "RasterBinFinalize", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FInitPatchSplitArgs_CS, "/Engine/Private/Nanite/NaniteSplit.usf", "InitPatchSplitArgs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FPatchSplitCS, "/Engine/Private/Nanite/NaniteSplit.usf", "PatchSplit", SF_Compute)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FMicropolyRasterizeCS, TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf"), TEXT("MicropolyRasterize"), SF_Compute)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FMicropolyRasterizeWG, TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf"), TEXT("MicropolyRasterize"), SF_WorkGraphComputeNode)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FHWRasterizeVS, TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf"), TEXT("HWRasterizeVS"), SF_Vertex)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FHWRasterizeMS, TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf"), TEXT("HWRasterizeMS"), SF_Mesh)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FHWRasterizeWGMS, TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf"), TEXT("HWRasterizeMS"), SF_WorkGraphComputeNode)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FHWRasterizePS, TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf"), TEXT("HWRasterizePS"), SF_Pixel)
 
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)
 
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)
 
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)
 
void Nanite::CollectRasterPSOInitializersForPipeline (const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &RasterMaterial, const FPSOPrecacheParams &PreCacheParams, EShaderPlatform ShaderPlatform, int32 PSOCollectorIndex, EPipeline Pipeline, TArray< FPSOPrecacheData > &PSOInitializers)
 
void Nanite::CollectRasterPSOInitializers (const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &RasterMaterial, const FPSOPrecacheParams &PreCacheParams, EShaderPlatform ShaderPlatform, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
 
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)
 
void Nanite::AddPass_InitClusterCullArgs (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, FRDGEventName &&PassName, FRDGBufferUAVRef QueueStateUAV, FRDGBufferRef ClusterCullArgs, uint32 CullingPass)
 
void Nanite::AddPass_InitNodeCullArgs (FRDGBuilder &GraphBuilder, FGlobalShaderMap *ShaderMap, FRDGEventName &&PassName, FRDGBufferUAVRef QueueStateUAV, FRDGBufferRef NodeCullArgs0, FRDGBufferRef NodeCullArgs1, uint32 CullingPass)
 
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)
 
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)
 
 Nanite::IMPLEMENT_GLOBAL_SHADER (FExtractVSMPerformanceFeedbackCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "ExtractVSMPerformanceFeedback", SF_Compute)
 
 Nanite::IMPLEMENT_GLOBAL_SHADER (FCalculateClusterIndirectArgsCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "CalculateClusterIndirectArgs", SF_Compute)
 
 Nanite::IMPLEMENT_GLOBAL_SHADER (FCalculateRasterStatsCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "CalculateRasterStats", SF_Compute)
 
 Nanite::IMPLEMENT_GLOBAL_SHADER (FCalculateClusterStatsCS, "/Engine/Private/Nanite/NanitePrintStats.usf", "CalculateClusterStats", SF_Compute)
 
 Nanite::IMPLEMENT_GLOBAL_SHADER (FNaniteFeedbackStatusCS, "/Engine/Private/Nanite/NaniteClusterCulling.usf", "FeedbackStatus", SF_Compute)
 

Variables

TAutoConsoleVariable< floatCVarNaniteMaxPixelsPerEdge (TEXT("r.Nanite.MaxPixelsPerEdge"), 1.0f, TEXT("The triangle edge length that the Nanite runtime targets, measured in pixels."), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatCVarNaniteMinPixelsPerEdgeHW (TEXT("r.Nanite.MinPixelsPerEdgeHW"), 32.0f, TEXT("The triangle edge length in pixels at which Nanite starts using the hardware rasterizer."), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatCVarNaniteDicingRate (TEXT("r.Nanite.DicingRate"), 2.0f, TEXT("Size of the micropolygons that Nanite tessellation will dice to, measured in pixels."), ECVF_RenderThreadSafe)
 
int32 GNaniteCullingTwoPass = 1
 
TAutoConsoleVariable< int32CVarNaniteBundleEmulation
 
int32 GNaniteShowStats
 
int32 GSkipDrawOnPSOPrecaching
 
TAutoConsoleVariable< int32CVarNaniteTestPrecacheDrawSkipping (TEXT("r.Nanite.TestPrecacheDrawSkipping"), 0, TEXT("Set to 1 to pretend all programmable raster draws are not precached yet."), ECVF_RenderThreadSafe)
 
TGlobalResource< FTessellationTableResourcesNanite::GTessellationTable
 

Macro Definition Documentation

◆ CULLING_PASS_EXPLICIT_LIST

#define CULLING_PASS_EXPLICIT_LIST   3

◆ CULLING_PASS_NO_OCCLUSION

#define CULLING_PASS_NO_OCCLUSION   0

◆ CULLING_PASS_OCCLUSION_MAIN

#define CULLING_PASS_OCCLUSION_MAIN   1

◆ CULLING_PASS_OCCLUSION_POST

#define CULLING_PASS_OCCLUSION_POST   2

Enumeration Type Documentation

◆ ERasterHardwarePath

enum class ERasterHardwarePath : uint8
strong
Enumerator
VertexShader 
PrimitiveShader 
MeshShaderWrapped 
MeshShaderNV 
MeshShader 

Function Documentation

◆ CanUseShaderBundleWorkGraph()

bool CanUseShaderBundleWorkGraph ( EShaderPlatform  Platform)
extern

◆ DECLARE_DWORD_COUNTER_STAT()

DECLARE_DWORD_COUNTER_STAT ( TEXT("CullingContexts")  ,
STAT_NaniteCullingContexts  ,
STATGROUP_Nanite   
)

◆ GDynamicNaniteScalingPrimary()

DynamicRenderScaling::FBudget GDynamicNaniteScalingPrimary ( TEXT("DynamicNaniteScalingPrimary")  ,
GetDynamicNaniteScalingPrimarySettings 
)

◆ GDynamicNaniteScalingShadow()

DynamicRenderScaling::FBudget GDynamicNaniteScalingShadow ( TEXT("DynamicNaniteScalingShadow")  ,
GetDynamicNaniteScalingShadowSettings 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/21]

IMPLEMENT_GLOBAL_SHADER ( FCalculateSafeRasterizerArgs_CS  ,
"/Engine/Private/Nanite/NaniteClusterCulling.usf"  ,
"CalculateSafeRasterizerArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/21]

IMPLEMENT_GLOBAL_SHADER ( FInitArgs_CS  ,
"/Engine/Private/Nanite/NaniteClusterCulling.usf"  ,
"InitArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/21]

IMPLEMENT_GLOBAL_SHADER ( FInitClusterCullArgs_CS  ,
"/Engine/Private/Nanite/NaniteClusterCulling.usf"  ,
"InitClusterCullArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/21]

IMPLEMENT_GLOBAL_SHADER ( FInitInstanceHierarchyArgs_CS  ,
"/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf"  ,
"InitArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/21]

IMPLEMENT_GLOBAL_SHADER ( FInitNodeCullArgs_CS  ,
"/Engine/Private/Nanite/NaniteClusterCulling.usf"  ,
"InitNodeCullArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/21]

IMPLEMENT_GLOBAL_SHADER ( FInitPatchSplitArgs_CS  ,
"/Engine/Private/Nanite/NaniteSplit.usf"  ,
"InitPatchSplitArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/21]

IMPLEMENT_GLOBAL_SHADER ( FInitVisiblePatchesArgsCS  ,
"/Engine/Private/Nanite/NaniteRasterBinning.usf"  ,
"InitVisiblePatchesArgs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/21]

IMPLEMENT_GLOBAL_SHADER ( FInstanceCull_CS  ,
"/Engine/Private/Nanite/NaniteInstanceCulling.usf"  ,
"InstanceCull"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [9/21]

IMPLEMENT_GLOBAL_SHADER ( FInstanceHierarchyAppendUncullable_CS  ,
"/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf"  ,
"AppendUncullableInstanceWork"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [10/21]

IMPLEMENT_GLOBAL_SHADER ( FInstanceHierarchyCellChunkCull_CS  ,
"/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf"  ,
"InstanceHierarchyCellChunkCull_CS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [11/21]

IMPLEMENT_GLOBAL_SHADER ( FInstanceHierarchyChunkCull_CS  ,
"/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf"  ,
"InstanceHierarchyChunkCull_CS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [12/21]

IMPLEMENT_GLOBAL_SHADER ( FInstanceHierarchySanitizeInstanceArgs_CS  ,
"/Engine/Private/Nanite/NaniteInstanceHierarchyCulling.usf"  ,
"InstanceHierarchySanitizeInstanceArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [13/21]

IMPLEMENT_GLOBAL_SHADER ( FNodeAndClusterCull_CS  ,
"/Engine/Private/Nanite/NaniteClusterCulling.usf"  ,
"NodeAndClusterCull"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [14/21]

IMPLEMENT_GLOBAL_SHADER ( FPatchSplitCS  ,
"/Engine/Private/Nanite/NaniteSplit.usf"  ,
"PatchSplit"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [15/21]

IMPLEMENT_GLOBAL_SHADER ( FPrimitiveFilter_CS  ,
"/Engine/Private/Nanite/NanitePrimitiveFilter.usf"  ,
"PrimitiveFilter"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [16/21]

IMPLEMENT_GLOBAL_SHADER ( FRasterBinBuild_CS  ,
"/Engine/Private/Nanite/NaniteRasterBinning.usf"  ,
"RasterBinBuild"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [17/21]

IMPLEMENT_GLOBAL_SHADER ( FRasterBinDepthBlock_CS  ,
"/Engine/Private/Nanite/NaniteRasterBinning.usf"  ,
"RasterBinDepthBlock"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [18/21]

IMPLEMENT_GLOBAL_SHADER ( FRasterBinFinalize_CS  ,
"/Engine/Private/Nanite/NaniteRasterBinning.usf"  ,
"RasterBinFinalize"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [19/21]

IMPLEMENT_GLOBAL_SHADER ( FRasterBinInit_CS  ,
"/Engine/Private/Nanite/NaniteRasterBinning.usf"  ,
"RasterBinInit"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [20/21]

IMPLEMENT_GLOBAL_SHADER ( FRasterBinReserve_CS  ,
"/Engine/Private/Nanite/NaniteRasterBinning.usf"  ,
"RasterBinReserve"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [21/21]

IMPLEMENT_GLOBAL_SHADER ( FRasterClearCS  ,
"/Engine/Private/Nanite/NaniteRasterClear.usf"  ,
"RasterClear"  ,
SF_Compute   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [1/6]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FHWRasterizeMS  ,
TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf" ,
TEXT("HWRasterizeMS")  ,
SF_Mesh   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [2/6]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FHWRasterizePS  ,
TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf" ,
TEXT("HWRasterizePS")  ,
SF_Pixel   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [3/6]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FHWRasterizeVS  ,
TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf" ,
TEXT("HWRasterizeVS")  ,
SF_Vertex   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [4/6]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FHWRasterizeWGMS  ,
TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf" ,
TEXT("HWRasterizeMS")  ,
SF_WorkGraphComputeNode   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [5/6]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FMicropolyRasterizeCS  ,
TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf" ,
TEXT("MicropolyRasterize")  ,
SF_Compute   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [6/6]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FMicropolyRasterizeWG  ,
TEXT("/Engine/Private/Nanite/NaniteRasterizer.usf" ,
TEXT("MicropolyRasterize")  ,
SF_WorkGraphComputeNode   
)

◆ IsValid()

bool IsValid ( const FInstanceWorkGroupParameters InstanceWorkGroupParameters)
inline

Variable Documentation

◆ CVarNaniteBundleEmulation

TAutoConsoleVariable<int32> CVarNaniteBundleEmulation
extern

◆ CVarNaniteDicingRate

TAutoConsoleVariable< float > CVarNaniteDicingRate(TEXT("r.Nanite.DicingRate"), 2.0f, TEXT("Size of the micropolygons that Nanite tessellation will dice to, measured in pixels."), ECVF_RenderThreadSafe) ( TEXT("r.Nanite.DicingRate")  ,
2.  0f,
TEXT("Size of the micropolygons that Nanite tessellation will dice to, measured in pixels." ,
ECVF_RenderThreadSafe   
)

◆ CVarNaniteMaxPixelsPerEdge

TAutoConsoleVariable< float > CVarNaniteMaxPixelsPerEdge(TEXT("r.Nanite.MaxPixelsPerEdge"), 1.0f, TEXT("The triangle edge length that the Nanite runtime targets, measured in pixels."), ECVF_RenderThreadSafe) ( TEXT("r.Nanite.MaxPixelsPerEdge")  ,
1.  0f,
TEXT("The triangle edge length that the Nanite runtime targets, measured in pixels." ,
ECVF_RenderThreadSafe   
)

◆ CVarNaniteMinPixelsPerEdgeHW

TAutoConsoleVariable< float > CVarNaniteMinPixelsPerEdgeHW(TEXT("r.Nanite.MinPixelsPerEdgeHW"), 32.0f, TEXT("The triangle edge length in pixels at which Nanite starts using the hardware rasterizer."), ECVF_RenderThreadSafe) ( TEXT("r.Nanite.MinPixelsPerEdgeHW")  ,
32.  0f,
TEXT("The triangle edge length in pixels at which Nanite starts using the hardware rasterizer." ,
ECVF_RenderThreadSafe   
)

◆ CVarNaniteTestPrecacheDrawSkipping

TAutoConsoleVariable< int32 > CVarNaniteTestPrecacheDrawSkipping(TEXT("r.Nanite.TestPrecacheDrawSkipping"), 0, TEXT("Set to 1 to pretend all programmable raster draws are not precached yet."), ECVF_RenderThreadSafe) ( TEXT("r.Nanite.TestPrecacheDrawSkipping")  ,
,
TEXT("Set to 1 to pretend all programmable raster draws are not precached yet." ,
ECVF_RenderThreadSafe   
)

◆ GNaniteCullingTwoPass

int32 GNaniteCullingTwoPass = 1

◆ GNaniteShowStats

int32 GNaniteShowStats
extern

◆ GSkipDrawOnPSOPrecaching

int32 GSkipDrawOnPSOPrecaching
extern