43
Virtual Reality Stereoscopy A year of prototypes and conclusions. Diego Bezares. @diegobez What if... ?

Virtual Reality Stereoscopy : A year of prototypes and conclusions

Embed Size (px)

Citation preview

Page 1: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Virtual Reality Stereoscopy A year of prototypes and conclusions.

Diego Bezares. @diegobez

What if... ?

Page 2: Virtual Reality Stereoscopy : A year of prototypes and conclusions
Page 3: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Accommodation reflex

Page 4: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Convergence

Page 5: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Stereoscopy

IPD. Interpupilar distance

- How does the brain “view” different IPD’s ?

Page 6: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Stereoscopy

Normal Mapping vs. Parallax MappingThe technique known as “normal mapping” provides realistic lighting cues to convey depth and texture

without adding to the vertex detail of a given 3D model. Although widely used in modern games, it is much

less compelling when viewed in stereoscopic 3D. Because normal mapping does not account for binocular

disparity or motion parallax, it produces an image akin to a flat texture painted onto the object model.

“Parallax mapping” builds on the idea of normal mapping, but accounts for depth cues normal mapping

does not. Parallax mapping shifts the texture coordinates of the sampled surface texture by using an

additional height map provided by the content creator. The texture coordinate shift is applied using the per-

pixel or per-vertex view direction calculated at the shader level. Parallax mapping is best utilized on

surfaces with fine detail that would not affect the collision surface, such as brick walls or cobblestone

pathways.

Page 7: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Why stereoscopy ?

Presence : The sense of “being there” .

An illusion that a mediated experience is not mediated.

Page 8: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Pre-render

¿ what if…. ?

Page 9: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Scene Prerendered to equirectangular stereo

360 panorama capture

360 panorama capture

Page 10: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Animated waves + Kite shadow

Page 11: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Virtual cameras movement

Page 12: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Omni Directional Stereo Content

https://developers.google.com/vr/jump/rendering-ods-content.pdf Google

Omni-directional stereo (ODS) is a projection model for stereo 360 degree videos. It’s designed for VR viewing with a head-mounted display (HMD).

ODS uses a special projection format which has the following advantages: ● It is panoramic and stereo everywhere—there are no bad seams or dead zones (except directly above and below the camera, which we will discuss later). ● It's pre-rendered—like film and video, it plays well on all devices. ● It’s encoded as two video streams—it can be stored, edited, and transmitted using conventional tools.

Page 13: Virtual Reality Stereoscopy : A year of prototypes and conclusions

stereo ?

Page 14: Virtual Reality Stereoscopy : A year of prototypes and conclusions

ODS

4096 x 2048 pixels -> 4096 camera positions

Page 15: Virtual Reality Stereoscopy : A year of prototypes and conclusions

ODS : No manual stitching- Stitching : the process of combining multiple images with overlapping fields of view to produce a segmented panorama

Stitching errors ->

Google Jump is using machine learning for stitching

Page 16: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Unity3D ODS camera implementation

- Problemas en los polos

Page 17: Virtual Reality Stereoscopy : A year of prototypes and conclusions

BlackJackVR

Page 18: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Cubemap projection vs equirectangular

20% improvement

Page 19: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Cubemap sizeEjemplo : GearVR.Resolución : 2560 x 1440 pixels => 1280 x 1440 cada ojoFOV : 96 gradosPíxeles por grado : 1280 / 96 = 13.4 horizontal, 1440 / 96 = 15 verticalSi giramos podemos ver 360º horizontales -> 360 x 13.4 = 4824 píxelesSi giramos podemos ver 180º verticales-> 180 x 15 = 2700 píxeles

render target bigger ( for distorsion correction ), 1.4x

Page 20: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Positional Tracking support

¿ What if ... ?

Pedro Fernando Gómez

@pedrofgomez

pedrofe.com

Page 21: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Positional Tracking support

Pedro Fernando Gómez

@pedrofgomez

pedrofe.com

Page 22: Virtual Reality Stereoscopy : A year of prototypes and conclusions

lights, stereo billboard

Page 23: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Full screen prerendered.

Viable :High poly, complex scenes, complex lightning.

Not-realtime rendering engines , VR cameras like : Pedro Fernando Gómez VR Camera for Arnold : http://pedrofe.com/oculus-camera/

Complex, expensive.

What if... ?

Page 24: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Capturing reality

- Arduino + step motor- OpenCV :

video -> imagen ODS

Page 25: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Capturing reality

http://cctoolkit.vectorcult.com/

Page 26: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Capturing realityhttps://docs.google.com/document/d/14CpJQKUeeFDt_P07oStEBbJqbdJikMvgv8tIyHb8F2I/edit?usp=sharinghttp://mistralsocialgames.com/vr/test2.html

1 minute 360 degrees, 2 cameras 60fps 1080p.2 pixel columns per position.60 fps x 60 secs/min x 2 pixels = 7200 pixels

7200 x 1900 pixels per eye.

Arduino one, accelstep library, 28BYJ-48 step motor

Page 27: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Animated, interactive scene

- prerendered animations.- Loops : tree leaves, characters : idle -> action -> idle.- Interactivity- Integration with Realtime 3D objects.

What if ... ?

Page 28: Virtual Reality Stereoscopy : A year of prototypes and conclusions

VR Video

- 360 degrees, just 100 degrees at the screen..- Big video files : resolution, 360º, stereo, etc...- Decoding processing limited : 20mbs high end mobile, 50mbs PC.- Bad stereoscopy ( 16 camera positions, stitching errors … ).- Complex stitching, expensive.

Page 30: Virtual Reality Stereoscopy : A year of prototypes and conclusions

VR VideoArc of alpha, beta degrees

- stitchado bordes

Page 31: Virtual Reality Stereoscopy : A year of prototypes and conclusions

VR VideoStitch

Page 32: Virtual Reality Stereoscopy : A year of prototypes and conclusions

VR Video

Blend

Page 33: Virtual Reality Stereoscopy : A year of prototypes and conclusions

VR Video

- Chroma- OpenCV : splitting static background and foreground.

Page 34: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Diego bezares. @Diegobez

Thanks !GearVR PlaystationVRCardboard SteamVR

XBOX Scorpio

Oculus RIFT

2014June

2015November

2016March

2016April

2016October

2016Fall

2017Late

Daydream

Page 35: Virtual Reality Stereoscopy : A year of prototypes and conclusions
Page 36: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Locomotion

Page 37: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Resolución en R.V

Page 38: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Resolución en R.V

Píxels por grado de visión.

Page 39: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Render Target

Page 40: Virtual Reality Stereoscopy : A year of prototypes and conclusions

Trends

Page 41: Virtual Reality Stereoscopy : A year of prototypes and conclusions
Page 42: Virtual Reality Stereoscopy : A year of prototypes and conclusions
Page 43: Virtual Reality Stereoscopy : A year of prototypes and conclusions