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 |
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 |
Nico de Poel
|
95e86b769f
|
Added multi-compile keywords for frame interpolation shaders
|
2 years ago |
Nico de Poel
|
941bf006a2
|
Added compute shaders for all frame interpolation passes, configured them to compile with DXC and wave operation support.
|
2 years ago |
Nico de Poel
|
280bd41ac8
|
Added compute shaders for all optical flow passes, configured them to compile with DXC and wave operation support.
|
2 years ago |
Nico de Poel
|
c3165c9880
|
Merge branch 'master' into fsr3framegen
|
2 years ago |
Nico de Poel
|
66da324538
|
Added package license
|
2 years ago |
Nico de Poel
|
982fa67761
|
Removed unused debug blit shader and renamed some remnants of FSR 3.0 Upscaler back to FSR 2
|
2 years ago |
Nico de Poel
|
d0f6ddf019
|
Added FSR3 optical flow and frame interpolation shaders and headers, directly from the FidelityFX SDK.
|
2 years ago |
Nico de Poel
|
bbe7290356
|
Moved FSR2 and FSR3 classes into their own sub-namespaces. This fixes an ambiguity when compiling for Unity 2020.x and is also more future-proof with an eye on porting over more FidelityFX technologies.
|
2 years ago |
Nico de Poel
|
2ab4c934bd
|
Properly release the new intermediate temp RT
|
2 years ago |
Nico de Poel
|
fd02cc6b15
|
Consolidated farthest depth and luma instability RTs into a single reusable intermediate temp RT, as suggested by the reference implementation.
|
2 years ago |
Nico de Poel
|
60f1f1ea37
|
Moved nasty texture array keyword business into the dispatch logic and exposed it as a simple boolean parameter.
|
2 years ago |
Nico de Poel
|
5703e106fe
|
Consolidated texture array-related keywords into a single RP-agnostic global keyword that can be enabled from the HDRP integration.
This also removes the need for the core FSR code to check the current render pipeline and hack in a special HDRP mode.
|
2 years ago |
Nico de Poel
|
87f615fd3b
|
Added keyword for disabling texture arrays, which is required to make single pass instanced rendering (i.e. XR stereo) work properly.
|
2 years ago |
Nico de Poel
|
0a7b36e7a3
|
Reduced shader multi-compile keywords based on what's actually used inside the shader code.
Still a bit unsure about this but I'm not seeing any obvious problems.
|
2 years ago |
Nico de Poel
|
da7cd89e68
|
Consolidated all FSR asmdefs into a single one
|
2 years ago |
Nico de Poel
|
4fa1ea8563
|
Changed asmdef filenames to their definitive camel cased versions
|
2 years ago |
Nico de Poel
|
17f73d826e
|
Changed asmdef filenames to something uppercase and temporarily different because Git is being weird
|
2 years ago |
Nico de Poel
|
f2cb2c5116
|
First import of combined FSR2/3 core assets package
|
2 years ago |