Thursday, December 13, 2018
DevelopmentGuest PostVR development

How to Reduce Aliasing Effect (Description and Algorithms)

Aliasing in VR games causes discomfort and worsens the level of immersion. Learn about anti-aliasing algorithms, targeted at reducing the effects of aliasing.

Guest Post

 

A great VR game should offer a perfect level of immersion so that a player feels comfortable and can enjoy the game session to the fullest. There are many factors that influence the level of immersion, and a high-quality picture is one of the key factors. Looking at various problems associated with the image quality, aliasing is definitely on this list.

Aliasing is an artifact, expressed in the form of jagged and flickering lines and edges of an image. Aliasing can occur both on the polygons and on the contents of the polygons, that is why this problem cannot be considered as the problem of the edges only.

In statics, aliasing isn’t crucial, whereas, in dynamics, this issue is extremely relevant because micro-motions of the VR helmet, in conjunction with aliased objects, lead to the flickering of the image. The flickering picture enhances discomfort, distracts players and, consequently, reduces the level of immersion and lowers gameplay satisfaction.

In order to avoid this, various smoothing algorithms are used.

 

How to Reduce Aliasing: Main Algorithms

Anti-aliasing is any method, aimed at the elimination of aliasing artifacts. Anti-aliasing methods (AA methods/algorithms/techniques) can be based on multi-sampling or post-processing.

Speaking about anti-aliasing algorithms based on multi-sampling, they calculate extra samples, and then use these samples to choose the color of the pixel more accurately. SSAA (Super-sample anti-aliasing) and MSAA (Multisample anti-aliasing) are part of this group.

As for AA algorithms based on post-processing, they don’t calculate extra samples. Instead, they are used during post-processing to reduce aliasing by examining the rendered image and adjusting the pixels. The advantage of this group is that post-processing anti-aliasing algorithms can be combined with any of the multi-sampling methods for the best result. FXAA (Fast Approximate anti-aliasing), SMAA (Subpixel Morphological anti-aliasing) and TXAA (Temporal Approximate anti-aliasing) belong to this group.

Below is an overview of all AA methods.

 

Algorithms Based on Multi-Sampling

 

1. SSAA (Super-sample Anti-Aliasing)

SSAA Super-sample Anti-Aliasing
Source: Nvidia

This anti-aliasing method offers the best image quality, however, its low speed is one of its disadvantages. This algorithm works well with static images, but it shows an average work for dynamic cases. The SSAA algorithm takes high-resolution images and reduces their resolution to the required size. As a result, the edges are smooth, but this method needs more hardware resources from a video card. Besides, it is known that the increase in pixel density of a monitor can reduce the aliasing effect. It happens because the display resolution allows the pixels to more accurately match the curved or diagonal line being rendered.

Pros

  • It gives the best quality of the image.
  • Artifacts both on boundaries and in the textures are reduced.

Cons

  • It affects performance much because the scene is rendered at a very high resolution.

 

2. MSAA (Multisample Anti-Aliasing)

MSAA Multisample Anti-Aliasing
Source: Nvidia

MSAA involves forward rendering. Performance-wise, MSAA is a major improvement over SSAA. MSAA detects the edges of polygons and enlarges the number of samples there. The boundaries of triangles are rendered as the averaged value of a sum of pixels. The final pixel color is obtained by sampling a certain number of pixels.
This smoothing algorithm works well only with static images.

Pros

  • It works faster than SSAA.
  • It does not affect performance much.
  • The image isn’t blurred.

Cons

  • It shows the best results only on the edges of the polygons; the internal areas of the polygons aren’t smoothed.
  • It produces lower image quality compared to the SSAA technique.

 

Algorithms Based on Post-Processing

 

1. FXAA (Fast Approximate Anti-Aliasing)

FXAA Fast Approximate Anti-Aliasing
Source: Nvidia

FXAA involves deferred rendering. This undemanding fast smoothing algorithm is used in the final image. Basically, it blurs the groups of pixels with abrupt changes in brightness. It works well only with static images.

Pros

  • It offers a good resource/quality ratio.
  • Large and close objects are smoothed well.

Cons

  • It blurs the image, distant objects become unrecognizable.
  • It doesn’t smooth all the edges in the scene.

 

2. SMAA (Subpixel Morphological Anti-Aliasing)

SMAA Subpixel Morphological Anti-Aliasing
Source: Nvidia

This AA method also works well only with static images. This is a simple and effective method that not only finds, but also recognizes different patterns in the form of sharp lines, curves, boundaries of objects, and blurs them in the direction of these lines.

Pros

  • It offers reliable edge detection.
  • It works fast.
  • It doesn’t blur the image much.

Cons

  • This algorithm is resource-hungry.

 

 

3. TXAA (Temporal Approximate Anti-Aliasing)

TXAA emporal Approximate Anti-Aliasing
Source: Nvidia

This algorithm has been developed by NVIDIA. In this algorithm, a contribution of samples (both inside and outside of the pixel) and samples from prior frames are used to ensure the filtering of the highest quality. This method shows good results both with static and dynamic images.

Pros

  • It offers a high-quality image.
  • It is as productive as SSAA, but it doesn’t influence performance much.

Cons

  • In dynamics, the image is blurred.
  • It is more demanding than the SMAA algorithm.

 

Bottom Line

If you want to choose something fast, cheap, and you are willing to tolerate image blurriness, opt for FXAA. If you have a powerful graphics card but MSAA isn’t available due to the rendering to the texture, SMAA is a good choice. If your graphics card is able to cope with SMAA, and you want to choose a more demanding algorithm that works well, both with static and dynamic images, then TXAA (the most popular algorithm to date) is a win-win option. However, if your priority is the best quality, and the effect on performance is not important, then go for SSAA.

See Also:  How to Become a Virtual Reality Developer

Anton Tril - ARVI Labs

About the Author

Anton Tril, CTO at ARVI Lab, is a computer graphics programmer, VR game developer and software engineer. Being a researcher by nature, writer by passion, he is happy to share his life experience and professional knowledge with the people around.
Anton inherently believes that VR can make your dreams come true.