Open jollypunch opened 1 year ago
Good question, and I'll have to look into it and get back to you. When I originally wrote the script only HDRP exposed a filter option and it was done in a way that the script didn't have to know anything about it. It's possible that setting the filter for renderscale will also affect dynres in URP but I don't know for sure.
This can be used to change the upscaling method in URP in Unity 2021.3 and 2022.3. It can be set to Auto, Point, Linear or FSR. Only FSR 1.0 is provided by default. Setting the sharpness is optional, and is overridden by the TAA sharpness if you have that enabled.
((UniversalRenderPipelineAsset)QualitySettings.renderPipeline).upscalingFilter = UpscalingFilterSelection.FSR; ((UniversalRenderPipelineAsset)QualitySettings.renderPipeline).fsrSharpness = 0.92f;
TAA isn't provided in Unity 2021.3, but there are unofficial implementations for it. In 2022.3 you're now able to change which AA method is used with scripting. The quality setting only applies to SMAA, the TAA quality can only be set in the editor.
Camera.main.GetUniversalAdditionalCameraData().antialiasing = AntialiasingMode.TemporalAntiAliasing; Camera.main.GetUniversalAdditionalCameraData().antialiasingQuality = AntialiasingQuality.High;
Check this repository https://github.com/GPUOpen-Effects/FidelityFX-FSR2-Unity-URP for a free and open FSR 2 implementation (DirectX 11 only) or the asset store for one with more supported platforms. Combining TAA with FSR 1.0 should be fairly close to what FSR 2 gives you though.
I'm on URP 2021.3.11. In HDRP you can change filtering in the editor, and in URP you can change it for renderscale. How can I choose e.g. FSR for dynamic resolution upscaling?