Domemaster Stereo Shader

July – October 2010

A typical planetarium setup - in 3D

A typical planetarium setup – in 3D

After an innocent challenge from a friend at the Chabot Space and Science Center (Oakland, CA), I dusted off my C development skills (shelved since 1996) and created a domemaster lens shader for mental ray able to create stereo images for planetarium 3D projectors.

The shader generates Left and Right images from virtual cameras that change position for every pixel rendered, and allows for fine control of the 3D effect on different areas of the planetarium dome.

The shader is now an open source project.

Sample domemaster image rendered using the shader Center camera

Sample domemaster image rendered using the shader Center camera

Domemaster is the image format used for planetariums. It’s similar to a fish eye image but with no angular distortion.

The challenge was to create a dual-camera set up that could recreate the separate Left and Right point of views for a person looking at a show with a screen that fully surrounds him.

Instead of a simple Left and Right camera rig that is fixed for the frame, the shader allows for the two cameras point of view to change as the view direction moves to the side, the top, and the back of the screen, replicating the most natural way the viewer head would turn to look around.

Anaglyph Image Samples


Anaglyph Animation Samples

For a larger size, play them on YouTube.


Shader features

  • Center, Left, and Right camera selection
  • Horizontal, tilted, and vertical domes support
  • Head tilt, rotation, and eye separation controlled by maps
  • Field of View from 0 to 360 deg. (180 is the common FOV for planetarium domes)
  • Developed for Autodesk 3ds Max 2009 and 2011. Works with later versions too
  • Autodesk Maya and Softimage version also available as part of the open source project



I did some research on existing planetarium 3D solutions (all proprietary at that time) and more research on how my vision of what 3D for planetariums should work.

The development environment in 3ds max

The development environment in 3ds max

The necessary math was developed on an Autodesk 3ds Max scene simulating the mental ray camera in a way that allowed me to see the actual dome, the virtual cameras, the pixel being rendered, and the effect of the control maps.

All was done in Maxscript following the mental ray lens shader coordinate system.

Once the Maxscript prototype was complete, the code was converted to C in Visual Studio, the UI was created, and testing started.

The Final C version was completed in just 2-3 days.


The shader was used by me to create a few sample animations that I tested on the Academy of Science planetarium in San Francisco.

At the same time Aaron Bradbury (from NSC Creative) was also testing it. He would later use it to create a 3D version of their show Astronaut.

Andrew Hazelden also helped by picking up the code and creating Autodesk Maya and Softimage versions of the shader with an amazing documentation.



A few links where you can find a lot more info and images.

  • The release discussion thread on
  • An article in 5 parts on the Fulldome Database site where you can find more info about the port to Maya and how the shader was used for the Astronaut 3D show by NSC Creative.
  • Aaron beautiful personal project Vortex



  • Andrew and Aaron for the support and help during the development.
  • Dario Tiveron for helping promoting the project on the Fulldome Database page.
  • Terry Galloway at Chabot Space and Science Center for challenging me and getting this project started.
  • The guys at the Morrison Planetarium at the San Francisco Academy of Science for letting me use their dome for an evening.
  • Autodesk for letting me work on this side project using some company equipment.


  2010 /  Last Updated April 10, 2013 by Roberto Ziche