Skip to content

SMAA (Sub-pixel morphological antialiasing) support #9819

Closed
@yhslai

Description

What problem does this solve or what need does it fill?

Feature: Support SMAA (Sub-pixel morphological antialiasing). It's a pracital implementation of MLAA (Morphological antialiasing).
Use Case: As far as I know, It's the best antialiasing that based on full-screen postprocessing only. It has the following advantages:

  1. No temporal blur. TAA is a quite big trade-off: sometimes it looks absolutely amazing, sometimes horribly blur. There is even a dedicate subreddit for complaining about TAA: /r/fuckTAA.
  2. Render pipeline independent: Unlike MSAA, SMAA doesn't need you to change anything on the render pipeline. It's truly just a post-processing effect. Forward or deferred rendering doesn't matter.
  3. Anti-aliasing on texture: MSAA only anti-aliases the boundaries of triangles. SMAA anti-aliases the aliasing cause by low-res textures too. (Of course it's a trade-off as well. Sometimes you don't want that.)
  4. Looks better than FXAA: well never mind, anything looks better than FXAA.

What solution would you like?

Implement a SMAA post processing effect.

What alternative(s) have you considered?

TAA, MSAA, FXAA. But as I stated, SMAA has unique advantages over them.

Additional context

Official SMAA implementation: https://github.com/iryoku/smaa (MIT license)
Paper: http://www.iryoku.com/smaa/
3D Graphics Discussion: #4630 (I'm not sure if I should just posted there, but some items in that post link to separate issuse so I assume it's fine to open a new issue for further discussion/details)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    A-RenderingDrawing game state to the screenC-FeatureA new feature, making something new possible

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions