This week I watched the Technical and Design VR tips Unite video from 2015: https://www.youtube.com/watch?v=_2T0dwGYP0s.
The most important takeaway is that “framerate is king”. Most of the tips were basic. For example, humans do not like terrifying imagers or surprises, especially in VR. Audio quality is very important. Stereoscopic 3D combined with other depth perception methods like parallax shading is effective at producing the illusion of depth. Most of all, humans do not like acceleration, especially vertical forces.
What struck me was their suggestion to include anti-aliasing. They say to have x4 MSAA enabled for mobile devices and x16 MSAA enabled for gaming computers. I decided to look into this further. Needless to say, there are many forms of anti-aliasing.
Types of Anti-Aliasing
SSAA, is simple anti-aliasing that performs supersampling on a texture. Supersampling is when a pixel’s color is averaged with surrounding pixels.
MSAA, or Multi Sampling Anti-Aliasing, involves forward rendering. It is more efficient than SSAA. It looks at the edges of polygons and performs sampling there. Unlike deferred rendering, forward rendering does not blur the image. This is important for virtual reality.
FXAA, or Fast Approximate Anti-Aliasing, is faster than MSAA. It uses deferred rendering. It fails to smooth edges, especially which high contrast to its surroundings. Despite being “good enough” for some, the edge aliasing makes it less adequate for virtual reality.
CSAA which is called Coverage Sampling Antialiasing is used by NVIDIA. It looks a little better than 16x MSAA at the performance of 4x MSAA.
MLAA, or Morphological Anti-Aliasing. Like FXAA, it is a post-processing effect that uses blurring. It is very fast.
I understand why Unity’s talk would suggest MSAA rather than other methods. From my research, I believe that a combination not supersampling and MSAA would produce an adequate result. Unlike looking a computers screen, the need for proper anti-aliasing is more important for virtual reality when the pixels are up next to the eyes.
This is very much related to our class’s hamster VR game. Last week, we fixed an issue with transparency by using cutout geometry. This caused our hamster cage to be very nauseating and disorienting. Pixels were moving even when idle. I added an FXAA anti-aliasing shade to the main camera. I will change it MSAA and see if there are improvements.
In-depth explanation of Anti-Aliasing: https://mynameismjp.wordpress.com/2012/10/24/msaa-overview/
Cool Video comparisons different Anti-Aliasing methods: http://www.iryoku.com/smaa/downloads/SMAA-Enhanced-Subpixel-Morphological-Antialiasing.mp4