Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(anti-aliasing): Implement optional FXAA anti-aliasing #2

Merged
merged 9 commits into from
Jan 19, 2024

Conversation

AbsharHassan
Copy link
Owner

Description:

This PR closes #1 by introducing an optional FXAA anti-aliasing feature to enhance visual quality and smoothen out the 'jaggy' edges. Moreover, as requested in the issue, the antialiasing is togglable, allowing end users to be able to switch it on or off depending on their needs.

Changes:

  • Added anti-alising GLSL function based on FXAA and adapted from this repo.
  • Implemented a toggle in settings to enable/disable anti-aliasing, along with error handling.
  • Updated the rendering pipeline to incorporate the anti-aliasing step.

Testing:

  • Added unit tests for the new settings option to ensure all goals are met for this feature.
  • Conducted manual testing across different scenes to ensure visual improvements and no significant performance drops.

Screenshots:

Before FXAA:

anti-aliasing_need_example_screenshot

After FXAA:

anti-aliasing_implemented_example_screenshot

As can be seen by observing the edges of the cube, there is a great improvement and the edges appear more natural and the staircase effect has been greatly mitigated.

Checklist:

  • add anti-aliasing in the pipeline
  • add ability to toggle anti-aliasing by the user

@AbsharHassan AbsharHassan merged commit e606548 into main Jan 19, 2024
4 checks passed
Copy link

🎉 This PR is included in version 1.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Needs some anti-aliasing implementation
1 participant