27 Commits (14fa1bc7d26af8f45feefec62071b0f304444efb)

Author SHA1 Message Date
Nico de Poel 8db82e664c Reworked upscaling integration to allow for multiple upscaler algorithms that can be switched on the fly. 1 year ago
Nico de Poel 004cbc9468 Fixed opaque-only copy buffer not keeping dynamic resolution scaling in mind. 2 years ago
Nico de Poel 6fc389f137 Fixed a few comments that still referred to FSR2 2 years ago
Nico de Poel c71e487b15 Updated SuperResolution shaders and code to FSR3 2 years ago
Nico de Poel f399aaee4f Upgraded to PPV2 version 3.4.0 with WebGPU support and several bug fixes 2 years ago
Nico de Poel 56d0050a72 Create opaque-only color buffer copy after opaque-only post-processing is done, and use the correct color format for the copy. 3 years ago
Nico de Poel 3a98642307 Restore original camera target texture if it hasn't been reset after FSR2 is disabled 3 years ago
Nico de Poel 17eb3f7700 Cleaned up the dynamic resolution feature by allowing dynamic scale to be disabled on screen-space RTs and globally disabling dynamic res only once, after upscaling. 3 years ago
Nico de Poel 2bbb4f3a1f Fixed incorrect scaled render size during FSR dispatch because of course, global variables and side-effects are bad m'kay. 3 years ago
Nico de Poel 3ae0a91944 Disable dynamic resolution on render targets created during and after FSR2 upscaling. 3 years ago
Nico de Poel 1e2e8b6a12 Release FSR2 resources when it's not in use. This frees up VRAM but also ensures that the mipmap bias is undone when switching to another AA option. 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 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 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 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 e9eb1f4e31 Implemented upscaling using FSR2. Currently only works when outputting directly to camera target. 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 99cbc183f8 Initial integration of FSR2 into the post-processing pipeline, as just an alternative to the standard TAA option. No upscaling yet. 3 years ago
Nico de Poel 94d604ab6c Initial commit with clean version of PPV2 v3.2.2 3 years ago