// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Scripting/ScriptingType.h" #include "PostProcessSettings.h" #include "Enums.h" /// /// Graphics device manager that creates, manages and releases graphics device and related objects. /// API_CLASS(Static) class FLAXENGINE_API Graphics { DECLARE_SCRIPTING_TYPE_NO_SPAWN(Graphics); public: /// /// Enables rendering synchronization with the refresh rate of the display device to avoid "tearing" artifacts. /// API_FIELD() static bool UseVSync; /// /// Anti Aliasing quality setting. /// API_FIELD() static Quality AAQuality; /// /// Screen Space Reflections quality setting. /// API_FIELD() static Quality SSRQuality; /// /// Screen Space Ambient Occlusion quality setting. /// API_FIELD() static Quality SSAOQuality; /// /// Volumetric Fog quality setting. /// API_FIELD() static Quality VolumetricFogQuality; /// /// The shadows quality. /// API_FIELD() static Quality ShadowsQuality; /// /// The shadow maps quality (textures resolution). /// API_FIELD() static Quality ShadowMapsQuality; /// /// Enables cascades splits blending for directional light shadows. /// API_FIELD() static bool AllowCSMBlending; /// /// The Global SDF quality. Controls the volume texture resolution and amount of cascades to use. /// API_FIELD() static Quality GlobalSDFQuality; /// /// The Global Illumination quality. Controls the quality of the GI effect. /// API_FIELD() static Quality GIQuality; /// /// The default Post Process settings. Can be overriden by PostFxVolume on a level locally, per camera or for a whole map. /// API_FIELD() static PostProcessSettings PostProcessSettings; public: /// /// Disposes the device. /// static void DisposeDevice(); };