You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Misc: * Renamed r.Lumen.Visualize.Mode to r.Lumen.Visualize #rb Daniel.Wright #lockdown Juan.Canada #preflight 6216520a104496cff898d34e #ROBOMERGE-AUTHOR: krzysztof.narkowicz #ROBOMERGE-SOURCE: CL 19097803 via CL 19098501 via CL 19099288 via CL 19099967 via CL 19109886 #ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845) [CL 19147202 by krzysztof narkowicz in ue5-main branch]
146 lines
3.8 KiB
C++
146 lines
3.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "LumenVisualizationData.h"
|
|
#include "HAL/IConsoleManager.h"
|
|
#include "Materials/Material.h"
|
|
#include "Misc/ConfigCacheIni.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "FLumenVisualizationData"
|
|
|
|
static FLumenVisualizationData GLumenVisualizationData;
|
|
|
|
// Must match appropriate values in r.Lumen.Visualize
|
|
#define LUMEN_VISUALIZE_LUMEN_SCENE 1
|
|
#define LUMEN_VISUALIZE_REFLECTION_VIEW 2
|
|
#define LUMEN_VISUALIZE_SURFACE_CACHE 3
|
|
#define LUMEN_VISUALIZE_OVERVIEW 4
|
|
|
|
void FLumenVisualizationData::Initialize()
|
|
{
|
|
if (!bIsInitialized)
|
|
{
|
|
AddVisualizationMode(
|
|
TEXT("Overview"),
|
|
LOCTEXT("Overview", "Overview"),
|
|
LOCTEXT("OverviewDesc", "All Lumen view mode tiles overlayed on top"),
|
|
FModeType::Overview,
|
|
LUMEN_VISUALIZE_OVERVIEW,
|
|
true);
|
|
|
|
AddVisualizationMode(
|
|
TEXT("LumenScene"),
|
|
LOCTEXT("LumenScene", "Lumen Scene"),
|
|
LOCTEXT("LumenSceneDesc", "Visualizes Lumen scene representation in a highest possible quality and view distance"),
|
|
FModeType::Standard,
|
|
LUMEN_VISUALIZE_LUMEN_SCENE,
|
|
true);
|
|
|
|
AddVisualizationMode(
|
|
TEXT("ReflectionView"),
|
|
LOCTEXT("ReflectionView", "Reflection View"),
|
|
LOCTEXT("ReflectionViewDesc", "Visualizes Lumen scene representation with current reflection settings"),
|
|
FModeType::Standard, LUMEN_VISUALIZE_REFLECTION_VIEW, true);
|
|
|
|
AddVisualizationMode(
|
|
TEXT("SurfaceCache"),
|
|
LOCTEXT("SurfaceCache", "Surface Cache"),
|
|
LOCTEXT("SurfaceCacheDesc", "Visualizes Lumen surface cache and marks with pink (parts of mesh) and yellow (entire mesh) missing surface cache coverage"),
|
|
FModeType::Standard,
|
|
LUMEN_VISUALIZE_SURFACE_CACHE,
|
|
true);
|
|
|
|
ConfigureConsoleCommand();
|
|
|
|
bIsInitialized = true;
|
|
}
|
|
}
|
|
|
|
void FLumenVisualizationData::ConfigureConsoleCommand()
|
|
{
|
|
FString AvailableVisualizationModes;
|
|
for (TModeMap::TConstIterator It = ModeMap.CreateConstIterator(); It; ++It)
|
|
{
|
|
const FModeRecord& Record = It.Value();
|
|
AvailableVisualizationModes += FString(TEXT("\n "));
|
|
AvailableVisualizationModes += Record.ModeString;
|
|
}
|
|
|
|
ConsoleDocumentationVisualizationMode = TEXT("When the viewport view-mode is set to 'Lumen Visualization', this command specifies which of the various channels to display. Values entered other than the allowed values shown below will be ignored.");
|
|
ConsoleDocumentationVisualizationMode += AvailableVisualizationModes;
|
|
|
|
IConsoleManager::Get().RegisterConsoleVariable(
|
|
GetVisualizeConsoleCommandName(),
|
|
TEXT(""),
|
|
*ConsoleDocumentationVisualizationMode,
|
|
ECVF_Cheat);
|
|
}
|
|
|
|
void FLumenVisualizationData::AddVisualizationMode(
|
|
const TCHAR* ModeString,
|
|
const FText& ModeText,
|
|
const FText& ModeDesc,
|
|
const FModeType ModeType,
|
|
int32 ModeID,
|
|
bool DefaultComposited
|
|
)
|
|
{
|
|
const FName ModeName = FName(ModeString);
|
|
|
|
FModeRecord& Record = ModeMap.Emplace(ModeName);
|
|
Record.ModeString = FString(ModeString);
|
|
Record.ModeName = ModeName;
|
|
Record.ModeText = ModeText;
|
|
Record.ModeDesc = ModeDesc;
|
|
Record.ModeType = ModeType;
|
|
Record.ModeID = ModeID;
|
|
Record.DefaultComposited = DefaultComposited;
|
|
}
|
|
|
|
FText FLumenVisualizationData::GetModeDisplayName(const FName& InModeName) const
|
|
{
|
|
if (const FModeRecord* Record = ModeMap.Find(InModeName))
|
|
{
|
|
return Record->ModeText;
|
|
}
|
|
else
|
|
{
|
|
return FText::GetEmpty();
|
|
}
|
|
}
|
|
|
|
int32 FLumenVisualizationData::GetModeID(const FName& InModeName) const
|
|
{
|
|
if (const FModeRecord* Record = ModeMap.Find(InModeName))
|
|
{
|
|
return Record->ModeID;
|
|
}
|
|
else
|
|
{
|
|
return INDEX_NONE;
|
|
}
|
|
}
|
|
|
|
bool FLumenVisualizationData::GetModeDefaultComposited(const FName& InModeName) const
|
|
{
|
|
if (const FModeRecord* Record = ModeMap.Find(InModeName))
|
|
{
|
|
return Record->DefaultComposited;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
FLumenVisualizationData& GetLumenVisualizationData()
|
|
{
|
|
if (!GLumenVisualizationData.IsInitialized())
|
|
{
|
|
GLumenVisualizationData.Initialize();
|
|
}
|
|
|
|
return GLumenVisualizationData;
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE
|