Files
godot-demo-projects/3d/antialiasing/README.md
Hugo Locurcio 31d1c0c112 Remove old and unused project settings, update various demos for 4.2 (#1024)
- Move all demo projects that don't require Forward+/Mobile-only features
  to the Compatibility rendering method. This improves performance significantly
  on low-end devices and ensures visuals are identical to a web export
  of the demo.
- Set deadzone on all inputs to 0.2 for better gamepad usability.
- Remove reliance on `default_env.tres` to use built-in Environment
  resources in the main scene instead (which follows the preview environment
  workflow).
- Remove notices pointing to GDNative or VisualScript, since both were
  removed in 4.0.
- Various bug fixes and usability tweaks to 10+ demos.
2024-03-26 18:01:58 +01:00

2.6 KiB
Raw Blame History

3D Anti-Aliasing

This project showcases the various 3D antialiasing techniques supported by Godot.

  • Multisample antialiasing (MSAA): High quality, high performance cost. Does not blur the image.
    • Does not affect shader-induced aliasing (such as specular aliasing) or alpha scissor materials, so these will remain aliased.
  • Fast approximate antialiasing (FXAA): Medium quality, low performance cost. Slightly blurs the image.
  • Temporal antialiasing (TAA): High-quality, low performance cost. Slightly blurs the image (but less so than FXAA).
    • Antialiasing quality is worse on fast-moving objects than other methods, especially at lower framerates since the TAA won't have enough time to converge on those objects. You can use the FPS limit setting provided when TAA is enabled to compare quality between different framerates (provided your graphics card can keep up).
    • Can introduce ghosting artifacts on moving objects, especially if motion vectors are not correctly generated from a given material shader.
  • Supersampling (SSAA): The highest-quality technique, but also the most expensive. Does not blur the image.
    • 200% resolution scale is equivalent to 4× SSAA, as each dimension is doubled. For example, if running in a 1920×1080 window at 200% render scale, the 3D framebuffer will be 3840×2160.
    • SSAA can be used together with FXAA or TAA to counter the blurring added by those algorithms, while further improving antialiasing quality.
  • Alpha antialiasing: Applied on certain materials in the demo, available in two modes (Alpha Edge Blend and Alpha Edge Clip). This is most effective when MSAA is enabled, as Godot enables alpha-to-coverage rendering on the material in this case. When MSAA is disabled, a fixed dithering pattern is applied on the edge of transparent areas on the material.

Godot allows using multiple antialiasing techniques at the same time. This can be useful to obtain the best possible quality, or to find a better performance tradeoff.

A resolution scale slider is also provided. When set below 100%, AMD FidelityFX Super Resolution 1.0 upscaling can be enabled to improve visuals compared to traditional bilinear filtering.

Note

AMD FidelityFX Super Resolution 1.0 is not an antialiasing technique. It works best when used at the same time as another antialiasing method.

Language: GDScript

Renderer: Forward+

Screenshots

Screenshot

Licenses

Files in the polyhaven/ folder are downloaded from https://polyhaven.com/a/dutch_ship_medium and are licensed under CC0 1.0 Universal.