![Show Menu](styles/mobile-menu.png)
![Page Background](./../common/page-substrates/page0046.jpg)
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
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
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
Optimizing Virtual Reality: Understanding
Multiview
Thomas Poulet, ARM
46 l New-Tech Magazine Europe