What is Shader Lamps ?

In the simplest form, Shader Lamps is a technique to change the appearance of physical objects. For example, you can make a white clay object sitting on a table in front of you appear to be made of gold or plastic. The physical object is illuminated with a data (or video or slide) projector. The images to be projected are computed with a 3D graphics rendering program.

What is the main idea ?

You see special effects typically on a movie screen or on TV. By changing appearance of real objects, Shader Lamps achieves 'special effects in the real world' around you.

What is required to achieve the Shader Lamps effects ?

A physical object, 3D graphics model of the same object, a projector and a PC running the rendering program.

How are the projected images aligned with real objects ? Is this process cumbersome ?

The registration involves two stages.

During the calibration stage, locations of projector pixels that illuminate important features on the physical object are collected. The calibration computes the pose of the projector with respect to the physical object. This one-time pre-processing stage involves the simple process of clicking with a mouse to collect pixel locations and takes less than one minute !

During the rendering stage, the 3D graphics model is rendered from the viewpoint of the projector. The rendered image when displayed appears correctly aligned with important features on the physical object.

How are the images generated ?

Image can be generated on the fly using real time 3D graphics rendering and animation. The images or image-sequences can also be precomputed and displayed one at a time by the projector.

What type of objects can be illuminated ?

Objects may be planar or non-planar. They could be on a tabletop, room-sized or buildings. Typically neutral colored objects (white or light grey with diffuse matte finish) are well suited.

How can you avoid self-shadows for complex objects (like the Taj Mahal model) ?

For a non-trivial object, shadows wrt a single projector are unavoidable. Shadows cast by the object on itself can be 'filled in' by two or more projectors. Multiple projectors are also required to surround and achieve complete illumination of a closed object.

How can you merge images from multiple projectors ?

A new intensity blending algorithm for feathering and cross-fading has been developed. It works in the presence of non-contiguous overlaps and surface shape discontinuities.

Can you illuminate objects that may be moving ?

If the rigid transformation of the moving object is known (e.g. if the object is on a turntable), it is straightforward to apply the transformation of the graphics model so that the physical and graphics model are back in the same coordinates, synchronized.

Can you make static objects appear as if they are moving ?

In addition to change of appearance, Shader Lamps techniques are ideal for creating interesting illusions. In some limited cases, by projecting appropriate animation physical objects can be made to appear as if they are moving. Some examples include a rotating vase and moving car.

At shaderlamps.com you can see more examples.