ShowFlag.VisualizeCalibrationGrayscale
ShowFlag.VisualizeCalibrationGrayscale
#Overview
name: ShowFlag.VisualizeCalibrationGrayscale
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Allows to override a specific showflag (works in editor and game, \
It is referenced in 6
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of ShowFlag.VisualizeCalibrationGrayscale is to enable the visualization of a full-screen calibration grayscale post-process material defined in the renderer configuration. This setting is part of the rendering system, specifically for calibration and visualization purposes.
This setting variable is primarily used in the Unreal Engine’s rendering module and editor subsystems. It’s referenced in the engine’s core files, including the SceneView, EditorViewportClient, and PostProcess components.
The value of this variable is typically set through the engine’s show flags system, which allows for runtime toggling of various rendering features. It’s often controlled via the editor interface or through code that manipulates the EngineShowFlags.
ShowFlag.VisualizeCalibrationGrayscale interacts with other calibration-related variables, particularly VisualizeCalibrationColor and VisualizeCalibrationCustom. These three variables are often used together to determine which type of calibration visualization is active.
Developers should be aware that this variable is part of a group of calibration visualization options. It’s specifically for grayscale calibration, which can be useful for checking display gamma and contrast settings.
Best practices when using this variable include:
- Use it in conjunction with the other calibration visualization options for comprehensive display testing.
- Ensure the appropriate calibration material is set up in the renderer configuration.
- Be mindful of performance implications when enabling this visualization in production builds.
Regarding the associated variable VisualizeCalibrationGrayscale:
This is not actually a separate variable, but rather the same ShowFlag.VisualizeCalibrationGrayscale referenced in different contexts. It’s used in various parts of the engine to check if the grayscale calibration visualization is enabled.
The purpose remains the same: to control the visibility of the grayscale calibration material. It’s used in functions like IsVisualizeCalibrationMaterialEnabled and IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled to determine if the grayscale calibration visualization should be applied.
This flag is typically set through the engine’s show flags system and can be toggled in the editor or through code. It interacts closely with the other calibration visualization flags (Color and Custom) and is often checked alongside them.
Developers should be aware that this flag affects the post-processing pipeline and may impact performance when enabled. It’s primarily a development and debugging tool, so it should be used judiciously in production environments.
Best practices include using this flag during display calibration processes, ensuring it’s disabled for final builds unless specifically needed, and considering its interaction with other post-processing effects when active.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Public/ShowFlagsValues.inl:405
Scope: file
Source code excerpt:
SHOWFLAG_ALWAYS_ACCESSIBLE(VisualizeCalibrationColor, SFG_Developer, NSLOCTEXT("UnrealEd", "VisualizeCalibrationColorSF", "Visualize Calibration Color"))
/** Shows a full-screen calibration grayscale post process material defined in renderer config */
SHOWFLAG_ALWAYS_ACCESSIBLE(VisualizeCalibrationGrayscale, SFG_Developer, NSLOCTEXT("UnrealEd", "VisualizeCalibrationGrayscaleSF", "Visualize Calibration Grayscale"))
/** Shows a full-screen calibration custom post process material defined in renderer config */
SHOWFLAG_ALWAYS_ACCESSIBLE(VisualizeCalibrationCustom, SFG_Developer, NSLOCTEXT("UnrealEd", "VisualizeCalibrationCustomSF", "Visualize Calibration Custom"))
/** Visualise information about the post processes stacked on screen */
SHOWFLAG_FIXED_IN_SHIPPING(0, VisualizePostProcessStack, SFG_Visualize, NSLOCTEXT("UnrealEd", "VisualizePostProcessStackSF", "Visualize Post Process Stack"))
/** Draw in the main pass the primitives that would normally only contribute to runtime virtual textures. */
#Associated Variable and Callsites
This variable is associated with another variable named VisualizeCalibrationGrayscale
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/EditorViewportClient.cpp:2832
Scope (from outer to inner):
file
function bool FEditorViewportClient::IsVisualizeCalibrationMaterialEnabled
Source code excerpt:
return ((EngineShowFlags.VisualizeCalibrationCustom && Settings->VisualizeCalibrationCustomMaterialPath.IsValid()) ||
(EngineShowFlags.VisualizeCalibrationColor && Settings->VisualizeCalibrationColorMaterialPath.IsValid()) ||
(EngineShowFlags.VisualizeCalibrationGrayscale && Settings->VisualizeCalibrationGrayscaleMaterialPath.IsValid()));
}
void FEditorViewportClient::ChangeRayTracingDebugVisualizationMode(FName InName)
{
SetViewMode(VMI_RayTracingDebug);
CurrentRayTracingDebugVisualizationMode = InName;
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/SceneView.cpp:2420
Scope (from outer to inner):
file
function void FSceneView::ConfigureVisualizeCalibrationSettings
Source code excerpt:
ConfigureCalibrationSettings(Settings->VisualizeCalibrationColorMaterialPath, FinalPostProcessSettings.VisualizeCalibrationColorMaterial, CurrentVisualizeCalibrationColorMaterialName);
}
else if (Family->EngineShowFlags.VisualizeCalibrationGrayscale)
{
ConfigureCalibrationSettings(Settings->VisualizeCalibrationGrayscaleMaterialPath, FinalPostProcessSettings.VisualizeCalibrationGrayscaleMaterial, CurrentVisualizeCalibrationGrayscaleMaterialName);
}
else if (Family->EngineShowFlags.VisualizeCalibrationCustom)
{
ConfigureCalibrationSettings(Settings->VisualizeCalibrationCustomMaterialPath, FinalPostProcessSettings.VisualizeCalibrationCustomMaterial, CurrentVisualizeCalibrationCustomMaterialName);
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Public/ShowFlags.h:262
Scope (from outer to inner):
file
function bool IsVisualizeCalibrationEnabled
Source code excerpt:
bool IsVisualizeCalibrationEnabled() const
{
return (VisualizeCalibrationColor || VisualizeCalibrationGrayscale || VisualizeCalibrationCustom);
}
// ---------------------------------------------------------
// The following methods are there for serialization, localization and in general to iterate and manipulate flags.
// ---------------------------------------------------------
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Public/ShowFlagsValues.inl:405
Scope: file
Source code excerpt:
SHOWFLAG_ALWAYS_ACCESSIBLE(VisualizeCalibrationColor, SFG_Developer, NSLOCTEXT("UnrealEd", "VisualizeCalibrationColorSF", "Visualize Calibration Color"))
/** Shows a full-screen calibration grayscale post process material defined in renderer config */
SHOWFLAG_ALWAYS_ACCESSIBLE(VisualizeCalibrationGrayscale, SFG_Developer, NSLOCTEXT("UnrealEd", "VisualizeCalibrationGrayscaleSF", "Visualize Calibration Grayscale"))
/** Shows a full-screen calibration custom post process material defined in renderer config */
SHOWFLAG_ALWAYS_ACCESSIBLE(VisualizeCalibrationCustom, SFG_Developer, NSLOCTEXT("UnrealEd", "VisualizeCalibrationCustomSF", "Visualize Calibration Custom"))
/** Visualise information about the post processes stacked on screen */
SHOWFLAG_FIXED_IN_SHIPPING(0, VisualizePostProcessStack, SFG_Visualize, NSLOCTEXT("UnrealEd", "VisualizePostProcessStackSF", "Visualize Post Process Stack"))
/** Draw in the main pass the primitives that would normally only contribute to runtime virtual textures. */
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/PostProcess/PostProcessVisualizeCalibrationMaterial.cpp:10
Scope (from outer to inner):
file
function static bool IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled
Source code excerpt:
static bool IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled(const FSceneView& View)
{
return View.Family->EngineShowFlags.VisualizeCalibrationGrayscale && View.CurrentVisualizeCalibrationGrayscaleMaterialName != NAME_None;
}
static bool IsPostProcessVisualizeCalibrationCustomMaterialEnabled(const FSceneView& View)
{
return View.Family->EngineShowFlags.VisualizeCalibrationCustom && View.CurrentVisualizeCalibrationCustomMaterialName != NAME_None;
}