100 Commits (ed566a8beb8a8e16a04d9adfeb9e4794072af161)

Author SHA1 Message Date
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
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 56d0050a72 Create opaque-only color buffer copy after opaque-only post-processing is done, and use the correct color format for the copy. 3 years ago
Nico de Poel 51c5a44c1a Set constant buffer data as part of the command buffers, instead of immediately. 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 a73b7ba0e2 Clear initial auto-exposure value to zero instead of negative one. Fixes black screen flashes on Metal when performing an accumulation reset. 3 years ago
Nico de Poel 5ee49f68a8 Reset atomic counter on any kind of reset, not just on first execution. Fixes black screen on Metal when doing a history reset. 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