162 Commits (4a8f9455e600138fa6bb7d1b3dcba291c2372ab8)

Author SHA1 Message Date
Nico de Poel 9971d85ce4 Changed output texture formats from half to float, fixes Metal shader compilation issues on iOS 1 year ago
Nico de Poel 9f4b96ea25 Made integration more PPV2-like by using property sheets, material property blocks and the BlitFullScreenTriangle method. 1 year ago
Nico de Poel df58df61d6 Reorganized shader code such that standard BiRP and PPV2 can share the same common code with only some light wrappers to implement the differences 1 year ago
Nico de Poel 72df347315 Reworked 2-pass FS implementation to integrate more directly with the PPV2 framework, allowing for multi-target rendering using the fullscreen triangle blit, which eliminates the need for an extra blit at the end. 1 year ago
Nico de Poel cac783bebc Working SGSR2 2-pass FS implementation, bit dirty but good enough for testing. 1 year ago
Nico de Poel 87237bbddc Initial conversion to HLSL 1 year ago
Nico de Poel a0fa2c9e60 First import of GLSL fragment shaders plus some initial Unity shader setup 1 year ago
Nico de Poel a56f0742b5 Further tweaked motion vector processing, now the camera motion vectors from Unity produce an exact match with the auto-generated motion from the clip-delta matrix, in both D3D, Vulkan and OpenGL. It also makes sense with regards to the flipped Y-coordinate in screen space now. The final result looks good now too. 1 year ago
Nico de Poel 05989857c0 Added an untested and as of yet unused HDRP include file, just as an expression of what this file will look like for SRPs 1 year ago
Nico de Poel d354d07d81 Added scaleRatio to unify the cbuffer definition for all shaders, including the fragment shader variant. 1 year ago
Nico de Poel ed566a8beb Empirically determined the best setup for motion vectors in OpenGL, though it still doesn't make a whole lot of sense. Added opt-in debug symbols line to the upscale shaders to make analysis easier. 1 year ago
Nico de Poel 4f8cf086bf More specifically, set NDC Y-coordinate to be up when the Unity graphics API has UV's starting at the top 1 year ago
Nico de Poel 80a8532cb4 Cleaned up an unused argument 1 year ago
Nico de Poel 5b203e7ef5 Set normalized device coordinates Y direction to be up, which is standard in Unity, and properly detect non-zero motion vector inputs. This *seems* to be the correct recipe. 1 year ago
Nico de Poel 19b2969e58 Added macros to change nearest-depth and depth-clipping logic based on whether the Unity graphics API uses reversed Z or not 1 year ago
Nico de Poel 8635b131f6 Renamed SGSR2 compute shader resources class, to allow an easier distinction between fragment and compute variants later on 1 year ago
Nico de Poel 8d6036c91c Moved a bunch of common definitions and functions into a separate file 1 year ago
Nico de Poel 0469bb921f Reverted use of CBUFFER_ macros, as it was breaking the shaders on Vulkan 1 year ago
Nico de Poel 3285c552f4 Verified motion vector "decoding" against the auto-generated camera MVs based on the clip-space delta matrix, and made a small fix 1 year ago
Nico de Poel c43c8d11f9 Reworked SGSR2 classes, moving more logic to the base class, and implemented clip-space delta matrix as well as the is-camera-still logic. 1 year ago
Nico de Poel 9bf6a12c97 Minor optimization: use half float types wherever the original GLSL code uses mediump floats. 1 year ago
Nico de Poel 7217b0fc32 Unity-fied all SGSR2 shaders by changing all texture declarations and accesses into TextureXR-style macros, with a shared BiRP definitions file. 1 year ago
Nico de Poel 0f7baf0b52 Implemented 2-pass CS dispatch 1 year ago
Nico de Poel d4c1d3f56e Made SGSR2 upscaler plugin abstract and split off 3-pass CS version into its own separate class 1 year ago
Nico de Poel 14fa1bc7d2 Initial port of SGSR2 2-pass compute shaders to HLSL (untested) 1 year ago
Nico de Poel 708e4308c5 Consolidated SGSR2 shaders into single .compute files as there's not much point in using includes, and grouped them together into a 3-pass folder. This will make it easier to add the other variants later. 1 year ago
Nico de Poel 7a259062d8 Working SGSR2 3-pass: 1 year ago
Nico de Poel 5646e0a325 Added PoC SGSR2 upscaler 1 year ago
Nico de Poel ceb8421e79 Updated debug tools to allow A/B comparisons between upscalers 1 year ago
Nico de Poel 8db82e664c Reworked upscaling integration to allow for multiple upscaler algorithms that can be switched on the fly. 1 year ago
Nico de Poel 31eb875b79 Fixed an issue that would cause the wrong depth buffer to be passed to FSR when using forward rendering on newer Unity versions. 2 years ago
Nico de Poel 79298e140b Updated namespaces now that FSR3 is in a separate sub-namespace. 2 years ago
Nico de Poel 582cd80713 Took FSR3 code and shaders out of the PPV2 package and replaced it with an FSR3 package reference 2 years ago
Nico de Poel d1808d542e Updated SuperResolution effect implementation to be compatible with FSR 3.1 2 years ago
Nico de Poel 63d46a6c8e Imported FSR 3.1 implementation 2 years ago
Nico de Poel 7b37a0fba1 Correctly destroy resources when not in play mode 2 years ago
Nico de Poel 004cbc9468 Fixed opaque-only copy buffer not keeping dynamic resolution scaling in mind. 2 years ago
Nico de Poel 415154ff54 - Separated FSR3 shader aggregate from the scriptable object, so that they can be embedded directly inside PostProcessResources 2 years ago
Nico de Poel 6b590b64af Refactored loading of FSR3 compute shaders, using an aggregate object containing pre-loaded compute shaders instead of the old callbacks. 2 years ago
Nico de Poel b7b3842b95 Moved ResourceView out of the Fsr3Upscaler class and into the FidelityFX namespace, making usages of ResourceView a lot cleaner. 2 years ago
Nico de Poel 6fc389f137 Fixed a few comments that still referred to FSR2 2 years ago
Nico de Poel c71e487b15 Updated SuperResolution shaders and code to FSR3 2 years ago
Nico de Poel 7384b4486a Fixed aspect ratio for dual-viewport setups 2 years ago
Nico de Poel f399aaee4f Upgraded to PPV2 version 3.4.0 with WebGPU support and several bug fixes 2 years ago
Nico de Poel ad3966f3f6 Revert "Removed unnecessary aspect ratio lines that broke screen aspect when using non-standard viewports." 2 years ago
Nico de Poel 79f2ab14bf Removed unnecessary aspect ratio lines that broke screen aspect when using non-standard viewports. 2 years ago
Nico de Poel 3fcb2cfc57 Renamed Pipelines to Passes 2 years ago
Nico de Poel 8c7aeae4a7 Renamed RenderTargetView to ResourceView, which is a bit shorter to type and captures the essence well. 2 years ago
Nico de Poel 87f11b5f7c Made all RenderTargetView fields non-nullable, and introduced a special Empty value for optional fields. 2 years ago
Nico de Poel 05db2a9c39 Changed prebaked RCAS configurations into an array, as there is no need for a dynamically sized list here. 2 years ago