From 8063579845b8bc99141a3a9e8880d31a697eacf2 Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Tue, 28 Jun 2022 19:44:23 +0300 Subject: [PATCH] r_gi command --- Source/Game/Console/EngineSubsystem.cs | 32 ++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/Source/Game/Console/EngineSubsystem.cs b/Source/Game/Console/EngineSubsystem.cs index 3ca2b1c..5efea83 100644 --- a/Source/Game/Console/EngineSubsystem.cs +++ b/Source/Game/Console/EngineSubsystem.cs @@ -211,13 +211,41 @@ namespace Game ? AmbientOcclusionSettingsOverride.Enabled : 0 & AmbientOcclusionSettingsOverride.Enabled); */ + aoSettings.Enabled = boolValue; postProcessSettings.AmbientOcclusion = aoSettings; + + GlobalIlluminationSettings giSettings = postProcessSettings.GlobalIllumination; + giSettings.Mode = boolValue ? GlobalIlluminationMode.DDGI : GlobalIlluminationMode.None; + postProcessSettings.GlobalIllumination = giSettings; + Graphics.PostProcessSettings = postProcessSettings; + //Graphics.EnableGlobalSDF = boolValue; + } + } - // TODO: disable GI - Graphics.EnableGlobalSDF = boolValue; + [ConsoleVariable("r_gi")] + public static string GlobalIllumination + { + get + { + return Graphics.PostProcessSettings.GlobalIllumination.Mode == GlobalIlluminationMode.DDGI ? "1" : "0"; + } + set + { + bool boolValue = false; + if (int.TryParse(value, out int intValue)) + boolValue = intValue != 0; + else if (float.TryParse(value, out float valueFloat)) + boolValue = valueFloat != 0f; + + PostProcessSettings postProcessSettings = Graphics.PostProcessSettings; + GlobalIlluminationSettings giSettings = postProcessSettings.GlobalIllumination; + giSettings.Mode = boolValue ? GlobalIlluminationMode.DDGI : GlobalIlluminationMode.None; + postProcessSettings.GlobalIllumination = giSettings; + + Graphics.PostProcessSettings = postProcessSettings; } }