r.Lumen.ScreenProbeGather.TileDebugMode

r.Lumen.ScreenProbeGather.TileDebugMode

#Overview

name: r.Lumen.ScreenProbeGather.TileDebugMode

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

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of r.Lumen.ScreenProbeGather.TileDebugMode is to enable the display of Lumen screen probe tile classification for debugging purposes. This setting variable is part of the Lumen lighting system in Unreal Engine 5, specifically focusing on the screen probe gather process.

Key points:

  1. Unreal Engine subsystem: This variable is used in the Lumen lighting system, which is part of the rendering subsystem.

  2. Module: It is implemented in the Renderer module, as evidenced by its location in the “Renderer/Private/Lumen” directory.

  3. Value setting: The value is set through a console variable, allowing runtime modification. It’s initialized to 0 by default.

  4. Associated variable: It’s directly associated with GLumenScreenProbeTileDebugMode, an integer variable that holds the actual value.

  5. Usage: When GLumenScreenProbeTileDebugMode is greater than 0, it triggers a debug pass (AddLumenScreenProbeDebugPass) that visualizes the screen probe tile classification.

  6. Developer awareness:

    • This is a debugging tool and should be used only when investigating issues or optimizing the Lumen screen probe system.
    • Enabling this mode may have performance implications, as it adds an additional debug pass to the rendering pipeline.
  7. Best practices:

    • Use this variable only during development and debugging.
    • Ensure it’s set to 0 in release builds to avoid unnecessary performance overhead.
    • When enabled, combine it with other Lumen debugging tools for comprehensive analysis.

Regarding the associated variable GLumenScreenProbeTileDebugMode:

Developers should use these variables judiciously, as they can impact performance when enabled. They are valuable tools for understanding and optimizing the Lumen screen probe gather process, but should be disabled in production builds.

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/Lumen/LumenScreenProbeGather.cpp:322

Scope: file

Source code excerpt:

int32 GLumenScreenProbeTileDebugMode = 0;
FAutoConsoleVariableRef GVarLumenScreenProbeTileDebugMode(
	TEXT("r.Lumen.ScreenProbeGather.TileDebugMode"),
	GLumenScreenProbeTileDebugMode,
	TEXT("Display Lumen screen probe tile classification."),
	ECVF_Scalability | ECVF_RenderThreadSafe
);

namespace LumenScreenProbeGather 

#Associated Variable and Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/Lumen/LumenScreenProbeGather.cpp:320

Scope: file

Source code excerpt:

);

int32 GLumenScreenProbeTileDebugMode = 0;
FAutoConsoleVariableRef GVarLumenScreenProbeTileDebugMode(
	TEXT("r.Lumen.ScreenProbeGather.TileDebugMode"),
	GLumenScreenProbeTileDebugMode,
	TEXT("Display Lumen screen probe tile classification."),
	ECVF_Scalability | ECVF_RenderThreadSafe
);

namespace LumenScreenProbeGather 
{

#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/Lumen/LumenScreenProbeGather.cpp:1300

Scope (from outer to inner):

file
function     void InterpolateAndIntegrate

Source code excerpt:


		// Debug pass
		if (GLumenScreenProbeTileDebugMode > 0)
		{
			AddLumenScreenProbeDebugPass(GraphBuilder, View, ViewportIntegrateTileDimensions, TileClassificationBufferDimensions, IntegrateTileData, IntegrateIndirectArgs);
		}
	}
	else // No tile classification
	{