UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NaniteVisualizationData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
8class UWorld;
10{
11public:
12 enum class FModeType : uint8
13 {
17 };
18
21 {
22 FString ModeString;
28
29 // Whether or not this mode (by default) composites with regular scene depth.
33 };
34
37
38public:
40 : bIsInitialized(false)
41 {
42 }
43
45 void Initialize();
46
48 inline bool IsInitialized() const { return bIsInitialized; }
49
51 ENGINE_API bool IsActive() const;
52
54 ENGINE_API bool Update(const FName& InViewMode);
55
58
60
62
65
67 void SetCurrentOverviewModeList(const FString& InNameList);
69
70 inline int32 GetActiveModeID() const
71 {
72 return ActiveVisualizationModeID;
73 }
74
75 inline const FName& GetActiveModeName() const
76 {
77 return ActiveVisualizationModeName;
78 }
79
81 {
82 return bActiveVisualizationModeComposited;
83 }
84
87 {
88 return CurrentOverviewModeNames;
89 }
90
92 {
93 return CurrentOverviewModeIDs;
94 }
95
96 inline const TModeMap& GetModeMap() const
97 {
98 return ModeMap;
99 }
100
103 {
104 return TEXT("r.Nanite.Visualize");
105 }
106
109 {
110 return TEXT("r.Nanite.VisualizeOverview");
111 }
112
114
115 inline const FVector2f& GetPickingMousePos() const
116 {
117 return MousePos;
118 }
119
120 inline const FIntPoint& GetPickingScreenSize() const
121 {
122 return ScreenSize;
123 }
124
125private:
127 void ConfigureConsoleCommand();
128
129 void AddVisualizationMode(
130 const TCHAR* ModeString,
131 const FText& ModeText,
132 const FModeType ModeType,
133 int32 ModeID,
134 bool DefaultComposited,
135 bool bDrawLegend = true,
137 );
138
139 void SetActiveMode(int32 ModeID, const FName& ModeName, bool bDefaultComposited);
140
141private:
143 TModeMap ModeMap;
144
145 int32 ActiveVisualizationModeID = INDEX_NONE;
146 FName ActiveVisualizationModeName = NAME_None;
147 bool bActiveVisualizationModeComposited = true;
148
150 FString CurrentOverviewModeList;
151
153 TArray<FName, TInlineAllocator<32>> CurrentOverviewModeNames;
154 TArray<int32, TInlineAllocator<32>> CurrentOverviewModeIDs;
155 bool bOverviewListEmpty = true;
156
158 FString CurrentConsoleVisualizationMode;
159
161 FString ConsoleDocumentationVisualizationMode;
162 FString ConsoleDocumentationOverviewTargets;
163
165 FVector2f MousePos;
166 FIntPoint ScreenSize;
167
169 bool bIsInitialized;
170};
171
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
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
ENGINE_API FNaniteVisualizationData & GetNaniteVisualizationData()
Definition NaniteVisualizationData.cpp:345
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition NaniteVisualizationData.h:10
const FVector2f & GetPickingMousePos() const
Definition NaniteVisualizationData.h:115
void SetCurrentOverviewModeList(const FString &InNameList)
Definition NaniteVisualizationData.cpp:335
ENGINE_API bool ShouldDrawLegend(const FName &InModeName) const
Definition NaniteVisualizationData.cpp:287
ENGINE_API FText GetModeDisplayName(const FName &InModeName) const
Definition NaniteVisualizationData.cpp:275
void Initialize()
Definition NaniteVisualizationData.cpp:27
ENGINE_API void Pick(UWorld *World)
Definition NaniteVisualizationData.cpp:355
ENGINE_API bool IsActive() const
Definition NaniteVisualizationData.cpp:141
ENGINE_API int32 GetModeID(const FName &InModeName) const
Definition NaniteVisualizationData.cpp:311
bool IsInitialized() const
Definition NaniteVisualizationData.h:48
const TArray< FName, TInlineAllocator< 32 > > & GetOverviewModeNames() const
Definition NaniteVisualizationData.h:86
static const TCHAR * GetVisualizeConsoleCommandName()
Definition NaniteVisualizationData.h:102
const FIntPoint & GetPickingScreenSize() const
Definition NaniteVisualizationData.h:120
const TArray< int32, TInlineAllocator< 32 > > & GetOverviewModeIDs() const
Definition NaniteVisualizationData.h:91
TMultiMap< FName, FModeRecord > TModeMap
Definition NaniteVisualizationData.h:36
int32 GetActiveModeID() const
Definition NaniteVisualizationData.h:70
FNaniteVisualizationData()
Definition NaniteVisualizationData.h:39
bool GetActiveModeDefaultComposited() const
Definition NaniteVisualizationData.h:80
const TModeMap & GetModeMap() const
Definition NaniteVisualizationData.h:96
static const TCHAR * GetOverviewConsoleCommandName()
Definition NaniteVisualizationData.h:108
ENGINE_API TArray< FVisualizationDataLegendEntry > GetLegendEntries(const FName &InModeName) const
Definition NaniteVisualizationData.cpp:299
bool IsDifferentToCurrentOverviewModeList(const FString &InNameList)
Definition NaniteVisualizationData.cpp:340
ENGINE_API bool GetModeDefaultComposited(const FName &InModeName) const
Definition NaniteVisualizationData.cpp:323
const FName & GetActiveModeName() const
Definition NaniteVisualizationData.h:75
FModeType
Definition NaniteVisualizationData.h:13
Definition Text.h:385
Definition Array.h:670
Definition World.h:918
@ false
Definition radaudio_common.h:23
Definition NaniteVisualizationData.h:21
bool bDrawLegend
Definition NaniteVisualizationData.h:31
int32 ModeID
Definition NaniteVisualizationData.h:27
FName ModeName
Definition NaniteVisualizationData.h:23
FText ModeText
Definition NaniteVisualizationData.h:24
FText ModeDesc
Definition NaniteVisualizationData.h:25
TArray< FVisualizationDataLegendEntry > LegendEntries
Definition NaniteVisualizationData.h:32
FModeType ModeType
Definition NaniteVisualizationData.h:26
FString ModeString
Definition NaniteVisualizationData.h:22
bool DefaultComposited
Definition NaniteVisualizationData.h:30
Definition IntPoint.h:25