Nico de Poel
cb4321b8ae
Updated shaders and passes to the framework changes
2 years ago
Nico de Poel
9c377cc144
Use derived classes to reference passes.
2 years ago
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
2ff4b9772b
Made block size and texture size available through the optical flow context, which is better encapsulation.
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
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
910621b019
Couple of tweaks to facilitate integration
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
eeb4095685
Reworked backbuffer transfer function parameter into a clearly designated enum
2 years ago
Nico de Poel
9a72a8f180
Implemented the remaining optical flow passes and fixed a few small issues.
Seems to work but it needs more extensive testing.
2 years ago
Nico de Poel
c74320613b
Reworked multi-level double-buffered resources into arrays of arrays of render textures
2 years ago
Nico de Poel
0701d8bf52
Moved some helper methods to the static OpticalFlow class
2 years ago
Nico de Poel
4be784e427
Implemented passes up to and including SCD divergence
2 years ago
Nico de Poel
70121d1516
Implemented resources, shader IDs, the skeleton for all passes, setup and destruction, a bunch of helper methods and dispatch of the prepare luma pass.
2 years ago
Nico de Poel
07a7571935
Set up first skeleton for optical flow data structures and dispatching
2 years ago
Nico de Poel
b11aa5e50d
Added asset container scriptable objects for optical flow and frame interpolation shaders.
2 years ago