Massachusetts Institute of Technology

Media Lab

Matthew Hirsch

Douglas Lanman


Build Your Own 3D Display


Please find the Anaglyph and Lenticular viewers and the Matlab source and course slides below. As always, email us with your questions!

Update: I have added a Python version of our anaglyph viewer code to the online code archive. It should be easy to extend this to the lenticular code if you are interested.

Source - SIGGRAPH 2011

Online and Offline: Single Blob

Online Only

Offline Only

Modified Warzone Code


In case you're a fan of the CMake build system, Roy Shilkrot has contributed cmakelists.txt files for the anaglyph and lenticular online projects.

Here are Roy's instructions:

They should reside in the sources (cpps and hs) folder.

and to go from source to binary using cmake (on any OS, pretty much):

mkdir build
cd build
cmake ..
cd ..
rm -rf build


Course Slides SIGGRAPH 2011


BYO3D 2011: Welcome


BYO3D 2011: History


BYO3D 2011: Construction


BYO3D 2011: Rendering


BYO3D 2011: Interlacing

Emerging Technology

BYO3D 2011: Emerging Technology

Course Slides SIGGRAPH 2010

Introduction and History

Representation and Display

Glasses Based Displays

Unencumbered Displays

Capture and Rendering

Emerging Displays

View more presentations from mhirsch45.

Shutter Glasses

Microcontroller Code

The PIC 16f506 firmware code can be found here. This code is released under the GPLv2.

A compiled HEX file can be found here.

This program was compiled using the HI-TECH C compiler version 9.70 Lite. This is a free version of the compiler, available for Mac, Linux, and Windows. The Lite version produces terrible assembly code, but its good enough for this simple program. The SDCC compiler is my preferred choice in compilers for the PIC, but the PIC14 port does not yet support the 16f506.

Microcontroller Schematic

Version 0.2 of the gschem schematic for the shutter glasses is here. This schematic is released under the GPLv2.

The PCB layout corresponding to this design can be found here. This file is also released under the GPLv2. It can be opened using the gEDA pcb tool. This is a single sided board which is appropriate for construction using a mill or acid etching.


Lenticular Sheet

Parallax Barrier


We will be continuing to update this page, course notes and code.

If you're working your way through this material and would like to start on any section that has not yet been posted here, please email me or Doug for the code.


This course was first taught at SIGGRAPH 2010 in LA, and again at SIGGRAPH Asia 2010 in Seoul, South Korea. We modified the course for SIGGRAPH 2011, removing the shutter glasses section, and adding OpenGL code to render lenticular and anaglyph images in real time.

Related Projects

Robert Kooima

Gregg Favalora, 3D Display Course



Matthew Hirsch: mhirsch [at]
Douglas Lanman: dlanman [at]