UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LumenSceneCardCapture.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7#include "SceneView.h"
8#include "MeshPassProcessor.h"
9
10class FScene;
12class FLumenCard;
15
24
33
35{
36public:
38
39 // CardData
45
47
50
53
57
58 bool bHeightField = false;
61
64
65 // Non-Nanite mesh inclusive instance ranges to draw
67
69 const FViewInfo& InMainView,
78 bool bInAxisXFlipped = false,
80
82
84 void PatchView(const FScene* Scene, FViewInfo* View) const;
85
86 inline bool HasNanite() const
87 {
88 return NaniteShadingBins.Num() > 0 && NaniteInstanceIds.Num() > 0;
89 }
90
91 bool NeedsRender() const
92 {
93 return CopyCardIndex == INDEX_NONE;
94 }
95};
96
121
127
128namespace Nanite
129{
130 void RecordLumenCardParameters(
131 FRHIBatchedShaderParameters& ShaderParameters,
132 FNaniteShadingCommand& ShadingCommand,
134 );
135}
@ INDEX_NONE
Definition CoreMiscDefines.h:150
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
ELumenCardDilationMode
Definition MeshCardRepresentation.h:17
EShaderPlatform
Definition RHIShaderPlatform.h:11
#define BEGIN_UNIFORM_BUFFER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1512
#define SHADER_PARAMETER_RDG_TEXTURE_UAV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1788
#define END_UNIFORM_BUFFER_STRUCT()
Definition ShaderParameterMacros.h:1520
Definition LumenSceneCardCapture.h:35
FLumenCardOBBd CardWorldOBB
Definition LumenSceneCardCapture.h:46
FIntRect SurfaceCacheAtlasRect
Definition LumenSceneCardCapture.h:44
int32 CopyCardIndex
Definition LumenSceneCardCapture.h:63
int32 PrimitiveGroupIndex
Definition LumenSceneCardCapture.h:37
ELumenCardDilationMode DilationMode
Definition LumenSceneCardCapture.h:60
FIntRect CardCaptureAtlasRect
Definition LumenSceneCardCapture.h:43
bool bAxisXFlipped
Definition LumenSceneCardCapture.h:62
void PatchView(const FScene *Scene, FViewInfo *View) const
Definition LumenSceneCardCapture.cpp:722
int32 NumMeshDrawCommands
Definition LumenSceneCardCapture.h:52
TArray< FNaniteShadingBin, SceneRenderingAllocator > NaniteShadingBins
Definition LumenSceneCardCapture.h:55
TArray< uint32, SceneRenderingAllocator > NaniteInstanceIds
Definition LumenSceneCardCapture.h:54
bool NeedsRender() const
Definition LumenSceneCardCapture.h:91
bool bResampleLastLighting
Definition LumenSceneCardCapture.h:59
float NaniteLODScaleFactor
Definition LumenSceneCardCapture.h:56
FVector4f CardUVRect
Definition LumenSceneCardCapture.h:42
FViewMatrices ViewMatrices
Definition LumenSceneCardCapture.h:48
bool bHeightField
Definition LumenSceneCardCapture.h:58
bool HasNanite() const
Definition LumenSceneCardCapture.h:86
TArray< uint32, SceneRenderingAllocator > InstanceRuns
Definition LumenSceneCardCapture.h:66
FMatrix ProjectionMatrixUnadjustedForRHI
Definition LumenSceneCardCapture.h:49
const int32 CardIndex
Definition LumenSceneCardCapture.h:40
void UpdateViewMatrices(const FViewInfo &MainView)
Definition LumenSceneCardCapture.cpp:667
int32 StartMeshDrawCommandIndex
Definition LumenSceneCardCapture.h:51
const int32 PageTableIndex
Definition LumenSceneCardCapture.h:41
Definition LumenSceneData.h:274
Definition LumenSceneData.h:375
Definition PrimitiveSceneProxy.h:296
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition ShaderParameterMacros.h:136
Definition LumenSceneCardCapture.h:98
bool CullUndergroundTexels()
Definition LumenSurfaceCache.cpp:52
void AllocateCardCaptureAtlas(FRDGBuilder &GraphBuilder, FIntPoint CardCaptureAtlasSize, FCardCaptureAtlas &CardCaptureAtlas, EShaderPlatform ShaderPlatform)
Definition LumenSceneCardCapture.cpp:512
bool HasPrimitiveNaniteMeshBatches(const FPrimitiveSceneProxy *Proxy)
Definition LumenSceneRendering.cpp:387
bool AllowSurfaceCacheCardSharing()
Definition LumenSceneRendering.cpp:310
void AddCardCaptureDraws(const FScene *Scene, FCardPageRenderData &CardPageRenderData, const FLumenPrimitiveGroup &PrimitiveGroup, TConstArrayView< const FPrimitiveSceneInfo * > SceneInfoPrimitives, FMeshCommandOneFrameArray &VisibleMeshCommands, TArray< int32, SceneRenderingAllocator > &PrimitiveIds)
Definition LumenSceneCardCapture.cpp:738
Definition SkinnedMeshComponent.h:50
Definition LumenSceneCardCapture.h:17
FRDGTextureRef DepthStencil
Definition LumenSceneCardCapture.h:22
FRDGTextureRef Emissive
Definition LumenSceneCardCapture.h:21
FRDGTextureRef Albedo
Definition LumenSceneCardCapture.h:19
FIntPoint Size
Definition LumenSceneCardCapture.h:18
FRDGTextureRef Normal
Definition LumenSceneCardCapture.h:20
Definition NaniteShared.h:776
Definition NaniteShared.h:925
Definition RHIShaderParameters.h:241
Definition LumenSceneCardCapture.h:26
FIntPoint Size
Definition LumenSceneCardCapture.h:27
FRDGTextureRef IndirectLighting
Definition LumenSceneCardCapture.h:29
FRDGTextureRef NumFramesAccumulated
Definition LumenSceneCardCapture.h:30
FRDGTextureRef DirectLighting
Definition LumenSceneCardCapture.h:28
FRDGBufferRef TileShadowDownsampleFactor
Definition LumenSceneCardCapture.h:31
Definition SceneView.h:317
Definition IntPoint.h:25