Nico de Poel
70c7ea0e51
Restored compatibility with Unity versions older than 2021.2, which didn't have the LocalKeyword struct yet.
3 years ago
Nico de Poel
6504adeea6
Create temporary resources at actual render size, reducing VRAM usage when dynamic resolution is in effect.
3 years ago
Nico de Poel
7ba0dc48dc
Updated shaders to FSR 2.2.1
3 years ago
Nico de Poel
4707ce8364
Implemented dynamic scaling through a custom scale factor. No ScalableBufferManager involved. Doesn't work nicely with MSVO AO, but otherwise does the job.
3 years ago
Nico de Poel
e1660542ea
Updated PPV2 code to version 3.3.1
3 years ago
Nico de Poel
91c6d58147
Comments
3 years ago
Nico de Poel
2e67acb859
Eliminated unnecessary blit to an intermediate temp RT by allowing PPV2 screen space RTs to be created with random write access. This way FSR2 can output directly to the PPV2 effects chain.
3 years ago
Nico de Poel
c37b796404
Take control of the camera target texture and blit directly to it. This allows FSR2 upscaling to work on cameras that output to a target texture.
3 years ago
Nico de Poel
79211d3dbb
- Consolidated accumulate and accumulate+sharpen pipelines into a single pipeline, with the sharpening option being changed into a local keyword that can be enabled or disabled on-the-fly. This removes the need for an additional copy of the accumulate shader, saving a considerable amount of memory.
- Changed the atomic counter from a temporary RT that gets reset every frame, to a permanent resource that gets set to 0 only on the first execution frame. Fixes auto-exposure causing a black screen on MacOS.
3 years ago
Nico de Poel
2323ae88d5
Refactored opaque-only color texture to be provided as a property, instead of as a function argument. This keeps the Render() method in line with all of the other effects.
3 years ago
Nico de Poel
1a063e971f
Use the correct method to release temporary render textures. Fixes memory leaks from RT's not getting released properly.
3 years ago
Nico de Poel
9b140d20a3
Updated PPV2 code to version 3.3.0
3 years ago
Nico de Poel
5bca835097
Set a default motion blending value on depth-of-field when FSR is active. Reduces jittering artifacts on DoF blur.
3 years ago
Nico de Poel
489b8571d2
Reset camera viewport in OnRenderImage when we're not blitting directly to the camera target. This fixes some potential issues with other systems that are affected by when/where the camera viewport is modified.
3 years ago
Nico de Poel
0d6ba46401
Fixed input resource size to match the lower internal render resolution. At the time this code gets called, the context's width and height will have already been increased to display resolution, which are the incorrect values for this field.
3 years ago
Nico de Poel
a9bd7a284f
Additional safety checks when applying mipmap bias offset
3 years ago
Nico de Poel
d1965ee786
Callbacks factory does not need to be static and should not be static (i.e. allow for different callbacks depending on context)
3 years ago
Nico de Poel
6eeb3f1f46
Added inspector fields for remaining properties
3 years ago
Nico de Poel
c308726c1c
Don't use FSR2 when in edit mode
3 years ago
Nico de Poel
23d26aa84b
Allow a choice for exposure value source: either auto-calculated from FSR2 or Unity, or a manual texture, or the default value.
3 years ago
Nico de Poel
66cf9bf16a
Bits and bobs
3 years ago
Nico de Poel
397710f50f
Added support for auto-transparency & composition
3 years ago
Nico de Poel
ff34164ef3
Added support for auto-reactive mask generation, using a temp RT for storing the opaque-only image.
3 years ago
Nico de Poel
ea05e5da58
Perform OnRenderImage blit using an explicit temporary RT for the upscaled output. This can be blitted directly instead of needing an awkward command buffer, and it'll be less likely to cause issues than blitting from and to the same display buffer.
3 years ago
Nico de Poel
884adee6ed
Abuse display buffer to store upscaled image and blit it to the camera output destination in OnRenderImage. Bit of a hack but it works to support not outputting directly to the camera target.
3 years ago
Nico de Poel
911d98f5a1
Implemented mipmap bias offsetting
3 years ago
Nico de Poel
e9eb1f4e31
Implemented upscaling using FSR2. Currently only works when outputting directly to camera target.
3 years ago
Nico de Poel
18e9781013
Added methods for manipulating camera viewport rect
3 years ago
Nico de Poel
05d00e0963
Use PP context source texture for FSR2 input color buffer
3 years ago
Nico de Poel
695c09e8ff
Added a custom effect injection point right before upscaling & TAA, to be rendered at the lower internal rendering resolution.
3 years ago
Nico de Poel
4982b959d5
Made a start on showing FSR2 parameters in the inspector
3 years ago
Nico de Poel
77c4cd4954
Removed duplicate camera jitter application, fixing the jitter issue from before.
Also cleaned up an unused render texture.
3 years ago
Nico de Poel
99cbc183f8
Initial integration of FSR2 into the post-processing pipeline, as just an alternative to the standard TAA option. No upscaling yet.
Some issues with jittering still remain, but the basic functionality is there.
3 years ago
Nico de Poel
6ecfb65943
Imported FSR2 shaders and core classes
3 years ago
Nico de Poel
94d604ab6c
Initial commit with clean version of PPV2 v3.2.2
3 years ago