public Func <TextureSize> TargetSize; // Not saved public SuperRes() { TargetSize = () => Renderer.TargetSize; Passes = 2; Strength = 1.0f; Softness = 0.0f; LegacyDownscaling = false; var EWASincJinc = new EwaScalerScaler { Settings = new EwaScaler { Scaler = new SincJinc(), TapCount = ScalerTaps.Six, AntiRingingEnabled = true, AntiRingingStrength = 1.0f, // No need to hold back, SuperRes should lessen possible artefacts } }.ToPreset("EWA Sinc-Jinc"); var fastSuperXbrUi = new Hylian.SuperXbr.SuperXbrUi { Settings = new Hylian.SuperXbr.SuperXbr { FastMethod = true, ThirdPass = false } }.ToPreset("Super-xBR (Fast)"); PrescalerGroup = new RenderScriptGroup { Options = (new[] { EWASincJinc, fastSuperXbrUi }) .Concat( new List <IRenderChainUi> { new Hylian.SuperXbr.SuperXbrUi(), new Nedi.NediScaler(), new NNedi3.NNedi3Scaler(), new Mpdn.OclNNedi3.OclNNedi3Scaler() }.Select(x => x.ToPreset())) .ToList(), SelectedIndex = 0 }; PrescalerGroup.Name = "SuperRes Prescaler"; }
public Func <TextureSize> TargetSize; // Not saved public SSSR() { TargetSize = () => Renderer.TargetSize; Passes = 2; LinearLight = true; OverSharp = 0.0f; Locality = 4.0f; Mode = SSSRMode.Hybrid; var EWASincJinc = new EwaScalerScaler { Settings = new EwaScaler { Scaler = new SincJinc(), TapCount = ScalerTaps.Six, AntiRingingEnabled = false // Not needed } }.ToPreset("EWA Sinc-Jinc"); var fastSuperXbrUi = new Hylian.SuperXbr.SuperXbrUi { Settings = new Hylian.SuperXbr.SuperXbr { FastMethod = true, ThirdPass = false } }.ToPreset("Super-xBR (Fast)"); PrescalerGroup = new RenderScriptGroup { Options = (new[] { EWASincJinc, fastSuperXbrUi }) .Concat( new List <IRenderChainUi> { new Hylian.SuperXbr.SuperXbrUi(), new Nedi.NediScaler(), new NNedi3.NNedi3Scaler(), new Mpdn.OclNNedi3.OclNNedi3Scaler() }.Select(x => x.ToPreset())) .ToList(), SelectedIndex = 0 }; PrescalerGroup.Name = "SSSR Prescaler"; }