50 Commits (feb65ef9b35d2618811d5aab5270f2383ce31f24)

Author SHA1 Message Date
Nico de Poel feb65ef9b3 Enable auto-exposure by default, which is what the FSR2 docs recommend. 3 years ago
Nico de Poel 3ffbc0573e Implemented auto-exposure feature. 3 years ago
Nico de Poel 21d939cfd4 Use original camera pixel width and height to determine display size, so that cameras with non-standard viewport rects will work too. 3 years ago
Nico de Poel 341921bdda Perform camera scaling in OnPreCull, instead of OnPreRender. 3 years ago
Nico de Poel 92e360aa24 Implemented the debug checking upon dispatch from the original FSR2 source, with some Unity adaptations. 3 years ago
Nico de Poel 85829949f8 Made all inspector fields public, so that they can be easily accessed programmatically. 3 years ago
Nico de Poel 022eae95ef Added one more quality mode tier: ultra quality, which I felt was missing as an option. 3 years ago
Nico de Poel 17cc461613 Allow reactive mask and T&C mask to be provided through the inspector 3 years ago
Nico de Poel 8f1be6d3e6 Re-added transparency & composition parameter, even though we never use it and just fall back to the default reactivity mask, we officially support it as an input now. 3 years ago
Nico de Poel eade3d40ce Moved generate reactive parameters up in the source file, so it's close to where it's being used. 3 years ago
Nico de Poel 69da937fd7 Added some seemingly sensible ranges to the reactive mask parameters. 3 years ago
Nico de Poel d5e17958d6 I do think we want to use the jittered projection matrix for transparent rendering. Otherwise the reactive mask's inputs do not match. 3 years ago
Nico de Poel b7c49ea0e3 Allow reactive mask generation parameters to be set from the inspector. 3 years ago
Nico de Poel 44c5f2847d Release opaque-only input RT as soon as we're done with it. 3 years ago
Nico de Poel e887db581b Capture opaque-only input just before the forward alpha rendering pass, so that opaque image effects like color grading don't affect the reactive mask. 3 years ago
Nico de Poel 84b52c8853 Set non-jittered projection matrix before applying jittering, making motion vector jitter cancellation unnecessary. 3 years ago
Nico de Poel 070bd2704f Reordered inspector fields because I'm OCD like that 3 years ago
Nico de Poel 9647805dcc Copy opaque-only render buffer to a temporary texture as input for the reactive mask generator, and clean up the RT after FSR2 is done. 3 years ago
Nico de Poel 5ed7a5279b Progressed implementation of reactive mask generation pass. 3 years ago
Nico de Poel d47b8c78da Added option to enable FP16 from the scene 3 years ago
Nico de Poel 158d5bc176 Perform render scaling by manipulating the Camera viewport rect, which removes the need for a second game object and camera altogether. 3 years ago
Nico de Poel c1326fc261 Added some comments to the main FSR2 classes 3 years ago
Nico de Poel 62d1d41d2d Stripped Fsr2Dispatcher of most of its functionality, and moved it over to Fsr2Controller 3 years ago
Nico de Poel a9997e1a02 Moved Fsr2Dispatcher into Fsr2Controller source file and made it internal. Placed everything into the FidelityFX namespace. 3 years ago
Nico de Poel 747ac54528 Renaming SubsampleTest and Fsr2Controller to Fsr2Controller and Fsr2Dispatcher, respectively 3 years ago
Nico de Poel 3de40f6fe6 Cleaned up Fsr2Controller ahead of major refactor 3 years ago
Nico de Poel 86c16e3694 - Replaced all input/output parameters with RenderTargetIdentifiers, allowing more flexibility in how these resources are assigned 3 years ago
Nico de Poel 776700e837 Allow input textures to be set outside of FSR2 context dispatch, opening up new avenues for optimizations. 3 years ago
Nico de Poel f184be7b62 Some minor optimizations and cleanup 3 years ago
Nico de Poel 903c2f71f3 Updated code to make it compatible with Unity 2020.1, i.e. the oldest version that's technically usable. 3 years ago
Nico de Poel 12b5791cd2 Enabled 16-bit floating point support by changing the unused 1D Texture option into an FP16 option, which makes its usage configurable by the game dev. 3 years ago
Nico de Poel 5a638974b6 Removed the Native quality mode option again. It doesn't actually look that good, and I'd like to keep the 0 enum value reserved for "Off" 3 years ago
Nico de Poel e08a8f9c22 Playing around with resetting and recreating FSR context upon resolution or quality mode change. Seems to be working quite well. 3 years ago
Nico de Poel dafae40776 Further tweaks to camera jitter parameters and now IT'S WORKING!! 🥳 3 years ago
Nico de Poel 25f1742728 Fixes to jitter which at least produces a stable picture now. Still not actually right, but making progress. 3 years ago
Nico de Poel 1ca5a36f3e Cleanup and minor details 3 years ago
Nico de Poel 6b74532793 Some cleanup and a few small details 3 years ago
Nico de Poel 650e805af8 Combined color and depth into a single dispatch parameter, which makes it easier to follow what's going on at the various stages. 3 years ago
Nico de Poel c184748907 Separate out depth from the color buffer using RenderTextureSubElement, which does work now. 3 years ago
Nico de Poel c0a3b81d84 Simplified gathering of color, depth and motion vector RTs by using the game camera texture directly, and blitting just before dispatch. 3 years ago
Nico de Poel d607b1bf5a Apply jitter offset to dispatch parameters 3 years ago
Nico de Poel 34598f3900 Moved default exposure and reactive resources to Fsr2Context 3 years ago
Nico de Poel 934a3d60fa Implemented depth clip pass. Solved the problem of UAV/SRV name mismatch by monkey-patching the relevant shaders. Added default reactive mask. 3 years ago
Nico de Poel 2f5eaf48ba Bit of cleanup and moving stuff around 3 years ago
Nico de Poel b15e3b9c39 Use temporary render textures for storing color, depth and motion vectors copied from the game camera. 3 years ago
Nico de Poel 834c396321 Color, depth and motion vectors are now provided as regular texture inputs to the compute shaders, by blitting them from the game camera ahead of time. 3 years ago
Nico de Poel 1b41f6b2d7 Provide pipelines with the entire context description, which makes intiialization a bit simpler. Also provide it when registering resources so that the corrext *max* render size can be used. Started on the reconstruct depth pipeline. 3 years ago
Nico de Poel 9489a19cd8 Progress on managing resources. Compute luminance pyramid shader is starting to do something. 3 years ago
Nico de Poel 4d6a47a03c Reworked creation and dispatch to use description classes to pass parameters, designed similar to how the original FSR2 library does things, but adapted slightly to fit the Unity context. 3 years ago
Nico de Poel fc233b935f Moved all compute shader-related code to the Fsr2Context class, renamed FSR2Thing to Fsr2Controller and made the callbacks a static field in the Fsr2 class. 3 years ago