Previous Page  46 / 84 Next Page
Information
Show Menu
Previous Page 46 / 84 Next Page
Page Background

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