Zephyron
19cf31b215
feat: add Temporal Anti-Aliasing (TAA) support for OpenGL and Vulkan
...
- Add TAA option to AntiAliasing enum in settings
- Implement TAA shaders for both OpenGL (GLSL) and Vulkan (SPIR-V)
- Add OpenGL TAA class with framebuffer management and temporal blending
- Add Vulkan TAA class following existing AntiAliasPass architecture
- Integrate TAA into OpenGL and Vulkan rendering pipelines
- Add UI translations and Android string resources for TAA option
- Implement Halton sequence jittering for temporal sampling
- Add motion vector validation and neighborhood clamping to reduce ghosting
- Configure aggressive temporal blending to minimize visual artifacts
- Add proper descriptor set management for Vulkan TAA implementation
The TAA implementation provides high-quality anti-aliasing by combining
information from multiple frames with per-pixel jittering, resulting
in smoother edges and reduced aliasing artifacts while maintaining
good performance and temporal stability.
Fixes: Black screen issues with proper descriptor set bindings
Fixes: Ghosting artifacts with improved temporal blending parameters
Fixes: Jitter visibility with reduced jitter intensity (50% scaling)
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2025-09-21 10:34:19 +10:00
..
2025-05-06 16:08:59 +10:00
2024-01-24 04:26:55 +00:00
2025-07-16 15:41:41 +10:00
2023-11-29 14:26:11 -05:00
2025-07-16 11:11:33 +07:00
2023-03-05 02:36:31 -05:00
2025-05-06 16:06:48 +10:00
2022-10-06 21:00:54 +02:00
2023-01-29 17:49:42 -07:00
2023-05-07 15:11:16 +01:00
2022-10-06 21:00:53 +02:00
2023-08-15 17:47:40 -04:00
2025-05-06 16:06:48 +10:00
2023-12-26 10:35:14 +01:00
2025-05-06 16:11:33 +10:00
2023-01-29 17:49:42 -07:00
2024-01-27 21:42:16 +00:00
2023-03-07 20:26:56 -05:00
2023-05-28 15:05:55 -04:00
2022-04-23 05:55:32 -04:00
2023-01-29 17:49:42 -07:00
2023-09-16 11:56:25 -04:00
2022-04-28 18:24:11 +02:00
2022-04-28 18:24:11 +02:00
2025-07-22 21:37:37 +07:00
2025-05-06 16:11:33 +10:00
2022-11-30 18:30:30 -05:00
2024-01-18 21:12:30 -05:00
2023-01-29 17:49:42 -07:00
2023-03-26 10:24:33 -04:00
2024-02-19 16:00:46 +01:00
2023-01-14 05:12:41 +00:00
2023-07-18 19:31:35 -04:00
2022-07-27 12:53:49 +02:00
2023-01-29 17:49:42 -07:00
2023-06-03 00:05:31 -07:00
2023-06-03 00:05:31 -07:00
2023-10-11 11:13:19 -04:00
2023-06-03 00:05:27 -07:00
2022-07-27 12:53:49 +02:00
2023-01-29 17:49:42 -07:00
2023-03-12 11:33:01 -04:00
2022-07-02 12:33:49 -04:00
2023-03-12 11:33:01 -04:00
2023-11-25 00:46:15 -05:00
2022-10-06 21:00:52 +02:00
2023-12-27 10:42:27 -05:00
2023-12-27 10:42:27 -05:00
2022-04-28 18:24:11 +02:00
2024-02-02 13:25:38 -06:00
2024-02-19 16:00:46 +01:00
2023-12-25 23:30:56 -05:00
2023-06-28 09:49:47 -06:00
2025-05-06 16:11:33 +10:00
2025-05-06 16:11:33 +10:00
2022-04-23 05:55:32 -04:00
2022-04-23 05:55:32 -04:00
2023-08-15 17:47:40 -04:00
2023-08-15 17:47:40 -04:00
2023-01-29 17:49:42 -07:00
2022-04-28 18:24:11 +02:00
2022-04-23 05:55:32 -04:00
2024-01-24 04:26:55 +00:00
2022-07-27 12:53:49 +02:00
2022-08-19 16:08:40 -07:00
2022-07-27 12:53:49 +02:00
2022-10-06 21:00:54 +02:00
2022-10-06 21:00:54 +02:00
2022-10-06 21:00:54 +02:00
2025-05-06 16:08:59 +10:00
2022-04-23 05:55:32 -04:00
2024-01-25 16:43:53 -05:00
2024-02-19 16:00:46 +01:00
2023-11-10 12:01:35 -05:00
2022-07-27 12:53:49 +02:00
2022-07-27 12:53:49 +02:00
2022-09-01 16:50:41 +01:00
2022-04-23 05:55:32 -04:00
2023-01-29 17:49:42 -07:00
2023-10-13 18:51:11 +03:00
2022-11-30 18:30:30 -05:00
2022-07-27 12:53:49 +02:00
2023-03-29 19:26:12 -07:00
2024-01-31 16:38:51 +01:00
2024-02-05 23:01:17 +01:00
2024-02-05 23:01:17 +01:00
2022-07-27 12:53:49 +02:00
2024-02-24 02:34:09 +02:00
2022-07-27 12:53:49 +02:00
2022-07-27 12:53:49 +02:00
2025-05-06 16:11:33 +10:00
2023-07-04 16:02:58 +01:00
2024-01-15 23:26:53 +00:00
2024-02-09 09:20:53 -05:00
2025-09-21 10:34:19 +10:00
2023-11-11 21:03:15 -06:00
2024-02-17 12:32:33 -05:00
2023-12-12 17:25:36 -05:00
2025-05-06 16:08:59 +10:00
2025-09-14 16:05:31 +10:00
2023-11-25 00:47:28 -05:00
2023-11-25 00:47:35 -05:00
2024-02-04 20:01:47 +01:00
2023-07-17 15:46:24 -04:00
2022-04-23 05:55:32 -04:00
2022-04-23 05:55:32 -04:00
2023-10-25 21:47:32 +02:00
2023-10-25 21:47:32 +02:00
2023-06-07 21:44:42 -04:00
2023-03-07 21:17:46 -05:00
2022-04-23 05:55:32 -04:00
2022-04-23 05:55:32 -04:00
2024-02-20 22:15:38 -05:00
2024-02-20 22:15:38 -05:00
2023-08-25 19:22:31 -04:00
2023-06-28 01:36:06 -04:00
2025-05-06 16:11:33 +10:00
2022-04-28 18:24:11 +02:00
2022-11-22 22:22:28 -05:00
2023-10-20 11:41:29 -04:00
2023-06-22 09:25:23 -04:00
2025-05-06 16:06:48 +10:00
2024-01-24 04:26:55 +00:00
2023-06-05 15:15:11 -04:00
2022-04-23 05:55:32 -04:00
2023-01-29 17:49:42 -07:00
2025-07-16 11:11:33 +07:00
2022-08-16 15:19:57 -06:00
2022-04-23 05:55:32 -04:00
2023-06-09 05:12:22 +05:00
2025-05-06 16:06:48 +10:00
2023-05-05 17:18:35 -06:00
2022-04-23 05:55:32 -04:00
2022-04-23 05:55:32 -04:00
2024-01-24 04:26:55 +00:00
2024-01-24 04:26:55 +00:00
2023-03-23 22:16:20 -04:00
2022-04-23 05:55:32 -04:00