From 9fddd7e414e61636e74cf748b5c8be5a0a3d0c42 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Fri, 15 Dec 2023 17:38:16 +0100 Subject: [PATCH] Updated links to refer to the documentation on the GPUOpen site. --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4b471c7..43dd41c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # FSR 3.0 Upscaling for Unity -FidelityFX Super Resolution 3 (FSR3) is an advanced image upscaling and temporal reconstruction technique developed by AMD and [released as open source](https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/tree/release-FSR3-3.0.3). It provides both high-quality anti-aliasing and the ability for games to output at high resolutions while rendering at a lower internal resolution, improving performance. +FidelityFX Super Resolution 3 (FSR3) Upscaler is an advanced image upscaling and temporal reconstruction technique developed by AMD and [released as open source](https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/tree/release-FSR3-3.0.3) through the GPUOpen initiative. It provides both high-quality anti-aliasing and the ability for games to output at high resolutions while rendering at a lower internal resolution, improving performance. This project aims to bring FSR3 Upscaling to Unity, as an alternative to Unity's existing FXAA, SMAA and TAA anti-aliasing solutions. Compared to Unity's TAA implementation, FSR3 Upscaling offers a sharper and more stable image, with a better sub-pixel detail resolve and better performance due to its reliance on upscaling. @@ -64,7 +64,7 @@ Note that OpenGL on MacOS does not support compute shaders, so it will never be ## Integration -Integration generally follows the same guidelines as the [FSR3 Upscaler documentation on Github](https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/blob/release-FSR3-3.0.3/docs/techniques/super-resolution-upscaler.md#integration-guidelines), with a few specifics for the Unity implementation. +Integration generally follows the same guidelines as the [FSR3 Upscaler documentation by GPUOpen](https://gpuopen.com/manuals/fidelityfx_sdk/fidelityfx_sdk-page_techniques_super-resolution-upscaler/#integration-guidelines), with a few specifics for the Unity implementation. ### Built-in Render Pipeline @@ -82,7 +82,7 @@ Also make sure that any other anti-aliasing methods (MSAA, FXAA, SMAA, TAA) are ### Post-Processing Stack V2 -FSR3 Upscaling for Unity is also available as a full integration into the Post-Processing Stack V2 (PPV2) from Unity. This integration gets closer to the ideal placement in the render pipeline [as recommended by the FSR3 Upscaler documentation](https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/blob/release-FSR3-3.0.3/docs/techniques/super-resolution-upscaler.md#placement-in-the-frame). The post-processing effects from PPV2 are split into groups before and after upscaling, meaning that effects that should be applied at full resolution (e.g. film grain, bloom, depth of field, motion blur) are indeed applied on the full resolution upscaled image. +FSR3 Upscaling for Unity is also available as a full integration into the Post-Processing Stack V2 (PPV2) from Unity. This integration gets closer to the ideal placement in the render pipeline [as recommended by the FSR3 Upscaler documentation](https://gpuopen.com/manuals/fidelityfx_sdk/fidelityfx_sdk-page_techniques_super-resolution-upscaler/#placement-in-the-frame). The post-processing effects from PPV2 are split into groups before and after upscaling, meaning that effects that should be applied at full resolution (e.g. film grain, bloom, depth of field, motion blur) are indeed applied on the full resolution upscaled image. Post-Processing Stack V2 with FSR3 Upscaling is intended to be used as a drop-in replacement package for the official PPV2 package from Unity. It can be [downloaded from the Releases page](https://github.com/ndepoel/FSR2Unity/releases/latest) and should be extracted into the `Packages` directory of your project. From there it will automatically get picked up by Unity when you refresh your project. @@ -102,7 +102,7 @@ By default, FSR3 Upscaling for Unity loads its shaders directly from a Resources #### Mipmap biasing -One key part of FSR3 Upscaling is adjusting the mipmap bias of textures. Normally when lowering the rendering resolution, Unity will also sample textures at lower mipmap levels to prevent texture aliasing. When upscaling is in use, this will result in noticeably blurry textures. To combat this, FSR3 suggests that applications adjust the mipmap bias for texture content in the scene that is to be upscaled. This is [further explained in the FSR3 Upscaler documentation](https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/blob/release-FSR3-3.0.3/docs/techniques/super-resolution-upscaler.md#mipmap-biasing). +One key part of FSR3 Upscaling is adjusting the mipmap bias of textures. Normally when lowering the rendering resolution, Unity will also sample textures at lower mipmap levels to prevent texture aliasing. When upscaling is in use, this will result in noticeably blurry textures. To combat this, FSR3 suggests that applications adjust the mipmap bias for texture content in the scene that is to be upscaled. This is [further explained in the FSR3 Upscaler documentation](https://gpuopen.com/manuals/fidelityfx_sdk/fidelityfx_sdk-page_techniques_super-resolution-upscaler/#mipmap-biasing). Unfortunately Unity has no single unified way to identify textures that are part of the 3D scene, nor does it offer a way to set a global mipmap bias at run-time. There are also many different ways in which textures may be applied to a scene, depending on which third-party asset packages the application chooses to use. This makes the implementation of texture mipmap biasing a highly application-specific thing. @@ -179,7 +179,7 @@ Dynamic resolution works really well in combination with FSR3 Upscaling. Any run ## Details on implementation -This section goes more in-depth on how the implementation of FSR3 Upscaling into Unity was accomplished, as well as the rationale behind some of its design decisions. For more information on how the FSR3 Upscaler algorithm itself works, see the [official documentation on Github](https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK/blob/release-FSR3-3.0.3/docs/techniques/super-resolution-upscaler.md#the-technique). +This section goes more in-depth on how the implementation of FSR3 Upscaling into Unity was accomplished, as well as the rationale behind some of its design decisions. For more information on how the FSR3 Upscaler algorithm itself works, see the [official documentation on Github](https://gpuopen.com/manuals/fidelityfx_sdk/fidelityfx_sdk-page_techniques_super-resolution-upscaler/#the-technique). ### Supporting unsupported platforms