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

Classes

class  FRTWriteMaskDecodeCS
 
class  FClearIndirectDispatchArgsCS
 

Namespaces

namespace  Substrate
 
namespace  Nanite
 
namespace  UE
 
namespace  UE::RendererPrivateUtils
 
namespace  UE::RendererPrivateUtils::Implementation
 

Functions

bool ShouldSkipNaniteLPIs (EShaderPlatform ShaderPlatform)
 
 IMPLEMENT_GLOBAL_SHADER (FRTWriteMaskDecodeCS, "/Engine/Private/RTWriteMaskDecode.usf", "RTWriteMaskDecodeMain", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FSubstratePublicGlobalUniformParameters, "SubstratePublic")
 
RENDERER_API FBufferRHIRefGetOneTileQuadVertexBuffer ()
 
RENDERER_API FBufferRHIRefGetOneTileQuadIndexBuffer ()
 
 IMPLEMENT_GLOBAL_SHADER (FClearIndirectDispatchArgsCS, "/Engine/Private/RendererUtils.usf", "ClearIndirectDispatchArgsCS", SF_Compute)
 
void AddClearIndirectDispatchArgsPass (FRDGBuilder &GraphBuilder, ERHIFeatureLevel::Type FeatureLevel, FRDGBufferRef IndirectArgsRDG, const FIntVector3 &DimClearValue, uint32 NumIndirectArgs, uint32 IndirectArgStride)
 
FRDGBufferRef CreateAndClearIndirectDispatchArgs (FRDGBuilder &GraphBuilder, ERHIFeatureLevel::Type FeatureLevel, const TCHAR *Name, const FIntVector3 &DimClearValue, uint32 NumIndirectArgs, uint32 IndirectArgStride)
 

Variables

TGlobalResource< FTileTexCoordVertexBufferGOneTileQuadVertexBuffer (1)
 
TGlobalResource< FTileIndexBufferGOneTileQuadIndexBuffer (1)
 

Function Documentation

◆ AddClearIndirectDispatchArgsPass()

void AddClearIndirectDispatchArgsPass ( FRDGBuilder GraphBuilder,
ERHIFeatureLevel::Type  FeatureLevel,
FRDGBufferRef  IndirectArgsRDG,
const FIntVector3 DimClearValue,
uint32  NumIndirectArgs,
uint32  IndirectArgStride 
)

Clear indirect args for GPU-side building, initializes the XYZ dimensions of the dispatch arg to DimClearValue and everything else in the strided range to zero. Can clear one or more args (NumIndirectArgs). IndirectArgStride gives the size (in uints) of each argument, this may be larger than the required size. E.g., to make space for an atomic counter.

◆ CreateAndClearIndirectDispatchArgs()

FRDGBufferRef CreateAndClearIndirectDispatchArgs ( FRDGBuilder GraphBuilder,
ERHIFeatureLevel::Type  FeatureLevel,
const TCHAR Name,
const FIntVector3 DimClearValue,
uint32  NumIndirectArgs,
uint32  IndirectArgStride 
)

Create an indirect args buffer and clear it using AddClearIndirectDispatchArgsPass.

◆ GetOneTileQuadIndexBuffer()

RENDERER_API FBufferRHIRef & GetOneTileQuadIndexBuffer ( )

One Tile Quad Index Buffer

◆ GetOneTileQuadVertexBuffer()

RENDERER_API FBufferRHIRef & GetOneTileQuadVertexBuffer ( )

One Tile Quad Vertex Buffer

◆ IMPLEMENT_GLOBAL_SHADER() [1/2]

IMPLEMENT_GLOBAL_SHADER ( FClearIndirectDispatchArgsCS  ,
"/Engine/Private/RendererUtils.usf"  ,
"ClearIndirectDispatchArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/2]

IMPLEMENT_GLOBAL_SHADER ( FRTWriteMaskDecodeCS  ,
"/Engine/Private/RTWriteMaskDecode.usf"  ,
"RTWriteMaskDecodeMain"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT()

IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT ( FSubstratePublicGlobalUniformParameters  ,
"SubstratePublic"   
)

◆ ShouldSkipNaniteLPIs()

bool ShouldSkipNaniteLPIs ( EShaderPlatform  ShaderPlatform)

Returns true if Nanite primitives are to be skipped in Light Primitive Interactions (LPI) and the primitive acceleration structure (octree).

Variable Documentation

◆ GOneTileQuadIndexBuffer

TGlobalResource< FTileIndexBuffer > GOneTileQuadIndexBuffer(1) ( )

◆ GOneTileQuadVertexBuffer

TGlobalResource< FTileTexCoordVertexBuffer > GOneTileQuadVertexBuffer(1) ( )