LightingOnlyBrightness
LightingOnlyBrightness
#Overview
name: LightingOnlyBrightness
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 9
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of LightingOnlyBrightness is to control the color and intensity of lighting in specific rendering modes within Unreal Engine 5. It is primarily used for visualization and debugging purposes in the rendering system.
This setting variable is utilized by several Unreal Engine subsystems and modules, including:
- The core rendering system
- The MovieRenderPipeline plugin
- The nDisplay plugin
- The UnrealEd module (for editor viewport rendering)
- The static lighting system
The value of this variable is set as a global config property in the UEngine class, as seen in the Engine.h file. It is of type FLinearColor, which means it contains red, green, and blue components.
LightingOnlyBrightness interacts with other variables and flags, particularly:
- EngineShowFlags.OverrideDiffuseAndSpecular
- EngineShowFlags.LightingOnlyOverride
- EngineShowFlags.ReflectionOverride
These flags determine when and how the LightingOnlyBrightness value is applied to the rendering process.
Developers should be aware that:
- This variable affects multiple rendering modes, including lighting-only, diffuse and specular overrides, and volumetric lightmap visualization.
- Changes to this variable will impact the appearance of scenes when using these specific rendering modes.
- It’s primarily used for debugging and visualization purposes, not for final rendering quality.
Best practices when using this variable include:
- Use it judiciously and mainly for debugging or specific visualization needs.
- Be aware of its impact on different rendering modes and adjust accordingly.
- Remember to reset it to default values when not needed to avoid unintended effects on other parts of the rendering pipeline.
- Consider the interaction with other rendering flags and settings when modifying this value.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:202, section: [/Script/Engine.Engine]
- INI Section:
/Script/Engine.Engine
- Raw value:
(R=0.3,G=0.3,B=0.3,A=1.0)
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/MovieScene/MovieRenderPipeline/Source/MovieRenderPipelineRenderPasses/Private/MoviePipelineImagePassBase.cpp:419
Scope (from outer to inner):
file
function void UMoviePipelineImagePassBase::SetupViewForViewModeOverride
Source code excerpt:
else if (View->Family->EngineShowFlags.OverrideDiffuseAndSpecular)
{
View->DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View->SpecularOverrideParameter = FVector4f(.1f, .1f, .1f, 0.0f);
}
else if (View->Family->EngineShowFlags.LightingOnlyOverride)
{
View->DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View->SpecularOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
}
else if (View->Family->EngineShowFlags.ReflectionOverride)
{
View->DiffuseOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
View->SpecularOverrideParameter = FVector4f(1, 1, 1, 0.0f);
#Loc: <Workspace>/Engine/Plugins/Runtime/nDisplay/Source/DisplayCluster/Private/Game/EngineClasses/Basics/DisplayClusterViewportClient.cpp:606
Scope (from outer to inner):
file
function void UDisplayClusterViewportClient::Draw
Source code excerpt:
else if (View->Family->EngineShowFlags.OverrideDiffuseAndSpecular)
{
View->DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View->SpecularOverrideParameter = FVector4f(.1f, .1f, .1f, 0.0f);
}
else if (View->Family->EngineShowFlags.LightingOnlyOverride)
{
View->DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View->SpecularOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
}
else if (View->Family->EngineShowFlags.ReflectionOverride)
{
View->DiffuseOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
View->SpecularOverrideParameter = FVector4f(1, 1, 1, 0.0f);
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/EditorViewportClient.cpp:4028
Scope (from outer to inner):
file
function void FEditorViewportClient::SetupViewForRendering
Source code excerpt:
else if (ViewFamily.EngineShowFlags.OverrideDiffuseAndSpecular)
{
View.DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View.SpecularOverrideParameter = FVector4f(.1f, .1f, .1f, 0.0f);
}
else if (ViewFamily.EngineShowFlags.LightingOnlyOverride)
{
View.DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View.SpecularOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
}
else if (ViewFamily.EngineShowFlags.ReflectionOverride)
{
View.DiffuseOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
View.SpecularOverrideParameter = FVector4f(1, 1, 1, 0.0f);
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/StaticLightingSystem/StaticLightingDebug.cpp:626
Scope (from outer to inner):
file
function void DrawStaticLightingDebugInfo
Source code excerpt:
{
const FDebugVolumeLightingSample& CurrentSample = GDebugStaticLightingInfo.VolumeLightingSamples[SampleIndex];
PDI->DrawPoint(FVector4(CurrentSample.Position), CurrentSample.AverageIncidentRadiance * GEngine->LightingOnlyBrightness, 12.0f, SDPG_World);
}
for (int32 RayIndex = 0; RayIndex < GDebugStaticLightingInfo.PrecomputedVisibilityRays.Num(); RayIndex++)
{
const FDebugStaticLightingRay& CurrentRay = GDebugStaticLightingInfo.PrecomputedVisibilityRays[RayIndex];
const FColor RayColor = CurrentRay.bHit ? (CurrentRay.bPositive ? FColor(255,255,150) : FColor(150,150,150)) : FColor(50,50,255);
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/Engine/Engine.h:1188
Scope (from outer to inner):
file
class class UEngine : public UObject , public FExec
Source code excerpt:
/** Color used for the lighting only render mode */
UPROPERTY(globalconfig)
FLinearColor LightingOnlyBrightness;
/** The colors used to render shader complexity. */
UPROPERTY(globalconfig)
TArray<FLinearColor> ShaderComplexityColors;
/** The colors used to render quad complexity. */
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/GameViewportClient.cpp:1620
Scope (from outer to inner):
file
function void UGameViewportClient::Draw
Source code excerpt:
else if (View->Family->EngineShowFlags.OverrideDiffuseAndSpecular)
{
View->DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View->SpecularOverrideParameter = FVector4f(.1f, .1f, .1f, 0.0f);
}
else if (View->Family->EngineShowFlags.LightingOnlyOverride)
{
View->DiffuseOverrideParameter = FVector4f(GEngine->LightingOnlyBrightness.R, GEngine->LightingOnlyBrightness.G, GEngine->LightingOnlyBrightness.B, 0.0f);
View->SpecularOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
}
else if (View->Family->EngineShowFlags.ReflectionOverride)
{
View->DiffuseOverrideParameter = FVector4f(0.f, 0.f, 0.f, 0.f);
View->SpecularOverrideParameter = FVector4f(1, 1, 1, 0.0f);
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/PrimitiveDrawingUtils.cpp:1638
Scope (from outer to inner):
file
function void ApplyViewModeOverrides
Source code excerpt:
auto LightingOnlyMaterialInstance = new FColoredMaterialRenderProxy(
RenderProxy,
GEngine->LightingOnlyBrightness
);
Mesh.MaterialRenderProxy = LightingOnlyMaterialInstance;
Collector.RegisterOneFrameMaterialProxy(LightingOnlyMaterialInstance);
}
else
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/PrimitiveDrawingUtils.cpp:1649
Scope (from outer to inner):
file
function void ApplyViewModeOverrides
Source code excerpt:
auto LightingDensityMaterialInstance = new FLightingDensityMaterialRenderProxy(
RenderProxy,
GEngine->LightingOnlyBrightness,
LMResolution
);
Mesh.MaterialRenderProxy = LightingDensityMaterialInstance;
Collector.RegisterOneFrameMaterialProxy(LightingDensityMaterialInstance);
}
#Loc: <Workspace>/Engine/Source/Runtime/Renderer/Private/VisualizeVolumetricLightmap.cpp:137
Scope (from outer to inner):
file
function void FDeferredShadingSceneRenderer::VisualizeVolumetricLightmap
Source code excerpt:
if (!ViewFamily.EngineShowFlags.Materials)
{
DiffuseColorValue = FVector3f(GEngine->LightingOnlyBrightness);
}
PassParameters->Common.DiffuseColor = DiffuseColorValue;
}
TShaderMapRef<FVisualizeVolumetricLightmapVS> VertexShader(View.ShaderMap);
TShaderMapRef<FVisualizeVolumetricLightmapPS> PixelShader(View.ShaderMap);