ShowFlag.VisualizeCalibrationColor

ShowFlag.VisualizeCalibrationColor

#Overview

name: ShowFlag.VisualizeCalibrationColor

This variable is created as a Console Variable (cvar).

It is referenced in 6 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of ShowFlag.VisualizeCalibrationColor is to enable the visualization of a full-screen calibration color 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 subsystem, particularly in the post-processing pipeline. It’s also referenced in the editor’s viewport client, indicating its use in development and debugging scenarios.

The value of this variable is set through the engine’s show flags system, which allows for runtime toggling of various visualization and debug features. It’s typically controlled via the engine’s user interface or programmatically in development scenarios.

Several other variables interact with VisualizeCalibrationColor:

  1. VisualizeCalibrationGrayscale and VisualizeCalibrationCustom: These are part of a group of calibration visualization options.
  2. VisualizeCalibrationColorMaterialPath: This variable holds the path to the material used for color calibration visualization.

Developers should be aware that:

  1. This flag is always accessible, even in shipping builds, as indicated by the SHOWFLAG_ALWAYS_ACCESSIBLE macro.
  2. It’s part of the SFG_Developer group, suggesting it’s primarily intended for development use.
  3. It’s used in conjunction with other calibration visualization options and should be managed accordingly.

Best practices when using this variable include:

  1. Use it primarily for development and debugging purposes, not in final production builds.
  2. Ensure the corresponding calibration color material is properly set up in the renderer configuration.
  3. Be aware of its performance impact, as it applies a full-screen post-process material.

Regarding the associated variable VisualizeCalibrationColor:

This appears to be the same variable, just referenced in different contexts. It’s used in similar ways across the codebase, particularly in the FEditorViewportClient and FSceneView classes. The purpose and usage considerations are the same as described above for ShowFlag.VisualizeCalibrationColor.

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Public/ShowFlagsValues.inl:403

Scope: file

Source code excerpt:

SHOWFLAG_FIXED_IN_SHIPPING(0, VisualizeLightFunctionAtlas, SFG_Visualize, NSLOCTEXT("UnrealEd", "VisualizeLightFunctionAtlasSF", "Visualize Light Function Atlas"))
/** Shows a full-screen calibration color post process material defined in renderer config  */
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"))

#Associated Variable and Callsites

This variable is associated with another variable named VisualizeCalibrationColor. They share the same value. See the following C++ source code.

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/EditorViewportClient.cpp:2831

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);

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/SceneView.cpp:2416

Scope (from outer to inner):

file
function     void FSceneView::ConfigureVisualizeCalibrationSettings

Source code excerpt:

	};

	if (Family->EngineShowFlags.VisualizeCalibrationColor)
	{
		ConfigureCalibrationSettings(Settings->VisualizeCalibrationColorMaterialPath, FinalPostProcessSettings.VisualizeCalibrationColorMaterial, CurrentVisualizeCalibrationColorMaterialName);
	}
	else if (Family->EngineShowFlags.VisualizeCalibrationGrayscale)
	{
		ConfigureCalibrationSettings(Settings->VisualizeCalibrationGrayscaleMaterialPath, FinalPostProcessSettings.VisualizeCalibrationGrayscaleMaterial, CurrentVisualizeCalibrationGrayscaleMaterialName);

#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:403

Scope: file

Source code excerpt:

SHOWFLAG_FIXED_IN_SHIPPING(0, VisualizeLightFunctionAtlas, SFG_Visualize, NSLOCTEXT("UnrealEd", "VisualizeLightFunctionAtlasSF", "Visualize Light Function Atlas"))
/** Shows a full-screen calibration color post process material defined in renderer config  */
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"))

#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/PostProcess/PostProcessVisualizeCalibrationMaterial.cpp:5

Scope (from outer to inner):

file
function     static bool IsPostProcessVisualizeCalibrationColorMaterialEnabled

Source code excerpt:

static bool IsPostProcessVisualizeCalibrationColorMaterialEnabled(const FSceneView& View)
{
	return View.Family->EngineShowFlags.VisualizeCalibrationColor && View.CurrentVisualizeCalibrationColorMaterialName != NAME_None;
}

static bool IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled(const FSceneView& View) 
{
	return View.Family->EngineShowFlags.VisualizeCalibrationGrayscale && View.CurrentVisualizeCalibrationGrayscaleMaterialName != NAME_None;
}