Implement Anti-Aliasing (AA) with compute shaders

  • Added AA mask pass to identify edges based on depth and normals.
  • Implemented adaptive horizontal and vertical blur shaders for AA.
  • Refactored Render class to incorporate AA in the deferred pipeline.
  • Added screen-space pass to blit the combined buffer to the backbuffer.
  • Moved perspective near and far constants to near-far.hpp for consistency.
  • Various code cleanups and bug fixes in shaders and C++ code.

Spent the rest of the day implementing AA. I probably shouldn’t be messing with this so early in development, but I just couldn’t help myself. FPS tanked down to 120, but it looks pretty sweet. I’ll sleep on it and see if I can find a way to optimize it. Something feels a bit off with the compute shaders—maybe I’m passing some wrong parameters? Intuitively, it shouldn’t be this expensive.

Previous