#ifndef OPENMW_COMPONENTS_SETTINGS_CATEGORIES_SHADOWS_H #define OPENMW_COMPONENTS_SETTINGS_CATEGORIES_SHADOWS_H #include "components/settings/sanitizerimpl.hpp" #include "components/settings/settingvalue.hpp" #include #include #include #include #include #include namespace Settings { struct ShadowsCategory { SettingValue mEnableShadows{ "Shadows", "enable shadows" }; SettingValue mNumberOfShadowMaps{ "Shadows", "number of shadow maps", makeClampSanitizerInt(1, 8) }; SettingValue mMaximumShadowMapDistance{ "Shadows", "maximum shadow map distance" }; SettingValue mShadowFadeStart{ "Shadows", "shadow fade start", makeClampSanitizerFloat(0, 1) }; SettingValue mAllowShadowMapOverlap{ "Shadows", "allow shadow map overlap" }; SettingValue mSplitPointUniformLogarithmicRatio{ "Shadows", "split point uniform logarithmic ratio", makeClampSanitizerFloat(0, 1) }; SettingValue mSplitPointBias{ "Shadows", "split point bias" }; SettingValue mEnableDebugHud{ "Shadows", "enable debug hud" }; SettingValue mEnableDebugOverlay{ "Shadows", "enable debug overlay" }; SettingValue mComputeSceneBounds{ "Shadows", "compute scene bounds", makeEnumSanitizerString({ "primitives", "bounds", "none" }) }; SettingValue mShadowMapResolution{ "Shadows", "shadow map resolution" }; SettingValue mMinimumLispsmNearFarRatio{ "Shadows", "minimum lispsm near far ratio", makeMaxStrictSanitizerFloat(0) }; SettingValue mPolygonOffsetFactor{ "Shadows", "polygon offset factor" }; SettingValue mPolygonOffsetUnits{ "Shadows", "polygon offset units" }; SettingValue mNormalOffsetDistance{ "Shadows", "normal offset distance" }; SettingValue mUseFrontFaceCulling{ "Shadows", "use front face culling" }; SettingValue mActorShadows{ "Shadows", "actor shadows" }; SettingValue mPlayerShadows{ "Shadows", "player shadows" }; SettingValue mTerrainShadows{ "Shadows", "terrain shadows" }; SettingValue mObjectShadows{ "Shadows", "object shadows" }; SettingValue mEnableIndoorShadows{ "Shadows", "enable indoor shadows" }; }; } #endif