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