GTC 2018
Introduction Thomas Burnett CTO, founder, and primary investigator - - PowerPoint PPT Presentation
Introduction Thomas Burnett CTO, founder, and primary investigator - - PowerPoint PPT Presentation
FoVI 3D Extreme Multi-view Rendering for Light-field Displays GTC 2018 Introduction Thomas Burnett CTO, founder, and primary investigator for FoVI 3D . ~15 years experience developing rendering solutions and architectures for static and
Introduction
2
Thomas Burnett
CTO, founder, and primary investigator for FoVI3D. ~15 years experience developing rendering solutions and architectures for static and dynamic light-field display systems. tburnett@fovi3D.com
Strong technical team with deep experience in optical, mechanical, electrical and software engineering.
Agenda
3
- Definition and Significance of
Light-field Displays
- Extreme Multi-view Rendering
for Light-Field Displays
4
Definition and Significance of Light-field Displays
Light-field Displays in Popular Media
5
Light-field Display Definition
6
- Reproduces a 3D aerial image visible to the unaided eye without glasses or
head tracking
- Binocular disparity, occlusion, specular highlights, and gradient shading and
- ther expected depth cues must be correct from the viewer’s perspective as in
the natural real-world light-field
Significance of Light-field Displays
7
- Human binocular vision and acuity, and the
accompanying 3D retinal processing of the human eye and brain, are specifically designed to promote situational awareness and understanding in the natural 3D world.
- The ability to resolve depth within a scene,
whether natural or artificial, improves our spatial understanding of the environment and as a result reduces the cognitive load accompanying the analysis and collaboration on complex tasks.
Natural vs Synthetic Light-fields
8
In a natural light-field we observe light reflected
- ff objects, perceiving color and depth cues. An
eye focuses a 3D scene on the retina as a 2D image, our brain reconstructs the 3D world. In a synthetic light-field, we observe light projected from a surface that generates the same color and depth cues, thus we see the same object.
9
Extreme Multi-view Rendering for Light-Field Displays
What is a Light-field
10
- A light-field is a set of rays that pass through every point in space and is typically defined for computer vision by a
plenoptic function: L = P Θ, ϕ, λ, Vx, Vy, Vz
- Can be presented as a 2D raster image (Radiance Image) where each pixel represents the color, position, and
direction of a ray within the light-field
- A light-field display is essentially a plenoptic projector; the inverse of a plenoptic camera
A hogel (holographic element) is a radiance image for a single micro-lens. Light-field displays require many hogels and thus extremely large radiance images.
Light-field Display Resolution
11
Spatial Resolution: Determined by size and pitch of micro lenses. Higher density, smaller micro-lens gives higher spatial resolution. Directional Resolution (Dr): Determined by the dimensions of the hogel. Assuming a square hogel, Dr2 is the number of rays per micro-lens. More is better. Field of View (FoV) The angular projection of a micro- lens. Angular Pitch (Ap): FoV/Dr. More than one ray per degree is desirable.
FoV
Dr
Magnitude of the Light-field Radiance Image
Size of Radiance Image - Examples
- 1.0mm hogels, Dr = 256, ~300mm (1ft) usable depth
- 0.7mm hogels, Dr = 512, ~600mm (2ft) usable depth
- 0.5mm hogels, Dr = 128, ~150mm (6”-8”) usable depth – real time 30 fps rendering
1,429 hogels x 1,071 hogels x 256 rays x 256 rays x 3 RGB bytes per pixel = ~150 Gigabytes per frame 1,429 hogels x 1,071 hogels x 512 rays x 512 rays x 3 RGB bytes per pixel = ~1.2 Terabytes per frame 2,000 hogels x 1,500 hogels x 128 rays x 128 rays x 3 RGB bytes per pixel = ~150 Gigabytes per frame x 30 fps = ~4.4 Terabytes per second
1m x 0.75m (90° FoV) Static Light-field TopoMaps for US Military 1m x 0.75m (90° FoV) Dynamic, Real Time, Light-field Display Conclusion: DO NOT MOVE PIXELS, don’t transport them, don’t store them. Render in hardware at the display instead.
Light-field Radiance Image
13
3D Model with Hogel Image Plane Radiance Image
502 Hogels – 402 Pixels (”Rays”) per Hogel
Resultant 3D Aerial LfD Projection
Cluster Based Radiance Image Rendering
14
Host Application Scene
Light-field Display interactivity and update rate are proportional to the complexity of the scene/model, the power/configuration of the rendering cluster and the size of the light-field display radiance image.
The OpenGL Shim
15
GL Application GL Shim Opengl32.dll OpenGL Driver Graphics Card GPU Dynamic Display Driver
DVI Ethernet
- 1. An OpenGL Shim is an ‘interceptor’
library design to mimic and replace/forward graphics commands.
- 2. In essence, the OpenGL shim
highjacks the command stream unbeknownst to the host application.
- 3. Often accompanied by a display
specific companion library.
Zebra Imaging ZScape Motion Display
Light-field Display Developed by Zebra Imaging under the DARPA UPSD Program
https://youtu.be/blb0TUBoZwA https://youtu.be/b_CKQN1t-e8
OpenGL and GPUs for Light-field Rendering
16
Many developers of novel display architectures have (or had) developed fix function OpenGL shims to intercept draw commands and forward them to a display specific renderer.
- However, there is no agreement on which OpenGL version and/or functions to shim.
- There are legacy fixed function APIs which are suboptimal for specifying geometry that programmers often default to because of their ease of
use and readability. These immediate mode functions perform poorly in the context of multi-view rendering. Their counterpart functions, the retained mode APIs, are far better suited for multi-view rendering; however, the retained model APIs have evolved significantly over the course of the OpenGL specification and not every application is implemented with the best constructs.
- Many of the OpenGL functions and functionality are not applicable to distributed or multi-view rendering. Point and line rendering is
computed in screen space and is not 3D.
- Shaders make shimming with confidence nearly impossible or is so highly restricted to the point where shaders may just emulate a fixed
function pipeline with little variation.
- There usually exists additional display specific extensions or APIs which then reduce the portability even more.
OpenGL has a single active viewport and a single active view matrix
- Fixed function OpenGL defines a single GL_MODELVIEW matrix which is the pre-multiplied model and view matrices. This implies that for any
display that requires multi-view rendering, the view component needs to be removed from the GL_MODELVIEW matrix or that the view matrix is specified in some other manner.
- Multi-viewpoint rendering becomes a responsibility of the host application which must cache the render commands and then re-render the list
for each viewpoint.
- Culling operations may have to be disabled since the host application may not understand the viewpoints or projections necessary for the
display technology.
- Meanwhile, the host application has stalled until all the views are rendered because the render state can not change until all the views are
rendered. The application developer has to know a lot about the target display.
- Number of views
- View specific projections and transforms
- Distortion shaders
Bounding Volumes Example
17
Double Frustum Rendering
18
- Advantage of rendering a hogel natively
- Does require two passes of the geometry to
create the ‘double frustum’ and there can be a mathematical singularity at the center of the bowtie
- Thousand of render passes per display update
- Very small viewport
- At least within the fixed-function OpenGL render
pipeline, camera matrix cannot have a non-zero near plane
- Benefits from frustum culling is tightly bound to
a hogel’s projection frustum
- Benefits from small batch size
Halle, Michael W. “Fast Computer Graphics Rendering for Full Parallax Spatial Displays.” International Society for Optics and Photonics.
Double Frustum Near Clip Planes
19
Oblique Slice and Dice
20
- Typically makes better use of the GPU in
that the algorithm generally renders to larger framebuffers within GPU memory
- May require fewer passes of the
geometry than the double frustum algorithm, but still hundreds to thousand of render passes
- Rendered pixels are not in a spatial form
that can be projected through a micro- lens array
- Oblique frustum is highly likely to
intersect changed geometry whether or not an individual hogel frustum actually intersects that geometry
- Bounding volumes have less impact on
the oblique rendering rates
- Batch size as lesser effect
- May require sampling if the hogel
arrangement is not rectilinear grid
- Inhibits on-the-fly transform
Current Graphics Rendering: The Tightly Bound Display
21
Server
3D Data Service
Client System
Data Video
Display 3D App
Render Engine GPU
Draw Commands
Today’s Tightly Bound Display Tomorrow’s Heterogeneous Display Ecosystem Server
3D Data Service
Client System
Data ObjGL
Display System 3D App
Scene Geometry
MvPU MvPU MvPU
…
App is agnostic to display architecture
Tomorrow’s Display Environment is Heterogenous
22
HDE: Sport Visualization
23
Flat Panel: PoV 0 Flat Panel PoV 4 Light-field Display: Bird’s Eye View 0 Flat Panel: PoV Stat 0 Beer HMD PoV 2
Light-field Display Architecture
24
Light-field Display Developer Kit
25
Lab Prototype Display With Bring-up Lenses LFD Developer Kit with Final Lens Solution First Quarter 2018 LfD DK2 https://youtu.be/oRjKKJM8IQc