Nico de Poel
76d0ee5425
Changed all dispatch descriptions into structs, renamed some fields, cleaned up some unused code.
Changing to lowercase field names for public struct members now, which follows the C# naming conventions. FSR2/3 won't follow suit for now, because too much code already makes use of the capitalized names.
2 years ago
Nico de Poel
b1ddc9ba0d
Moved duplicated BackbufferTransferFunction enum to a common enums file
2 years ago
Nico de Poel
404a090adf
Reworked optical flow passes to inherit from FfxPassBase, with a bit of a hack to work around the need for the extra level parameter.
Made the pass classes sealed, which is a more sensible way to please the compiler about using virtual methods inside constructors.
2 years ago
Nico de Poel
b21b1b43c4
Reworked passes to make the context description copy unnecessary, and made use of extension methods to simplify resource binding in Optical Flow passes.
2 years ago
Nico de Poel
acb54c821f
Refactored frame interpolation passes to use the common base class, and simplified all of the shader resource bindings.
2 years ago
Nico de Poel
7b988fd39d
Reworked dispatching code to use the common SPD and depth params methods.
2 years ago
Nico de Poel
de4f5bd83d
Refactored context classes to use common base class, and reworked constant buffers to use the wrapper class.
2 years ago
Nico de Poel
097eaa960a
Refactored resources classes to use common base class
2 years ago
Nico de Poel
4282b10eb4
Revert "Disabling inverted depth flag while I try to figure out what the correct way to deal with this is. For now, this fixes the broken disocclusion mask causing holes in the interpolated frame, which then get filled in with junk by the inpainting pass."
This reverts commit 49d197e60f .
2 years ago
Nico de Poel
49d197e60f
Disabling inverted depth flag while I try to figure out what the correct way to deal with this is. For now, this fixes the broken disocclusion mask causing holes in the interpolated frame, which then get filled in with junk by the inpainting pass.
2 years ago
Nico de Poel
32692053a4
Small cleanup
2 years ago
Nico de Poel
875b90f6ef
Simplified backbuffer selection for interpolation source
2 years ago
Nico de Poel
4e29c3dfb4
Replaced allocating lambda expression with a regular method.
2 years ago
Nico de Poel
01eb878a3e
Removed pointless dispatch count, when it's only used to check for first execution
2 years ago
Nico de Poel
c215db4017
Removed a few TODOs for things that have been checked and seem fine
2 years ago
Nico de Poel
4b675d285e
Modified inpainting pyramid passes to use a maximum of 7 mip levels. This allows the shaders to stay within the limit of 8 UAV bindings required by DX11.0, and gets rid of Unity's warnings and errors about breaking this limit.
2 years ago
Nico de Poel
a72e842bee
Fixed unintentional cap on SPD mip levels
2 years ago
Nico de Poel
279edd4429
Allocate double buffers only when async compute support is enabled
2 years ago
Nico de Poel
80d63d74fa
Fixed mipmap bindings when going over the RT's mipmap count, and pick the correct backbuffer to copy for the next frame.
2 years ago
Nico de Poel
910621b019
Couple of tweaks to facilitate integration
2 years ago
Nico de Poel
ec705e3d8d
Implemented remaining dispatch code
2 years ago
Nico de Poel
28ca91c32f
Implemented prepare process and started on main dispatch
2 years ago
Nico de Poel
1fab819f35
Implemented remaining passes
2 years ago
Nico de Poel
4cd63e62a8
Implemented a bunch more FI passes
2 years ago
Nico de Poel
57b78d7bac
Implemented prepare (reconstruct and dilate) pass
2 years ago
Nico de Poel
df9db23e6a
Set up shader IDs and dispatch descriptions
2 years ago
Nico de Poel
e9c46dfdd7
Set up pass classes and instances
2 years ago
Nico de Poel
c9f6b3f29d
Implemented resources and some initialization code and structs
2 years ago
Nico de Poel
88a7c95666
Added script meta files that weren't generated yet last time around
2 years ago
Nico de Poel
e6c714c02e
Set up initial skeleton for Frame Interpolation implementation
2 years ago
Nico de Poel
198f2725af
Renamed namespaces for OF and FI to FrameGen. Logically groups the two together, and it avoids the need for awkward OpticalFlow.OpticalFlow.something references.
2 years ago
Nico de Poel
b11aa5e50d
Added asset container scriptable objects for optical flow and frame interpolation shaders.
2 years ago