Virtual reality technology is finally available to consumers around the world, and VR enthusiasts can now choose between a variety of products and VR platforms. Then again, VR might not be for everyone given the relatively high cost of admission, especially in the PC world where the HTC Vive and Oculus Rift need to be backed up by powerful computers. A more affordable alternative comes in the form of mobile VR, with headsets such as the Samsung Gear VR relying on the processing power of flagship phones to render virtual reality environments. This is a less costly VR endeavor, but generally speaking, mobile VR gaming still requires a fairly powerful smartphone, and this can be an issue for anyone who may want to try VR through entry-level headsets such as Google Cardboard. However, surprisingly enough, game designer Brian Kehrer who worked on creating Arctic Journey recently developed new virtual reality rendering techniques which seem to make VR a viable experience even for underpowered smartphones such as the Samsung Galaxy S3.
First, to understand why VR is a challenging platform for developers, we need to understand the basic requirements of VR as a whole. VR content is generally required to run at a smooth, steady frame rate of 60 frames per second and above. Anything below this and users can start noticing delays in motion control and head tracking, which can lead to motion sickness. Evidently, rendering scenes at a constant frame rate of at least 60 frames per second can be a challenge for smartphones, especially older models, but creating VR experiences for such devices is even more challenging due to the nature of how depth perception is achieved. In this sense, VR works similarly to 3D, in that VR devices have to render two separate scenes, one for each eye. Lastly and more importantly, all VR lenses distort, stretch, and warp images – so a straight line will generally be distorted into a curved line. To prevent this effect from becoming visible to the end user, high-end VR headsets are generally designed to process an image normally, and then inverse-distort the image to compensate for the lens distortion and show the proper image. But this process of distorting images after they are normally processed and before they pass through the lenses requires a lot of processing power, and older smartphones are not designed for the challenge.
However, developer Brian Kehrer who worked on Arctic Journey – one of the most popular Google Cardboard experiences – and his team were able to run the software on a Samsung Galaxy S3 with dynamic lighting enabled at a stable frame rate of 60fps. While initial testing showed that the aforementioned device was simply not capable for the task, Brian Kehrer and his team were eventually able to create a proper VR experience on a fairly underpowered smartphone using a couple of graphics tricks, which would allow the device to cut the middleman and render distorted images from the very beginning. Using Tessellation, simple polygons can be broken down into hundreds of smaller squares with many more vertices. The technique can break down a few 4-vertex squares into 121-vertex tessellated objects, and in turn, this allows Vertex Displacement to warp lines / polygons that would normally be straight and thus pre-render distorted images before they pass through the lenses. The technique seems to be a lot less demanding compared to the "Timewarp" technique used by the HTC Vive and Oculus Rift, which made Brian Kehrer wonder why the two aforementioned high-end headsets require such powerful hardware when other, simpler, less demanding techniques can apparently yield similar results. Whatever the reasons may be, it is refreshing to see how some developers aim to bring VR in the hands of consumers who may not yet be ready for the platform.