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
|
ac96933f9d
|
Merge branch 'framework' into fsr3framegen
|
2 years ago |
Nico de Poel
|
b565ca029f
|
Made flags a field of the FfxPassWithFlags class, obviating the need to hold on to a context description copy, or the need to pass flags around.
|
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
|
9d35022137
|
Merge branch 'framework' into fsr3framegen
|
2 years ago |
Nico de Poel
|
3e4e0bb003
|
Moved SetupDeviceDepthToViewSpaceDepthParams to the common FfxUtils class
|
2 years ago |
Nico de Poel
|
74a127a40d
|
Further generalized SPD constants and setup
|
2 years ago |
Nico de Poel
|
d583c750d2
|
Moved SPD setup method into a separate common FfxSpd class
|
2 years ago |
Nico de Poel
|
328011f7ba
|
Added profiling samplers around the entire FSR2/3 process
|
2 years ago |
Nico de Poel
|
c5130f8236
|
Renamed frameIndex to bufferIndex
|
2 years ago |
Nico de Poel
|
3e91f84cf8
|
Simplified handling of compute buffer data by wrapping it inside a helper class
|
2 years ago |
Nico de Poel
|
19a74fee45
|
Created an abstract base class for context objects, with a few common helper methods
|
2 years ago |
Nico de Poel
|
c33ec9d4ed
|
Further abstracted base pass class to allow for passes without shader keyword flags, and to allow custom kernel names.
|
2 years ago |
Nico de Poel
|
7c923f8ce8
|
Renamed frameIndex to bufferIndex, which works in all contexts and makes it more clear that it'll be used as an array index
|
2 years ago |
Nico de Poel
|
13b9b98318
|
Created additional extension methods to bind various compute shader resources, to make the dispatching code a lot more straightforward.
|
2 years ago |
Nico de Poel
|
15b380eebf
|
Abstracted some of the common pass code into a new base class for passes.
|
2 years ago |
Nico de Poel
|
2d446333c1
|
Created additional shared helped methods for creating lookup textures and the Lanczos2 LUT
|
2 years ago |
Nico de Poel
|
3bb3d78610
|
Refactored resource creation to make use of shared helped methods
|
2 years ago |
Nico de Poel
|
6219d6159d
|
Moved all create/destroy methods for various types of resources to a new common base class
|
2 years ago |
Nico de Poel
|
9f06f24943
|
Moved a number of shared static helper methods to a new FfxUtils 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
|
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 |