using System; using System.Collections.Generic; namespace FidelityFX { [Serializable] public class CacaoPreset { public bool useDownsampledSSAO; public Cacao.Settings settings = Cacao.DefaultSettings; public enum PresetName { NativeAdaptiveQuality, NativeHighQuality, NativeMediumQuality, NativeLowQuality, NativeLowestQuality, DownsampledAdaptiveQuality, DownsampledHighQuality, DownsampledMediumQuality, DownsampledLowQuality, DownsampledLowestQuality, } public static readonly Dictionary Presets = new() { [PresetName.NativeAdaptiveQuality] = new CacaoPreset { useDownsampledSSAO = false, settings = new() { radius = 1.2f, shadowMultiplier = 1.0f, shadowPower = 1.5f, shadowClamp = 0.98f, horizonAngleThreshold = 0.06f, fadeOutFrom = 20f, fadeOutTo = 40f, qualityLevel = Cacao.Quality.Highest, adaptiveQualityLimit = 0.75f, blurPassCount = 2, sharpness = 0.98f, temporalSupersamplingAngleOffset = 0f, temporalSupersamplingRadiusOffset = 0f, detailShadowStrength = 0.5f, generateNormals = false, bilateralSigmaSquared = 5f, bilateralSimilarityDistanceSigma = 0.1f, }, }, [PresetName.NativeHighQuality] = new CacaoPreset { useDownsampledSSAO = false, settings = new() { radius = 1.2f, shadowMultiplier = 1.0f, shadowPower = 1.5f, shadowClamp = 0.98f, horizonAngleThreshold = 0.06f, fadeOutFrom = 20f, fadeOutTo = 40f, qualityLevel = Cacao.Quality.High, adaptiveQualityLimit = 0.75f, blurPassCount = 2, sharpness = 0.98f, temporalSupersamplingAngleOffset = 0f, temporalSupersamplingRadiusOffset = 0f, detailShadowStrength = 0.5f, generateNormals = false, bilateralSigmaSquared = 5f, bilateralSimilarityDistanceSigma = 0.1f, }, }, [PresetName.NativeMediumQuality] = new CacaoPreset { useDownsampledSSAO = false, settings = new() { radius = 1.2f, shadowMultiplier = 1.0f, shadowPower = 1.5f, shadowClamp = 0.98f, horizonAngleThreshold = 0.06f, fadeOutFrom = 20f, fadeOutTo = 40f, qualityLevel = Cacao.Quality.Medium, adaptiveQualityLimit = 0.75f, blurPassCount = 2, sharpness = 0.98f, temporalSupersamplingAngleOffset = 0f, temporalSupersamplingRadiusOffset = 0f, detailShadowStrength = 0.5f, generateNormals = false, bilateralSigmaSquared = 5f, bilateralSimilarityDistanceSigma = 0.1f, }, }, [PresetName.NativeLowQuality] = new CacaoPreset { useDownsampledSSAO = false, settings = new() { radius = 1.2f, shadowMultiplier = 1.0f, shadowPower = 1.5f, shadowClamp = 0.98f, horizonAngleThreshold = 0.06f, fadeOutFrom = 20f, fadeOutTo = 40f, qualityLevel = Cacao.Quality.Low, adaptiveQualityLimit = 0.75f, blurPassCount = 6, sharpness = 0.98f, temporalSupersamplingAngleOffset = 0f, temporalSupersamplingRadiusOffset = 0f, detailShadowStrength = 0.5f, generateNormals = false, bilateralSigmaSquared = 5f, bilateralSimilarityDistanceSigma = 0.1f, }, }, [PresetName.NativeLowestQuality] = new CacaoPreset { useDownsampledSSAO = false, settings = new() { radius = 1.2f, shadowMultiplier = 1.0f, shadowPower = 1.5f, shadowClamp = 0.98f, horizonAngleThreshold = 0.06f, fadeOutFrom = 20f, fadeOutTo = 40f, qualityLevel = Cacao.Quality.Lowest, adaptiveQualityLimit = 0.75f, blurPassCount = 6, sharpness = 0.98f, temporalSupersamplingAngleOffset = 0f, temporalSupersamplingRadiusOffset = 0f, detailShadowStrength = 0.5f, generateNormals = false, bilateralSigmaSquared = 5f, bilateralSimilarityDistanceSigma = 0.1f, }, }, }; } }