VisualizeCalibrationGrayscaleMaterialPath

VisualizeCalibrationGrayscaleMaterialPath

#Overview

name: VisualizeCalibrationGrayscaleMaterialPath

The value of this variable can be defined or overridden in .ini config files. 1 .ini config file referencing this setting variable.

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of VisualizeCalibrationGrayscaleMaterialPath is to specify the path to a post-process material used for grayscale calibration visualization in the Unreal Engine rendering system.

This setting variable is primarily used by the rendering system in Unreal Engine. It is referenced in the Editor (UnrealEd module) and the core Engine module, specifically in viewport-related functionality and scene view configuration.

The value of this variable is set in the URendererSettings class, which is derived from UDeveloperSettings. This suggests that it can be configured through the project settings in the Unreal Engine editor.

VisualizeCalibrationGrayscaleMaterialPath interacts with the EngineShowFlags.VisualizeCalibrationGrayscale flag. When this flag is enabled, the material specified by VisualizeCalibrationGrayscaleMaterialPath is used for rendering the calibration visualization.

Developers must be aware that:

  1. The post-process material’s Blendable Location property must be set to “After Tonemapping” for proper calibration display.
  2. This setting is used in conjunction with the VisualizeCalibrationGrayscale show flag.
  3. It’s part of a set of calibration visualization options, including color and custom visualizations.

Best practices when using this variable include:

  1. Ensure the specified material path is valid and points to an appropriate post-process material.
  2. Set up the material correctly with the Blendable Location property as “After Tonemapping”.
  3. Use this in combination with the VisualizeCalibrationGrayscale show flag for proper functionality.
  4. Consider the impact on performance when enabling this visualization, especially in production builds.
  5. Coordinate with the graphics team to ensure the calibration material meets the project’s specific needs.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEngine.ini:1625, section: [/Script/Engine.RendererSettings]

#References in C++ code

#Callsites

This variable is referenced in 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/Classes/Engine/RendererSettings.h:1320

Scope (from outer to inner):

file
class        class URendererSettings : public UDeveloperSettings

Source code excerpt:

		ToolTip = "When the VisualizeCalibrationGrayscale show flag is enabled, this path will be used as the post-process material to render. The post-process material's Blendable Location property must be set to \"After Tonemapping\" for proper calibration display.",
		ConfigRestartRequired = false))
		FSoftObjectPath VisualizeCalibrationGrayscaleMaterialPath;

public:

	//~ Begin UObject Interface

	ENGINE_API virtual void PostInitProperties() override;

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

Scope (from outer to inner):

file
function     void FSceneView::ConfigureVisualizeCalibrationSettings

Source code excerpt:

	else if (Family->EngineShowFlags.VisualizeCalibrationGrayscale)
	{
		ConfigureCalibrationSettings(Settings->VisualizeCalibrationGrayscaleMaterialPath, FinalPostProcessSettings.VisualizeCalibrationGrayscaleMaterial, CurrentVisualizeCalibrationGrayscaleMaterialName);
	}
	else if (Family->EngineShowFlags.VisualizeCalibrationCustom)
	{
		ConfigureCalibrationSettings(Settings->VisualizeCalibrationCustomMaterialPath, FinalPostProcessSettings.VisualizeCalibrationCustomMaterial, CurrentVisualizeCalibrationCustomMaterialName);
	}
}