Add GammaColorSpace to Graphics for simplicity

This commit is contained in:
Wojtek Figat
2026-01-12 18:49:10 +01:00
parent 827ad85651
commit 223d4f64eb
4 changed files with 12 additions and 4 deletions

View File

@@ -27,6 +27,7 @@ Quality Graphics::GlobalSDFQuality = Quality::High;
Quality Graphics::GIQuality = Quality::High;
bool Graphics::GICascadesBlending = false;
PostProcessSettings Graphics::PostProcessSettings;
bool Graphics::GammaColorSpace = true;
bool Graphics::SpreadWorkload = true;
bool Graphics::PostProcessing::ColorGradingVolumeLUT = true;
@@ -73,6 +74,7 @@ void GraphicsSettings::Apply()
Graphics::GICascadesBlending = GICascadesBlending;
Graphics::PostProcessSettings = ::PostProcessSettings();
Graphics::PostProcessSettings.BlendWith(PostProcessSettings, 1.0f);
Graphics::GammaColorSpace = GammaColorSpace;
#if !USE_EDITOR // OptionsModule handles fallback fonts in Editor
Font::FallbackFonts = FallbackFonts;
#endif

View File

@@ -78,6 +78,12 @@ public:
/// </summary>
API_FIELD() static PostProcessSettings PostProcessSettings;
/// <summary>
/// Enables Gamma color space workflow (instead of Linear). Gamma color space defines colors with an applied a gamma curve (sRGB) so they are perceptually linear.
/// This makes sense when the output of the rendering represent final color values that will be presented to a non-HDR screen.
/// </summary>
API_FIELD(ReadOnly) static bool GammaColorSpace;
public:
/// <summary>
/// Debug utility to toggle graphics workloads amortization over several frames by systems such as shadows mapping, global illumination or surface atlas. Can be used to test performance in the worst-case scenario (eg. camera-cut).