The Graphics Lab at the University of Southern California has designed an easily reproducible, low-cost 3D display system with a form factor that offers a number of advantages for displaying 3D objects in 3D. The display is:
* autostereoscopic - requires no special viewing glasses
* omnidirectional - generates simultaneous views accomodating large numbers of viewers
* interactive - can update content at 200Hz
The system works by projecting high-speed video onto a rapidly spinning mirror. As the mirror turns, it reflects a different and accurate image to each potential viewer. Our rendering algorithm can recreate both virtual and real scenes with correct occlusion, horizontal and vertical perspective, and shading.
While flat electronic displays represent a majority of user experiences, it is important to realize that flat surfaces represent only a small portion of our physical world. Our real world is made of objects, in all their three-dimensional glory. The next generation of displays will begin to represent the physical world around us, but this progression will not succeed unless it is completely invisible to the user: no special glasses, no fuzzy pictures, and no small viewing zones.
We describe a set of rendering techniques for an autostereoscopic light field display able to present interactive 3D graphics to multiple simultaneous viewers 360 degrees around the display. The display consists of a high-speed video projector, a spinning mirror covered by a holographic diffuser, and FPGA circuitry to decode specially rendered DVI video signals. The display uses a standard programmable graphics card to render over 5,000 images per second of interactive 3D graphics, projecting 360-degree views with 1.25 degree separation up to 20 updates per second. We describe the system's projection geometry and its calibration process, and we present a multiple-center-of-projection rendering technique for creating perspective-correct images from arbitrary viewpoints around the display. Our projection technique allows correct vertical perspective and parallax to be rendered for any height and distance when these parameters are known, and we demonstrate this effect with interactive raster graphics using a tracking system to measure the viewer's height and distance. We further apply our projection technique to the display of photographed light fields with accurate horizontal and vertical parallax. We conclude with a discussion of the display's visual accommodation performance and discuss techniques for displaying color imagery.
High-speed DLP projection using standard graphics hardware:
We achieve high speed video projection by modifying an off-the-shelf projector to use a new DLP drive card with custom programmed FPGA-based circuitry. The projector decodes a standard DVI signal from the graphics card. Instead of rendering a color image, the projector takes each 24-bit color frame of video and displays each bit sequentially as separate frames. Thus, if the incoming digital video signal is 60Hz, the projector displays 60?24 = 1,440 frames per second. To achieve faster rates, the video card?s output is set to rates of 200Hz and above. At 200Hz, the projector displays 4,800 binary frames per second.
Anisotropic Spinning Mirror:
Previous volumetric displays used a spinning diffuse plane to scatter light in all directions but could not recreate view-dependent effects such as occlusion. Instead, we use an anisotropic holographic diffuser bonded onto a first surface mirror. Horizontally, the mirror is sharply specular to maintain a 1.25 degree separation between views. Vertically, the mirror scatters widely so the projected image can be viewed from multiple heights.
This surface spins synchronously relative to the images being displayed by the projector. We use the PC video output rate as the master signal. The projector's FPGA decodes the current frame rate and interfaces directly to an Animatics SM3420D "Smart Motor". As the mirror rotates up to 20 times per second, persistence of vision creates the illusion of a floating object at the center of the mirror.
Correct perspective with vertical tracking:
The images sent to the projector can either be pre-computed or rendered in real-time using raster OpenGL graphics. The simplest rendering algorithm projects a sequence of 288 perspective images from a camera rotating around the scene. This perspective geometry assumes that all rays reflected off the mirror reconverge at a single viewpoint. In reality, frames reflected off the mirror diverge towards multiple viewpoints in space. The result (shown on the left) is a 3D image where the horizontal field of view is exaggerated and straight lines appear curved. A second artifact is due to the lack of vertical parallax. Just as an image on a piece of paper will appear smaller when viewed from an oblique angle, the projected image will appear to stretch vertically when the viewer changes height. We have developed an improved rendering algorithm (shown on the right) that generates correct horizontal and vertical perspective at multiple heights. Instead of using a simple perspective camera, we trace each reflected projector ray to find the correct viewer positions at a given moment in time. Furthermore, we leverage our system's unique real-time update to dynamically adjust the imagery based on each viewer?s height and distance. This is a novel and promising way of displaying 3D imagery. If combined with a passive tracking system, it allows multiple tracked viewers to each experience his own correct view of a three-dimensional scene, with horizontal and vertical parallax, without 3D glasses.