SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
Sleak::GraphicsConfig Struct Reference

#include <GraphicsConfig.hpp>

Public Member Functions

void ApplyShadows (Sleak::DirectionalLight &light) const
 Copies the shadow-related fields onto a directional light.

Static Public Member Functions

static GraphicsConfig Preset (GraphicsQuality q)
 Builds a config from a named quality preset.

Public Attributes

bool autoExposureEnabled = false
float autoExposureRadius = 0.7f
float autoExposureSpeed = 3.33f
bool bloomEnabled = true
bool desaturationEnabled = false
float desaturationFactor = 1.5f
float exposure = 1.0f
bool filmGrainEnabled = false
bool frustumCullingEnabled = true
bool fxaaEnabled = false
float fxaaSubpixel = 0.5f
float gamma = 2.2f
bool iblEnabled = false
float iblIntensity = 1.0f
bool lightShaftEnabled = false
float lightShaftMaxDist = 128.0f
uint32_t lightShaftSamples = 7
float lightShaftStrength = 1.0f
uint32_t maxOccluders = 192
float minLight = 0.0f
uint32_t msaaSamples = 1
uint32_t occlusionBufferHeight = 144
uint32_t occlusionBufferWidth = 256
bool occlusionCullingEnabled = true
bool pcssEnabled = true
float renderScale = 1.0f
float saturation = 1.0f
float shadowBias = 0.002f
float shadowCasterDistance = 96.0f
float shadowDistance = 160.0f
bool shadowEnabled = true
float shadowFrustumSize = 96.0f
uint32_t shadowMapResolution = 2048
float shadowStrength = 1.0f
float sharpenStrength = 0.0f
float skyHorizonFar = 1.5f
float skyHorizonNear = 1.0f
bool skyProceduralEnabled = false
float ssaoBias = 0.012f
bool ssaoEnabled = false
float ssaoPower = 2.5f
float ssaoRadius = 0.5f
bool ssrEnabled = false
bool taaEnabled = false
bool tonemapEnabled = false
float vibrance = 1.0f
bool vignetteEnabled = false
float vignetteStrength = 1.06f

Detailed Description

Data-driven render settings applied to a renderer in one shot via Application::ApplyGraphicsConfig(). Game owns and persists this.

Definition at line 18 of file GraphicsConfig.hpp.

Member Function Documentation

◆ ApplyShadows()

void Sleak::GraphicsConfig::ApplyShadows ( Sleak::DirectionalLight & light) const

Copies the shadow-related fields onto a directional light.

Pushes this config's shadow settings onto a directional light.

Definition at line 98 of file GraphicsConfig.cpp.

◆ Preset()

GraphicsConfig Sleak::GraphicsConfig::Preset ( GraphicsQuality q)
static

Builds a config from a named quality preset.

Builds a config with every render feature toggle set for a named quality tier.

Definition at line 8 of file GraphicsConfig.cpp.

Member Data Documentation

◆ autoExposureEnabled

bool Sleak::GraphicsConfig::autoExposureEnabled = false

Definition at line 79 of file GraphicsConfig.hpp.

◆ autoExposureRadius

float Sleak::GraphicsConfig::autoExposureRadius = 0.7f

Definition at line 80 of file GraphicsConfig.hpp.

◆ autoExposureSpeed

float Sleak::GraphicsConfig::autoExposureSpeed = 3.33f

Definition at line 81 of file GraphicsConfig.hpp.

◆ bloomEnabled

bool Sleak::GraphicsConfig::bloomEnabled = true

Definition at line 25 of file GraphicsConfig.hpp.

◆ desaturationEnabled

bool Sleak::GraphicsConfig::desaturationEnabled = false

Definition at line 85 of file GraphicsConfig.hpp.

◆ desaturationFactor

float Sleak::GraphicsConfig::desaturationFactor = 1.5f

Definition at line 86 of file GraphicsConfig.hpp.

◆ exposure

float Sleak::GraphicsConfig::exposure = 1.0f

Definition at line 51 of file GraphicsConfig.hpp.

◆ filmGrainEnabled

bool Sleak::GraphicsConfig::filmGrainEnabled = false

Definition at line 78 of file GraphicsConfig.hpp.

◆ frustumCullingEnabled

bool Sleak::GraphicsConfig::frustumCullingEnabled = true

Definition at line 40 of file GraphicsConfig.hpp.

◆ fxaaEnabled

bool Sleak::GraphicsConfig::fxaaEnabled = false

Definition at line 69 of file GraphicsConfig.hpp.

◆ fxaaSubpixel

float Sleak::GraphicsConfig::fxaaSubpixel = 0.5f

Definition at line 70 of file GraphicsConfig.hpp.

◆ gamma

float Sleak::GraphicsConfig::gamma = 2.2f

Definition at line 52 of file GraphicsConfig.hpp.

◆ iblEnabled

bool Sleak::GraphicsConfig::iblEnabled = false

Definition at line 26 of file GraphicsConfig.hpp.

◆ iblIntensity

float Sleak::GraphicsConfig::iblIntensity = 1.0f

Definition at line 27 of file GraphicsConfig.hpp.

◆ lightShaftEnabled

bool Sleak::GraphicsConfig::lightShaftEnabled = false

Definition at line 63 of file GraphicsConfig.hpp.

◆ lightShaftMaxDist

float Sleak::GraphicsConfig::lightShaftMaxDist = 128.0f

Definition at line 66 of file GraphicsConfig.hpp.

◆ lightShaftSamples

uint32_t Sleak::GraphicsConfig::lightShaftSamples = 7

Definition at line 65 of file GraphicsConfig.hpp.

◆ lightShaftStrength

float Sleak::GraphicsConfig::lightShaftStrength = 1.0f

Definition at line 64 of file GraphicsConfig.hpp.

◆ maxOccluders

uint32_t Sleak::GraphicsConfig::maxOccluders = 192

Definition at line 44 of file GraphicsConfig.hpp.

◆ minLight

float Sleak::GraphicsConfig::minLight = 0.0f

Definition at line 84 of file GraphicsConfig.hpp.

◆ msaaSamples

uint32_t Sleak::GraphicsConfig::msaaSamples = 1

Definition at line 47 of file GraphicsConfig.hpp.

◆ occlusionBufferHeight

uint32_t Sleak::GraphicsConfig::occlusionBufferHeight = 144

Definition at line 43 of file GraphicsConfig.hpp.

◆ occlusionBufferWidth

uint32_t Sleak::GraphicsConfig::occlusionBufferWidth = 256

Definition at line 42 of file GraphicsConfig.hpp.

◆ occlusionCullingEnabled

bool Sleak::GraphicsConfig::occlusionCullingEnabled = true

Definition at line 41 of file GraphicsConfig.hpp.

◆ pcssEnabled

bool Sleak::GraphicsConfig::pcssEnabled = true

Definition at line 55 of file GraphicsConfig.hpp.

◆ renderScale

float Sleak::GraphicsConfig::renderScale = 1.0f

Definition at line 89 of file GraphicsConfig.hpp.

◆ saturation

float Sleak::GraphicsConfig::saturation = 1.0f

Definition at line 74 of file GraphicsConfig.hpp.

◆ shadowBias

float Sleak::GraphicsConfig::shadowBias = 0.002f

Definition at line 36 of file GraphicsConfig.hpp.

◆ shadowCasterDistance

float Sleak::GraphicsConfig::shadowCasterDistance = 96.0f

Definition at line 35 of file GraphicsConfig.hpp.

◆ shadowDistance

float Sleak::GraphicsConfig::shadowDistance = 160.0f

Definition at line 33 of file GraphicsConfig.hpp.

◆ shadowEnabled

bool Sleak::GraphicsConfig::shadowEnabled = true

Definition at line 31 of file GraphicsConfig.hpp.

◆ shadowFrustumSize

float Sleak::GraphicsConfig::shadowFrustumSize = 96.0f

Definition at line 34 of file GraphicsConfig.hpp.

◆ shadowMapResolution

uint32_t Sleak::GraphicsConfig::shadowMapResolution = 2048

Definition at line 32 of file GraphicsConfig.hpp.

◆ shadowStrength

float Sleak::GraphicsConfig::shadowStrength = 1.0f

Definition at line 37 of file GraphicsConfig.hpp.

◆ sharpenStrength

float Sleak::GraphicsConfig::sharpenStrength = 0.0f

Definition at line 71 of file GraphicsConfig.hpp.

◆ skyHorizonFar

float Sleak::GraphicsConfig::skyHorizonFar = 1.5f

Definition at line 60 of file GraphicsConfig.hpp.

◆ skyHorizonNear

float Sleak::GraphicsConfig::skyHorizonNear = 1.0f

Definition at line 59 of file GraphicsConfig.hpp.

◆ skyProceduralEnabled

bool Sleak::GraphicsConfig::skyProceduralEnabled = false

Definition at line 58 of file GraphicsConfig.hpp.

◆ ssaoBias

float Sleak::GraphicsConfig::ssaoBias = 0.012f

Definition at line 22 of file GraphicsConfig.hpp.

◆ ssaoEnabled

bool Sleak::GraphicsConfig::ssaoEnabled = false

Definition at line 20 of file GraphicsConfig.hpp.

◆ ssaoPower

float Sleak::GraphicsConfig::ssaoPower = 2.5f

Definition at line 23 of file GraphicsConfig.hpp.

◆ ssaoRadius

float Sleak::GraphicsConfig::ssaoRadius = 0.5f

Definition at line 21 of file GraphicsConfig.hpp.

◆ ssrEnabled

bool Sleak::GraphicsConfig::ssrEnabled = false

Definition at line 24 of file GraphicsConfig.hpp.

◆ taaEnabled

bool Sleak::GraphicsConfig::taaEnabled = false

Definition at line 28 of file GraphicsConfig.hpp.

◆ tonemapEnabled

bool Sleak::GraphicsConfig::tonemapEnabled = false

Definition at line 50 of file GraphicsConfig.hpp.

◆ vibrance

float Sleak::GraphicsConfig::vibrance = 1.0f

Definition at line 75 of file GraphicsConfig.hpp.

◆ vignetteEnabled

bool Sleak::GraphicsConfig::vignetteEnabled = false

Definition at line 76 of file GraphicsConfig.hpp.

◆ vignetteStrength

float Sleak::GraphicsConfig::vignetteStrength = 1.06f

Definition at line 77 of file GraphicsConfig.hpp.