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

Classes

class  FVisualizeClearTilesCS
 
class  FShadingBinBuildCS
 
class  FShadingBinReserveCS
 
class  FShadingBinValidateCS
 
class  FClearCMaskRectCS
 
struct  FLumenShadingBinEntry
 

Namespaces

namespace  Nanite
 

Functions

bool UsingHighPrecisionGBuffer ()
 
bool CanUseShaderBundleWorkGraph (EShaderPlatform Platform)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeClearTilesCS, "/Engine/Private/Nanite/NaniteFastClear.usf", "VisualizeClearTilesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FShadingBinBuildCS, "/Engine/Private/Nanite/NaniteShadeBinning.usf", "ShadingBinBuildCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FShadingBinReserveCS, "/Engine/Private/Nanite/NaniteShadeBinning.usf", "ShadingBinReserveCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FShadingBinValidateCS, "/Engine/Private/Nanite/NaniteShadeBinning.usf", "ShadingBinValidateCS", SF_Compute)
 
 IMPLEMENT_UNIFORM_BUFFER_STRUCT_EX (FComputeShadingOutputs, "ComputeShadingOutputs", FShaderParametersMetadata::EUsageFlags::NeedsReflectedMembers|FShaderParametersMetadata::EUsageFlags::ManuallyBoundByPass)
 
 IMPLEMENT_GLOBAL_SHADER (FClearCMaskRectCS, "/Engine/Private/Nanite/NaniteShadeBinning.usf", "ClearCMaskRectCS", SF_Compute)
 
void DispatchLumenMeshCapturePass (FRDGBuilder &GraphBuilder, FScene &Scene, FViewInfo *SharedView, TArrayView< const FCardPageRenderData > CardPagesToRender, const Nanite::FRasterResults &RasterResults, const Nanite::FRasterContext &RasterContext, FLumenCardPassUniformParameters *PassUniformParameters, FRDGBufferSRVRef RectMinMaxBufferSRV, uint32 NumRects, FIntPoint ViewportSize, FRDGTextureRef AlbedoAtlasTexture, FRDGTextureRef NormalAtlasTexture, FRDGTextureRef EmissiveAtlasTexture, FRDGTextureRef DepthAtlasTexture)
 

Variables

TAutoConsoleVariable< int32CVarNaniteShowDrawEvents
 
TAutoConsoleVariable< int32CVarRHICmdMinDrawsPerParallelCmdList
 
int32 GSkipDrawOnPSOPrecaching
 
int32 GNaniteShowStats
 
TAutoConsoleVariable< int32CVarParallelBasePassBuild (TEXT("r.Nanite.ParallelBasePassBuild"), 1, TEXT(""), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarNaniteBundleEmulation (TEXT("r.Nanite.Bundle.Emulation"), 0, TEXT("Whether to force shader bundle dispatch emulation"), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;}), ECVF_RenderThreadSafe)
 
int32 GNaniteValidateShadeBinning = 0
 

Function Documentation

◆ CanUseShaderBundleWorkGraph()

bool CanUseShaderBundleWorkGraph ( EShaderPlatform  Platform)

◆ DispatchLumenMeshCapturePass()

void DispatchLumenMeshCapturePass ( FRDGBuilder GraphBuilder,
FScene Scene,
FViewInfo SharedView,
TArrayView< const FCardPageRenderData CardPagesToRender,
const Nanite::FRasterResults RasterResults,
const Nanite::FRasterContext RasterContext,
FLumenCardPassUniformParameters PassUniformParameters,
FRDGBufferSRVRef  RectMinMaxBufferSRV,
uint32  NumRects,
FIntPoint  ViewportSize,
FRDGTextureRef  AlbedoAtlasTexture,
FRDGTextureRef  NormalAtlasTexture,
FRDGTextureRef  EmissiveAtlasTexture,
FRDGTextureRef  DepthAtlasTexture 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/5]

IMPLEMENT_GLOBAL_SHADER ( FClearCMaskRectCS  ,
"/Engine/Private/Nanite/NaniteShadeBinning.usf"  ,
"ClearCMaskRectCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/5]

IMPLEMENT_GLOBAL_SHADER ( FShadingBinBuildCS  ,
"/Engine/Private/Nanite/NaniteShadeBinning.usf"  ,
"ShadingBinBuildCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/5]

IMPLEMENT_GLOBAL_SHADER ( FShadingBinReserveCS  ,
"/Engine/Private/Nanite/NaniteShadeBinning.usf"  ,
"ShadingBinReserveCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/5]

IMPLEMENT_GLOBAL_SHADER ( FShadingBinValidateCS  ,
"/Engine/Private/Nanite/NaniteShadeBinning.usf"  ,
"ShadingBinValidateCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/5]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeClearTilesCS  ,
"/Engine/Private/Nanite/NaniteFastClear.usf"  ,
"VisualizeClearTilesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_UNIFORM_BUFFER_STRUCT_EX()

◆ UsingHighPrecisionGBuffer()

bool UsingHighPrecisionGBuffer ( )
inline

Variable Documentation

◆ CVarNaniteBundleEmulation

TAutoConsoleVariable< int32 > CVarNaniteBundleEmulation(TEXT("r.Nanite.Bundle.Emulation"), 0, TEXT("Whether to force shader bundle dispatch emulation"), FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context; }), ECVF_RenderThreadSafe) ( TEXT("r.Nanite.Bundle.Emulation")  ,
,
TEXT("Whether to force shader bundle dispatch emulation" ,
FConsoleVariableDelegate::CreateLambda([](IConsoleVariable *InVariable) { FGlobalComponentRecreateRenderStateContext Context;})  ,
ECVF_RenderThreadSafe   
)

◆ CVarNaniteShowDrawEvents

TAutoConsoleVariable<int32> CVarNaniteShowDrawEvents
extern

◆ CVarParallelBasePassBuild

TAutoConsoleVariable< int32 > CVarParallelBasePassBuild(TEXT("r.Nanite.ParallelBasePassBuild"), 1, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Nanite.ParallelBasePassBuild")  ,
,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarRHICmdMinDrawsPerParallelCmdList

TAutoConsoleVariable<int32> CVarRHICmdMinDrawsPerParallelCmdList
extern

◆ GNaniteShowStats

int32 GNaniteShowStats
extern

◆ GNaniteValidateShadeBinning

int32 GNaniteValidateShadeBinning = 0

◆ GSkipDrawOnPSOPrecaching

int32 GSkipDrawOnPSOPrecaching
extern