diff --git a/Assets/Scripts/Core/Fsr2Callbacks.cs b/Assets/Scripts/Core/Fsr2Callbacks.cs index c3c06e1..552632f 100644 --- a/Assets/Scripts/Core/Fsr2Callbacks.cs +++ b/Assets/Scripts/Core/Fsr2Callbacks.cs @@ -43,7 +43,7 @@ namespace FidelityFX /// void ApplyMipmapBias(float biasOffset); - void UndoMipmapBias(float biasOffset); + void UndoMipmapBias(); } /// @@ -76,6 +76,9 @@ namespace FidelityFX public virtual void ApplyMipmapBias(float biasOffset) { + if (float.IsNaN(biasOffset) || float.IsInfinity(biasOffset)) + return; + CurrentBiasOffset += biasOffset; if (Mathf.Approximately(CurrentBiasOffset, 0f)) @@ -92,9 +95,9 @@ namespace FidelityFX } } - public virtual void UndoMipmapBias(float biasOffset) + public virtual void UndoMipmapBias() { - ApplyMipmapBias(-biasOffset); + ApplyMipmapBias(-CurrentBiasOffset); } } } diff --git a/Assets/Scripts/Fsr2ImageEffect.cs b/Assets/Scripts/Fsr2ImageEffect.cs index 6e41abe..bf1cc16 100644 --- a/Assets/Scripts/Fsr2ImageEffect.cs +++ b/Assets/Scripts/Fsr2ImageEffect.cs @@ -104,7 +104,6 @@ namespace FidelityFX private Fsr2Context _context; private Vector2Int _maxRenderSize; private Vector2Int _displaySize; - private float _appliedBiasOffset; private bool _resetHistory; private readonly Fsr2.DispatchDescription _dispatchDescription = new Fsr2.DispatchDescription(); @@ -253,22 +252,13 @@ namespace FidelityFX if (!float.IsNaN(biasOffset) && !float.IsInfinity(biasOffset)) { Callbacks.ApplyMipmapBias(biasOffset); - _appliedBiasOffset = biasOffset; - } - else - { - _appliedBiasOffset = 0f; } } private void UndoMipmapBias() { // Undo the current mipmap bias offset - if (_appliedBiasOffset != 0f && !float.IsNaN(_appliedBiasOffset) && !float.IsInfinity(_appliedBiasOffset)) - { - Callbacks.UndoMipmapBias(_appliedBiasOffset); - _appliedBiasOffset = 0f; - } + Callbacks.UndoMipmapBias(); } private void Update()