70 Commits (80a8532cb4f41e8b7e312ac6ab5512ff44b1d5d2)

Author SHA1 Message Date
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 d1808d542e Updated SuperResolution effect implementation to be compatible with FSR 3.1 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 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 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 b4ddc41f1b Reworked input/output resource management using a new RenderTargetView struct, which encompasses all relevant data required to bind textures from various sources. 2 years ago
Nico de Poel 02427c2c42 [PPV2] PPB-6 Disabled compute effects on WebGL and Android OpenGL (#7936) 3 years ago
Nico de Poel 6221c9ea1f Use jittered camera projection for transparent rendering, as it does affect image reconstruction for certain specific effects, e.g. line renderers. 3 years ago
Nico de Poel afc5d4896f [PPV2] Fix AO on OSX (#7922) 3 years ago
Nico de Poel fe10480628 Refactored undo mipmap bias callback such that the RP integration does not need to maintain any bias offset state. Added NaN/Infinity check to the standard apply mipmap bias callback implementation. 3 years ago
Nico de Poel f35b63f292 Made undoing of mipmap bias a distinct separate callback, so that it can be overridden by client apps. Skip textures that don't have mipmaps and thus don't have any use for a mipmap bias. 3 years ago
Nico de Poel 807b05f3d8 Fixed input resource size again and ffs stop stubbornly making this same mistake over and over again 3 years ago
Nico de Poel bdca6950c4 Set the dynamic resolution flag when appropriate. It doesn't actually do anything, but it's good form to include it. 3 years ago
Nico de Poel 2bbb4f3a1f Fixed incorrect scaled render size during FSR dispatch because of course, global variables and side-effects are bad m'kay. 3 years ago
Nico de Poel f93e371c2c Fixed camera viewport getting double scaled. This gets us back on track again. 3 years ago
Nico de Poel 9b15d2b84f Reworked dynamic resolution to use ScalableBufferManager. Doesn't actually work correctly yet, but that'll be the next step. 3 years ago
Nico de Poel 4707ce8364 Implemented dynamic scaling through a custom scale factor. No ScalableBufferManager involved. Doesn't work nicely with MSVO AO, but otherwise does the job. 3 years ago
Nico de Poel e1660542ea Updated PPV2 code to version 3.3.1 3 years ago
Nico de Poel 91c6d58147 Comments 3 years ago
Nico de Poel 2e67acb859 Eliminated unnecessary blit to an intermediate temp RT by allowing PPV2 screen space RTs to be created with random write access. This way FSR2 can output directly to the PPV2 effects chain. 3 years ago
Nico de Poel 2323ae88d5 Refactored opaque-only color texture to be provided as a property, instead of as a function argument. This keeps the Render() method in line with all of the other effects. 3 years ago
Nico de Poel 9b140d20a3 Updated PPV2 code to version 3.3.0 3 years ago
Nico de Poel 5bca835097 Set a default motion blending value on depth-of-field when FSR is active. Reduces jittering artifacts on DoF blur. 3 years ago