New-Tech Europe | November 2016 | Digital edition
Optimizing Virtual Reality: Understanding Multiview
Thomas Poulet, ARM
Introduction As you may have seen, Virtual Reality (VR) is getting increasingly popular. From its modern origins on desktop, it has quickly spread to other platforms, mobile being the most popular. Every time a new mobile VR demo comes out I am stunned by its quality; each time it is a giant leap forward for content quality. As of today, mobile VR is leading the way; based on our everyday phone it makes it the most accessible and because you are not bound to a particular location and wrapped in cables, you can use it wherever you want, whenever you want. As we all know, smooth framerate is critical inVR, where just a slight swing in framerate can cause nausea. The problem we are therefore facing is
words, emulate the way eyes work. In order to do so we generate two cameras with a slight padding, one on the left, the other on the right. If they share the same projection matrix, obviously their view matrices are not the same. That way, we have two different viewpoints on the same scene. Now, let us have a look at an abstract of a regular pipeline for rendering stereo images: 1. Compute and upload left MVP matrix 2. Upload Geometry 3. Emit the left eye draw call 4. Compute and upload right MVP matrix 5. Upload Geometry 6. Emit the right eye draw call 7. Combine the left and right images onto the backbuffer
simple, yet hard to address. How can we keep reasonable performance while increasing the visual quality as much as possible? As everybody in the industry is starting to talk about multiview, let us pause and take a bit of time to understand multiview, what kind of improvements one can expect and why you should definitely consider adding it to your pipeline. Stereoscopic rendering What is stereoscopic rendering? The scope of this post doesn’t cover the theoretical details behind this question, but the important point is that we need to trick your brain into thinking that the object is real 3D - not screen flat. To do this you need to give the viewer two points of view on the object, or in other
46 l New-Tech Magazine Europe
Made with FlippingBook