diff --git a/Assets/Scripts/Fsr2Callbacks.cs b/Assets/Scripts/Fsr2Callbacks.cs index 70bb61e..e43347b 100644 --- a/Assets/Scripts/Fsr2Callbacks.cs +++ b/Assets/Scripts/Fsr2Callbacks.cs @@ -36,6 +36,14 @@ namespace FidelityFX Resources.UnloadAsset(shader); } + /// + /// Apply a mipmap bias to in-game textures to prevent them from becoming blurry as the internal rendering resolution lowers. + /// This will need to be customized on a per-game basis, as there is no clear universal way to determine what are "in-game" textures. + /// The default implementation will simply apply a mipmap bias to all 2D textures, which will include things like UI textures and which might miss things like terrain texture arrays. + /// + /// Depending on how your game organizes its assets, you will want to create a filter that more specifically selects the textures that need to have this mipmap bias applied. + /// You may also want to store the bias offset value and apply it to any assets that are loaded in on demand. + /// public virtual void ApplyMipmapBias(float biasOffset) { foreach (var texture in Resources.FindObjectsOfTypeAll()) diff --git a/Assets/Scripts/Fsr2Controller.cs b/Assets/Scripts/Fsr2Controller.cs index e98dabd..2a81528 100644 --- a/Assets/Scripts/Fsr2Controller.cs +++ b/Assets/Scripts/Fsr2Controller.cs @@ -13,19 +13,20 @@ namespace FidelityFX [RequireComponent(typeof(Camera))] public class Fsr2Controller : MonoBehaviour { - [SerializeField] private Fsr2.QualityMode qualityMode = Fsr2.QualityMode.Quality; + public Fsr2.QualityMode qualityMode = Fsr2.QualityMode.Quality; - [SerializeField] private bool performSharpenPass = true; - [SerializeField, Range(0, 1)] private float sharpness = 0.8f; + public bool performSharpenPass = true; + [Range(0, 1)] public float sharpness = 0.8f; [Tooltip("Allow the use of half precision compute operations, potentially improving performance")] - [SerializeField] private bool enableFP16 = false; + public bool enableFP16 = false; [Header("Reactivity, Transparency & Composition")] - [SerializeField] private Texture reactiveMask = null; - [SerializeField] private Texture transparencyAndCompositionMask = null; - [SerializeField] private bool autoGenerateReactiveMask = true; + public Texture reactiveMask = null; + public Texture transparencyAndCompositionMask = null; + public bool autoGenerateReactiveMask = true; [SerializeField] private GenerateReactiveParameters generateReactiveParameters = new GenerateReactiveParameters(); + public GenerateReactiveParameters GenerateReactiveParams => generateReactiveParameters; [System.Serializable] public class GenerateReactiveParameters