UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NaniteShading.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "NaniteShared.h"
6#include "NaniteSceneProxy.h"
7
8#include "SceneRendering.h"
9#include "Stats/Stats.h"
10
14class FSceneRenderer;
15
16namespace Nanite
17{
18
19struct FRasterResults;
20struct FRasterContext;
21
32
33FShadeBinning ShadeBinning(
34 FRDGBuilder& GraphBuilder,
35 const FScene& Scene,
36 const FViewInfo& View,
37 const FIntRect InViewRect,
38 const FNaniteShadingCommands& ShadingCommands,
41);
42
44{
45 Default = 0,
46 Custom,
47};
48
49void BuildShadingCommands(
50 FRDGBuilder& GraphBuilder,
53 FNaniteShadingCommands& ShadingCommands,
55);
56
57bool LoadBasePassPipeline(
58 const FScene& Scene,
59 FSceneProxyBase* SceneProxy,
60 FSceneProxyBase::FMaterialSection& Section,
61 bool bVoxel,
62 FNaniteShadingPipeline& ShadingPipeline
63);
64
66 const FScene& Scene,
67 FSceneProxyBase* SceneProxy,
68 FSceneProxyBase::FMaterialSection& Section,
69 FNaniteShadingPipeline& ShadingPipeline
70);
71
72void DispatchBasePass(
73 FRDGBuilder& GraphBuilder,
74 FNaniteShadingCommands& ShadingCommands,
75 const FSceneRenderer& SceneRenderer,
76 const FSceneTextures& SceneTextures,
78 const FDBufferTextures& DBufferTextures,
79 const FScene& Scene,
80 const FViewInfo& View,
81 const uint32 ViewIndex,
82 const FRasterResults& RasterResults
83);
84
85void CollectBasePassShadingPSOInitializers(
86 const FSceneTexturesConfig& SceneTexturesConfig,
87 const FPSOPrecacheVertexFactoryData& VertexFactoryData,
88 const FMaterial& Material,
90 ERHIFeatureLevel::Type FeatureLevel,
91 EShaderPlatform ShaderPlatform,
92 int32 PSOCollectorIndex,
94);
95
97 const FSceneTexturesConfig& SceneTexturesConfig,
98 const FPSOPrecacheVertexFactoryData& VertexFactoryData,
99 const FMaterial& Material,
101 ERHIFeatureLevel::Type FeatureLevel,
102 EShaderPlatform ShaderPlatform,
103 int32 PSOCollectorIndex,
105);
106
107extern bool HasNoDerivativeOps(FRHIComputeShader* ComputeShaderRHI);
108extern uint32 PackMaterialBitFlags(const FMaterial& Material, uint32 BoundTargetMask, bool bNoDerivativeOps, bool bVoxel);
109
110} // Nanite
111
113 FRDGBuilder& GraphBuilder,
114 FScene& Scene,
118 const Nanite::FRasterContext& RasterContext,
119 FLumenCardPassUniformParameters* PassUniformParameters,
122 FIntPoint ViewportSize,
126 FRDGTextureRef DepthAtlasTexture
127);
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
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)
Definition NaniteShading.cpp:2472
EShaderPlatform
Definition RHIShaderPlatform.h:11
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition LumenSceneCardCapture.h:35
Definition MaterialShared.h:2058
Definition RenderGraphResources.h:1426
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition RHIResources.h:1018
Definition SceneRendering.h:2080
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition ArrayView.h:139
Definition Array.h:670
Type
Definition PrimitiveSceneInfo.h:245
Type
Definition RHIFeatureLevel.h:20
Definition SkinnedMeshComponent.h:50
bool LoadLumenCardPipeline(const FScene &Scene, FSceneProxyBase *SceneProxy, FSceneProxyBase::FMaterialSection &Section, FNaniteShadingPipeline &ShadingPipeline)
Definition LumenSceneCardCapture.cpp:272
void CollectLumenCardPSOInitializers(const FSceneTexturesConfig &SceneTexturesConfig, const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMaterial &Material, const FPSOPrecacheParams &PreCacheParams, ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform, int32 PSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
Definition LumenSceneCardCapture.cpp:206
EBuildShadingCommandsMode
Definition NaniteShading.h:44
Definition DBufferTextures.h:35
Definition NaniteShared.h:936
Definition NaniteShared.h:802
Definition PSOPrecache.h:30
Definition PSOPrecache.h:150
Definition ShaderParameterMacros.h:770
Definition SceneTexturesConfig.h:114
Definition SceneTextures.h:110
Definition NaniteCullRaster.h:66
Definition NaniteCullRaster.h:86
Definition NaniteShading.h:23
FRDGBufferRef ShadingBinArgs
Definition NaniteShading.h:25
FRDGBufferRef ShadingBinStats
Definition NaniteShading.h:26
FRDGTextureRef FastClearVisualize
Definition NaniteShading.h:28
FRDGBufferRef ShadingBinData
Definition NaniteShading.h:24
uint32 DataByteOffset
Definition NaniteShading.h:30
Definition IntPoint.h:25