UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LumenVisualize.cpp File Reference

Classes

class  FVisualizeLumenSceneCS
 
class  FVisualizeLumenSceneCursorDataCS
 
class  FVisualizeBitFieldFloatTexturePS
 
class  FVisualizeTracesVS
 
class  FVisualizeTracesPS
 
class  FVisualizeTracesCS
 
class  FVisualizeTracesVertexDeclaration
 

Namespaces

namespace  LumenVisualize
 

Functions

 IMPLEMENT_GLOBAL_SHADER (FVisualizeLumenSceneCS, "/Engine/Private/Lumen/LumenVisualize.usf", "VisualizeQuadsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeLumenSceneCursorDataCS, "/Engine/Private/Lumen/LumenVisualize.usf", "VisualizeCursorDataCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeBitFieldFloatTexturePS, "/Engine/Private/Lumen/LumenVisualize.usf", "VisualizeBitFieldFloatTexturePS", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeTracesVS, "/Engine/Private/Lumen/LumenVisualize.usf", "VisualizeTracesVS", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeTracesPS, "/Engine/Private/Lumen/LumenVisualize.usf", "VisualizeTracesPS", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeTracesCS, "/Engine/Private/Lumen/LumenVisualize.usf", "VisualizeTracesCS", SF_Compute)
 
FTonemappingParameters LumenVisualize::GetTonemappingParameters (FRDGBuilder &GraphBuilder, const FEngineShowFlags &ShowFlags, FRDGTextureRef ColorGradingTexture, FRDGBufferRef EyeAdaptationBuffer)
 
void RenderVisualizeTraces (FRDGBuilder &GraphBuilder, const FViewInfo &View, FRDGTextureRef ColorGradingTexture, FRDGBufferRef EyeAdaptationBuffer)
 
void RenderVisualizeTraces (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FMinimalSceneTextures &SceneTextures)
 
void GetVisualizeTileOutputView (const FIntRect &ViewRect, int32 TileIndex, FIntPoint &OutputViewOffset, FIntPoint &OutputViewSize)
 
void SetupVisualizeParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FIntRect &ViewRect, EReflectionsMethod ReflectionsMethod, FRDGTextureRef ColorGradingTexture, FRDGBufferRef EyeAdaptationBuffer, int32 VisualizeMode, int32 VisualizeTileIndex, FLumenVisualizeSceneSoftwareRayTracingParameters &VisualizeParameters)
 
LumenRadianceCache::FRadianceCacheInputs GetFinalGatherRadianceCacheInputsForVisualize (const FViewInfo &View)
 
void VisualizeLumenScene (const FScene *Scene, FRDGBuilder &GraphBuilder, const FEngineShowFlags &ShowFlags, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, FScreenPassTexture Output, FRDGTextureRef ColorGradingTexture, FRDGBufferRef EyeAdaptationBuffer, FSceneTextureShaderParameters SceneTextures, int32 VisualizeMode, int32 VisualizeTileIndex, EDiffuseIndirectMethod DiffuseIndirectMethod, EReflectionsMethod ReflectionsMethod)
 
int32 GetLumenVisualizeMode (const FViewInfo &View)
 
FScreenPassTexture AddVisualizeLumenScenePass (FRDGBuilder &GraphBuilder, const FViewInfo &View, EDiffuseIndirectMethod DiffuseIndirectMethod, EReflectionsMethod ReflectionsMethod, const FVisualizeLumenSceneInputs &Inputs, FLumenSceneFrameTemporaries &FrameTemporaries)
 
void AddBoxFaceTriangles (FDynamicMeshBuilder &MeshBuilder, int32 FaceIndex)
 
void DrawPrimitiveBounds (const FLumenPrimitiveGroup &PrimitiveGroup, FLinearColor BoundsColor, FViewElementPDI &ViewPDI)
 
void DrawSurfels (FSceneRenderingBulkObjectAllocator &Allocator, const TArray< FLumenCardBuildDebugData::FSurfel > &Surfels, const FMatrix &PrimitiveToWorld, FLumenCardBuildDebugData::ESurfelType SurfelType, FLinearColor SurfelColor, FViewElementPDI &ViewPDI, float SurfelRadius=2.0f)
 
void VisualizeRayTracingGroups (const FViewInfo &View, const FLumenSceneData &LumenSceneData, FViewElementPDI &ViewPDI)
 
void VisualizeCardPlacement (FSceneRenderingBulkObjectAllocator &Allocator, const FViewInfo &View, const FLumenSceneData &LumenSceneData, FViewElementPDI &ViewPDI)
 
void VisualizeCardGeneration (FSceneRenderingBulkObjectAllocator &Allocator, const FViewInfo &View, const FLumenSceneData &LumenSceneData, FViewElementPDI &ViewPDI)
 

Variables

int32 GLumenVisualize = 0
 
FAutoConsoleVariableRef CVarLumenVisualize (TEXT("r.Lumen.Visualize"), GLumenVisualize, TEXT("24 - ScreenProbeGather number of frames accumulated"), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenSceneGridPixelSize = 32
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneGridPixelSize (TEXT("r.Lumen.Visualize.GridPixelSize"), GVisualizeLumenSceneGridPixelSize, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GLumenVisualizeIndirectDiffuse = 0
 
FAutoConsoleVariableRef CVarLumenVisualizeIndirectDiffuse (TEXT("r.Lumen.Visualize.IndirectDiffuse"), GLumenVisualizeIndirectDiffuse, TEXT("Visualize Lumen Indirect Diffuse."), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenSceneTraceMeshSDFs = 1
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneTraceMeshSDFs (TEXT("r.Lumen.Visualize.TraceMeshSDFs"), GVisualizeLumenSceneTraceMeshSDFs, TEXT("Whether to use Mesh SDF tracing for lumen scene visualization."), ECVF_RenderThreadSafe)
 
float GVisualizeLumenSceneMaxMeshSDFTraceDistance = -1.0f
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardMaxTraceDistance (TEXT("r.Lumen.Visualize.MaxMeshSDFTraceDistance"), GVisualizeLumenSceneMaxMeshSDFTraceDistance, TEXT("Max trace distance for Lumen scene visualization rays. Values below 0 will automatically derrive this from cone angle."), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenSceneHiResSurface = 1
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneHiResSurface (TEXT("r.Lumen.Visualize.HiResSurface"), GVisualizeLumenSceneHiResSurface, TEXT("Whether visualization should sample highest available surface data or use lowest res always resident pages."), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenSceneTraceRadianceCache = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneTraceRadianceCache (TEXT("r.Lumen.Visualize.TraceRadianceCache"), GVisualizeLumenSceneTraceRadianceCache, TEXT("Whether to use radiance cache for Lumen scene visualization."), ECVF_RenderThreadSafe)
 
float GVisualizeLumenSceneConeAngle = 0.0f
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneConeAngle (TEXT("r.Lumen.Visualize.ConeAngle"), GVisualizeLumenSceneConeAngle, TEXT("Visualize cone angle, in degrees."), ECVF_RenderThreadSafe)
 
float GVisualizeLumenSceneConeStepFactor = 2.0f
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneConeStepFactor (TEXT("r.Lumen.Visualize.ConeStepFactor"), GVisualizeLumenSceneConeStepFactor, TEXT("Cone step scale on sphere radius step size."), ECVF_RenderThreadSafe)
 
float GVisualizeLumenSceneMinTraceDistance = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneMinTraceDistance (TEXT("r.Lumen.Visualize.MinTraceDistance"), GVisualizeLumenSceneMinTraceDistance, TEXT(""), ECVF_RenderThreadSafe)
 
float GVisualizeLumenSceneMaxTraceDistance = 100000
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneMaxTraceDistance (TEXT("r.Lumen.Visualize.MaxTraceDistance"), GVisualizeLumenSceneMaxTraceDistance, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardGenerationSurfels = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationSurfels (TEXT("r.Lumen.Visualize.CardGenerationSurfels"), GVisualizeLumenCardGenerationSurfels, TEXT(""), ECVF_RenderThreadSafe)
 
float GVisualizeLumenCardGenerationSurfelScale = 1.0f
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationSurfelScale (TEXT("r.Lumen.Visualize.CardGenerationSurfelScale"), GVisualizeLumenCardGenerationSurfelScale, TEXT(""), ECVF_RenderThreadSafe)
 
float GVisualizeLumenCardGenerationClusterScale = 1.0f
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationClusterScale (TEXT("r.Lumen.Visualize.CardGenerationClusterScale"), GVisualizeLumenCardGenerationClusterScale, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardGenerationCluster = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationCluster (TEXT("r.Lumen.Visualize.CardGenerationCluster"), GVisualizeLumenCardGenerationCluster, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardGenerationMaxSurfel = -1
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationMaxSurfel (TEXT("r.Lumen.Visualize.CardGenerationMaxSurfel"), GVisualizeLumenCardGenerationMaxSurfel, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardPlacement = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacement (TEXT("r.Lumen.Visualize.CardPlacement"), GVisualizeLumenCardPlacement, TEXT(""), ECVF_RenderThreadSafe)
 
float GVisualizeLumenCardPlacementDistance = 5000.0f
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementDistance (TEXT("r.Lumen.Visualize.CardPlacementDistance"), GVisualizeLumenCardPlacementDistance, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardPlacementLOD = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementLOD (TEXT("r.Lumen.Visualize.CardPlacementLOD"), GVisualizeLumenCardPlacementLOD, TEXT("4 - only far field\n"), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardPlacementPrimitives = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementPrimitives (TEXT("r.Lumen.Visualize.CardPlacementPrimitives"), GVisualizeLumenCardPlacementPrimitives, TEXT("Whether to visualize primitive bounding boxes.\n"), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenRayTracingGroups = 0
 
FAutoConsoleVariableRef CVarVisualizeLumenRayTracingGroups (TEXT("r.Lumen.Visualize.RayTracingGroups"), GVisualizeLumenRayTracingGroups, TEXT("2 - groups with a single instance"), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardPlacementIndex = -1
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementIndex (TEXT("r.Lumen.Visualize.CardPlacementIndex"), GVisualizeLumenCardPlacementIndex, TEXT("Visualize only a single card per mesh."), ECVF_RenderThreadSafe)
 
int32 GVisualizeLumenCardPlacementDirection = -1
 
FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementDirection (TEXT("r.Lumen.Visualize.CardPlacementDirection"), GVisualizeLumenCardPlacementDirection, TEXT("Visualize only a single card direction."), ECVF_RenderThreadSafe)
 
int32 GLumenSceneDumpStats = 0
 
FAutoConsoleVariableRef CVarLumenSceneDumpStats (TEXT("r.LumenScene.DumpStats"), GLumenSceneDumpStats, TEXT("4 - dump LumenScene objects"), ECVF_RenderThreadSafe)
 
float GVisualizeLumenSceneCardInterpolateInfluenceRadius = 10.0f
 
FAutoConsoleVariableRef CVarCardInterpolateInfluenceRadius (TEXT("r.Lumen.Visualize.CardInterpolateInfluenceRadius"), GVisualizeLumenSceneCardInterpolateInfluenceRadius, TEXT(""), ECVF_RenderThreadSafe)
 
TGlobalResource< FVisualizeTracesVertexDeclarationGVisualizeTracesVertexDeclaration
 

Function Documentation

◆ AddBoxFaceTriangles()

void AddBoxFaceTriangles ( FDynamicMeshBuilder MeshBuilder,
int32  FaceIndex 
)

◆ AddVisualizeLumenScenePass()

FScreenPassTexture AddVisualizeLumenScenePass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
EDiffuseIndirectMethod  DiffuseIndirectMethod,
EReflectionsMethod  ReflectionsMethod,
const FVisualizeLumenSceneInputs Inputs,
FLumenSceneFrameTemporaries FrameTemporaries 
)

◆ DrawPrimitiveBounds()

void DrawPrimitiveBounds ( const FLumenPrimitiveGroup PrimitiveGroup,
FLinearColor  BoundsColor,
FViewElementPDI ViewPDI 
)

◆ DrawSurfels()

void DrawSurfels ( FSceneRenderingBulkObjectAllocator Allocator,
const TArray< FLumenCardBuildDebugData::FSurfel > &  Surfels,
const FMatrix PrimitiveToWorld,
FLumenCardBuildDebugData::ESurfelType  SurfelType,
FLinearColor  SurfelColor,
FViewElementPDI ViewPDI,
float  SurfelRadius = 2.0f 
)

◆ GetFinalGatherRadianceCacheInputsForVisualize()

LumenRadianceCache::FRadianceCacheInputs GetFinalGatherRadianceCacheInputsForVisualize ( const FViewInfo View)

◆ GetLumenVisualizeMode()

int32 GetLumenVisualizeMode ( const FViewInfo View)

◆ GetVisualizeTileOutputView()

void GetVisualizeTileOutputView ( const FIntRect ViewRect,
int32  TileIndex,
FIntPoint OutputViewOffset,
FIntPoint OutputViewSize 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/6]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeBitFieldFloatTexturePS  ,
"/Engine/Private/Lumen/LumenVisualize.usf"  ,
"VisualizeBitFieldFloatTexturePS"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/6]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeLumenSceneCS  ,
"/Engine/Private/Lumen/LumenVisualize.usf"  ,
"VisualizeQuadsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/6]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeLumenSceneCursorDataCS  ,
"/Engine/Private/Lumen/LumenVisualize.usf"  ,
"VisualizeCursorDataCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/6]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeTracesCS  ,
"/Engine/Private/Lumen/LumenVisualize.usf"  ,
"VisualizeTracesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/6]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeTracesPS  ,
"/Engine/Private/Lumen/LumenVisualize.usf"  ,
"VisualizeTracesPS"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/6]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeTracesVS  ,
"/Engine/Private/Lumen/LumenVisualize.usf"  ,
"VisualizeTracesVS"  ,
SF_Vertex   
)

◆ RenderVisualizeTraces() [1/2]

void RenderVisualizeTraces ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FMinimalSceneTextures SceneTextures 
)

◆ RenderVisualizeTraces() [2/2]

void RenderVisualizeTraces ( FRDGBuilder GraphBuilder,
const FViewInfo View,
FRDGTextureRef  ColorGradingTexture,
FRDGBufferRef  EyeAdaptationBuffer 
)

Render gathered traces using ShaderPrint line rendering.

◆ SetupVisualizeParameters()

void SetupVisualizeParameters ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FIntRect ViewRect,
EReflectionsMethod  ReflectionsMethod,
FRDGTextureRef  ColorGradingTexture,
FRDGBufferRef  EyeAdaptationBuffer,
int32  VisualizeMode,
int32  VisualizeTileIndex,
FLumenVisualizeSceneSoftwareRayTracingParameters VisualizeParameters 
)

◆ VisualizeCardGeneration()

void VisualizeCardGeneration ( FSceneRenderingBulkObjectAllocator Allocator,
const FViewInfo View,
const FLumenSceneData LumenSceneData,
FViewElementPDI ViewPDI 
)

◆ VisualizeCardPlacement()

void VisualizeCardPlacement ( FSceneRenderingBulkObjectAllocator Allocator,
const FViewInfo View,
const FLumenSceneData LumenSceneData,
FViewElementPDI ViewPDI 
)

◆ VisualizeLumenScene()

void VisualizeLumenScene ( const FScene Scene,
FRDGBuilder GraphBuilder,
const FEngineShowFlags ShowFlags,
const FViewInfo View,
const FLumenSceneFrameTemporaries FrameTemporaries,
FScreenPassTexture  Output,
FRDGTextureRef  ColorGradingTexture,
FRDGBufferRef  EyeAdaptationBuffer,
FSceneTextureShaderParameters  SceneTextures,
int32  VisualizeMode,
int32  VisualizeTileIndex,
EDiffuseIndirectMethod  DiffuseIndirectMethod,
EReflectionsMethod  ReflectionsMethod 
)

◆ VisualizeRayTracingGroups()

void VisualizeRayTracingGroups ( const FViewInfo View,
const FLumenSceneData LumenSceneData,
FViewElementPDI ViewPDI 
)

Variable Documentation

◆ CVarCardInterpolateInfluenceRadius

FAutoConsoleVariableRef CVarCardInterpolateInfluenceRadius(TEXT("r.Lumen.Visualize.CardInterpolateInfluenceRadius"), GVisualizeLumenSceneCardInterpolateInfluenceRadius, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardInterpolateInfluenceRadius")  ,
GVisualizeLumenSceneCardInterpolateInfluenceRadius  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarLumenSceneDumpStats

FAutoConsoleVariableRef CVarLumenSceneDumpStats(TEXT("r.LumenScene.DumpStats"), GLumenSceneDumpStats, TEXT("4 - dump LumenScene objects"), ECVF_RenderThreadSafe) ( TEXT("r.LumenScene.DumpStats")  ,
GLumenSceneDumpStats  ,
TEXT("4 - dump LumenScene objects" ,
ECVF_RenderThreadSafe   
)

◆ CVarLumenVisualize

FAutoConsoleVariableRef CVarLumenVisualize(TEXT("r.Lumen.Visualize"), GLumenVisualize, TEXT("24 - ScreenProbeGather number of frames accumulated"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize")  ,
GLumenVisualize  ,
TEXT("24 - ScreenProbeGather number of frames accumulated" ,
ECVF_RenderThreadSafe   
)

◆ CVarLumenVisualizeIndirectDiffuse

FAutoConsoleVariableRef CVarLumenVisualizeIndirectDiffuse(TEXT("r.Lumen.Visualize.IndirectDiffuse"), GLumenVisualizeIndirectDiffuse, TEXT("Visualize Lumen Indirect Diffuse."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.IndirectDiffuse")  ,
GLumenVisualizeIndirectDiffuse  ,
TEXT("Visualize Lumen Indirect Diffuse." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenRayTracingGroups

FAutoConsoleVariableRef CVarVisualizeLumenRayTracingGroups(TEXT("r.Lumen.Visualize.RayTracingGroups"), GVisualizeLumenRayTracingGroups, TEXT("2 - groups with a single instance"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.RayTracingGroups")  ,
GVisualizeLumenRayTracingGroups  ,
TEXT("2 - groups with a single instance" ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardGenerationCluster

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationCluster(TEXT("r.Lumen.Visualize.CardGenerationCluster"), GVisualizeLumenCardGenerationCluster, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardGenerationCluster")  ,
GVisualizeLumenCardGenerationCluster  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardGenerationClusterScale

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationClusterScale(TEXT("r.Lumen.Visualize.CardGenerationClusterScale"), GVisualizeLumenCardGenerationClusterScale, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardGenerationClusterScale")  ,
GVisualizeLumenCardGenerationClusterScale  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardGenerationMaxSurfel

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationMaxSurfel(TEXT("r.Lumen.Visualize.CardGenerationMaxSurfel"), GVisualizeLumenCardGenerationMaxSurfel, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardGenerationMaxSurfel")  ,
GVisualizeLumenCardGenerationMaxSurfel  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardGenerationSurfels

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationSurfels(TEXT("r.Lumen.Visualize.CardGenerationSurfels"), GVisualizeLumenCardGenerationSurfels, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardGenerationSurfels")  ,
GVisualizeLumenCardGenerationSurfels  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardGenerationSurfelScale

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardGenerationSurfelScale(TEXT("r.Lumen.Visualize.CardGenerationSurfelScale"), GVisualizeLumenCardGenerationSurfelScale, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardGenerationSurfelScale")  ,
GVisualizeLumenCardGenerationSurfelScale  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardMaxTraceDistance

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardMaxTraceDistance(TEXT("r.Lumen.Visualize.MaxMeshSDFTraceDistance"), GVisualizeLumenSceneMaxMeshSDFTraceDistance, TEXT("Max trace distance for Lumen scene visualization rays. Values below 0 will automatically derrive this from cone angle."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.MaxMeshSDFTraceDistance")  ,
GVisualizeLumenSceneMaxMeshSDFTraceDistance  ,
TEXT("Max trace distance for Lumen scene visualization rays. Values below 0 will automatically derrive this from cone angle." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardPlacement

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacement(TEXT("r.Lumen.Visualize.CardPlacement"), GVisualizeLumenCardPlacement, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardPlacement")  ,
GVisualizeLumenCardPlacement  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardPlacementDirection

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementDirection(TEXT("r.Lumen.Visualize.CardPlacementDirection"), GVisualizeLumenCardPlacementDirection, TEXT("Visualize only a single card direction."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardPlacementDirection")  ,
GVisualizeLumenCardPlacementDirection  ,
TEXT("Visualize only a single card direction." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardPlacementDistance

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementDistance(TEXT("r.Lumen.Visualize.CardPlacementDistance"), GVisualizeLumenCardPlacementDistance, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardPlacementDistance")  ,
GVisualizeLumenCardPlacementDistance  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardPlacementIndex

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementIndex(TEXT("r.Lumen.Visualize.CardPlacementIndex"), GVisualizeLumenCardPlacementIndex, TEXT("Visualize only a single card per mesh."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardPlacementIndex")  ,
GVisualizeLumenCardPlacementIndex  ,
TEXT("Visualize only a single card per mesh." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardPlacementLOD

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementLOD(TEXT("r.Lumen.Visualize.CardPlacementLOD"), GVisualizeLumenCardPlacementLOD, TEXT("4 - only far field\n"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardPlacementLOD")  ,
GVisualizeLumenCardPlacementLOD  ,
TEXT("4 - only far field\n" ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneCardPlacementPrimitives

FAutoConsoleVariableRef CVarVisualizeLumenSceneCardPlacementPrimitives(TEXT("r.Lumen.Visualize.CardPlacementPrimitives"), GVisualizeLumenCardPlacementPrimitives, TEXT("Whether to visualize primitive bounding boxes.\n"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.CardPlacementPrimitives")  ,
GVisualizeLumenCardPlacementPrimitives  ,
TEXT("Whether to visualize primitive bounding boxes.\n" ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneConeAngle

FAutoConsoleVariableRef CVarVisualizeLumenSceneConeAngle(TEXT("r.Lumen.Visualize.ConeAngle"), GVisualizeLumenSceneConeAngle, TEXT("Visualize cone angle, in degrees."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.ConeAngle")  ,
GVisualizeLumenSceneConeAngle  ,
TEXT("Visualize cone angle, in degrees." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneConeStepFactor

FAutoConsoleVariableRef CVarVisualizeLumenSceneConeStepFactor(TEXT("r.Lumen.Visualize.ConeStepFactor"), GVisualizeLumenSceneConeStepFactor, TEXT("Cone step scale on sphere radius step size."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.ConeStepFactor")  ,
GVisualizeLumenSceneConeStepFactor  ,
TEXT("Cone step scale on sphere radius step size." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneGridPixelSize

FAutoConsoleVariableRef CVarVisualizeLumenSceneGridPixelSize(TEXT("r.Lumen.Visualize.GridPixelSize"), GVisualizeLumenSceneGridPixelSize, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.GridPixelSize")  ,
GVisualizeLumenSceneGridPixelSize  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneHiResSurface

FAutoConsoleVariableRef CVarVisualizeLumenSceneHiResSurface(TEXT("r.Lumen.Visualize.HiResSurface"), GVisualizeLumenSceneHiResSurface, TEXT("Whether visualization should sample highest available surface data or use lowest res always resident pages."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.HiResSurface")  ,
GVisualizeLumenSceneHiResSurface  ,
TEXT("Whether visualization should sample highest available surface data or use lowest res always resident pages." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneMaxTraceDistance

FAutoConsoleVariableRef CVarVisualizeLumenSceneMaxTraceDistance(TEXT("r.Lumen.Visualize.MaxTraceDistance"), GVisualizeLumenSceneMaxTraceDistance, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.MaxTraceDistance")  ,
GVisualizeLumenSceneMaxTraceDistance  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneMinTraceDistance

FAutoConsoleVariableRef CVarVisualizeLumenSceneMinTraceDistance(TEXT("r.Lumen.Visualize.MinTraceDistance"), GVisualizeLumenSceneMinTraceDistance, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.MinTraceDistance")  ,
GVisualizeLumenSceneMinTraceDistance  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneTraceMeshSDFs

FAutoConsoleVariableRef CVarVisualizeLumenSceneTraceMeshSDFs(TEXT("r.Lumen.Visualize.TraceMeshSDFs"), GVisualizeLumenSceneTraceMeshSDFs, TEXT("Whether to use Mesh SDF tracing for lumen scene visualization."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.TraceMeshSDFs")  ,
GVisualizeLumenSceneTraceMeshSDFs  ,
TEXT("Whether to use Mesh SDF tracing for lumen scene visualization." ,
ECVF_RenderThreadSafe   
)

◆ CVarVisualizeLumenSceneTraceRadianceCache

FAutoConsoleVariableRef CVarVisualizeLumenSceneTraceRadianceCache(TEXT("r.Lumen.Visualize.TraceRadianceCache"), GVisualizeLumenSceneTraceRadianceCache, TEXT("Whether to use radiance cache for Lumen scene visualization."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Visualize.TraceRadianceCache")  ,
GVisualizeLumenSceneTraceRadianceCache  ,
TEXT("Whether to use radiance cache for Lumen scene visualization." ,
ECVF_RenderThreadSafe   
)

◆ GLumenSceneDumpStats

int32 GLumenSceneDumpStats = 0

◆ GLumenVisualize

int32 GLumenVisualize = 0

◆ GLumenVisualizeIndirectDiffuse

int32 GLumenVisualizeIndirectDiffuse = 0

◆ GVisualizeLumenCardGenerationCluster

int32 GVisualizeLumenCardGenerationCluster = 0

◆ GVisualizeLumenCardGenerationClusterScale

float GVisualizeLumenCardGenerationClusterScale = 1.0f

◆ GVisualizeLumenCardGenerationMaxSurfel

int32 GVisualizeLumenCardGenerationMaxSurfel = -1

◆ GVisualizeLumenCardGenerationSurfels

int32 GVisualizeLumenCardGenerationSurfels = 0

◆ GVisualizeLumenCardGenerationSurfelScale

float GVisualizeLumenCardGenerationSurfelScale = 1.0f

◆ GVisualizeLumenCardPlacement

int32 GVisualizeLumenCardPlacement = 0

◆ GVisualizeLumenCardPlacementDirection

int32 GVisualizeLumenCardPlacementDirection = -1

◆ GVisualizeLumenCardPlacementDistance

float GVisualizeLumenCardPlacementDistance = 5000.0f

◆ GVisualizeLumenCardPlacementIndex

int32 GVisualizeLumenCardPlacementIndex = -1

◆ GVisualizeLumenCardPlacementLOD

int32 GVisualizeLumenCardPlacementLOD = 0

◆ GVisualizeLumenCardPlacementPrimitives

int32 GVisualizeLumenCardPlacementPrimitives = 0

◆ GVisualizeLumenRayTracingGroups

int32 GVisualizeLumenRayTracingGroups = 0

◆ GVisualizeLumenSceneCardInterpolateInfluenceRadius

float GVisualizeLumenSceneCardInterpolateInfluenceRadius = 10.0f

◆ GVisualizeLumenSceneConeAngle

float GVisualizeLumenSceneConeAngle = 0.0f

◆ GVisualizeLumenSceneConeStepFactor

float GVisualizeLumenSceneConeStepFactor = 2.0f

◆ GVisualizeLumenSceneGridPixelSize

int32 GVisualizeLumenSceneGridPixelSize = 32

◆ GVisualizeLumenSceneHiResSurface

int32 GVisualizeLumenSceneHiResSurface = 1

◆ GVisualizeLumenSceneMaxMeshSDFTraceDistance

float GVisualizeLumenSceneMaxMeshSDFTraceDistance = -1.0f

◆ GVisualizeLumenSceneMaxTraceDistance

float GVisualizeLumenSceneMaxTraceDistance = 100000

◆ GVisualizeLumenSceneMinTraceDistance

float GVisualizeLumenSceneMinTraceDistance = 0

◆ GVisualizeLumenSceneTraceMeshSDFs

int32 GVisualizeLumenSceneTraceMeshSDFs = 1

◆ GVisualizeLumenSceneTraceRadianceCache

int32 GVisualizeLumenSceneTraceRadianceCache = 0

◆ GVisualizeTracesVertexDeclaration

TGlobalResource<FVisualizeTracesVertexDeclaration> GVisualizeTracesVertexDeclaration