Tiled display systems face the physical alignment problem with the recognition that aligning the projectors manually is very challenging. It is possible to build systems through precise physical alignment, but is a time-consuming process and will require frequent realignment to ensure each projector generates an exact rectangular image necessary to align with neighbor projectors. Planar surfaces are easier for manual alignment of projectors than arbitrary surfaces. For example, in curved display surfaces, it is hard to generate a rectangular image which can be aligned with a neighbor projector.

In this project, we have created a calibration mechanism for planar and arbitrary surfaces that within seconds can generate a seamless display system out of a number of casually aligned projectors.

Out system relies on commodity hardware, support out-of-the-box OpenGL applications by leveraging the Chromium distributed rendering project generate a sub-millimeter accuracy and deterministic methods to geometrically calibrate the display.

We implemented the calibration software as an OpenGL application that can run through Chromium. By using the video4linux and lib1394 libraries, we implemented our own class to capture images from a variety of different cameras and input devices.We run the calibration through Chromium as any other OpenGL program will run. After the calibration process that outputs the matrices or triangulated mesh that define a per-projector transformation required to create a seamless image using all the projectors, we need to apply the actual warp just before the rendering step.

To apply the geometric warp, we implemented the WarpSPU as a stream processing unit. The WarpSPU runs in each end-node and captures everything that the main node with the tilesort SPU is sending to that specific rendering computer. There, the WarpSPU applies the mesh corresponding to that computer and puts everything back into the framebuffer so it can be displayed.

Collaborators: Brent Seales, UK

Poster: