Anaperture Single-Shot Anaglyph Apertures

by profhankd, published

Anaperture Single-Shot Anaglyph Apertures by profhankd May 20, 2016
1 Share
Download All Files

Thing Apps Enabled

Open in Customizer Order This Printed View All Apps

Design Tools


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

1988Views 278Downloads Found in Camera


Would you like to be able to capture "3D" images using your current film or digital, still or movie, camera? Anaperture is a Customizer-compatible OpenSCAD program to design special dual-aperture discs that allow single-shot, single-lens, anaglyph stereo capture using a conventional still or video camera. Images captured can be seen in 3D using the usual funny-colored glasses... in fact, you can even see the camera live view in 3D that way!

This 3D-printed design creates filter masks that can fit inside the threaded filter ring of a typical DSLR lens. The color filter material itself is cut from the colored gels in a pair of viewing glasses that you can buy for under $1.

Print Settings

Printer Brand:









Doesn't matter




Trivially easy and quick print in PLA. However, you'll want to use the most opaque PLA you can find... or you'll have to paint the PLA to make it light tight.


The filter material is simply cut from a pair of the anaglyph viewing glasses and taped/glued over the two holes. Using the two-part design, fix the filters on the part with the tab and then seal them in by pressing the second part in place over them with the holes aligned. It should fit in fairly tightly, but you can use two-sided tape of glue to fix it in place.

Once you've assembled the new analglyph aperture, simply pop it inside the filter thread of your lens (turn it to make the two holes horizontal) and take photos as normal with the lens aperture always set to wide open. The images captured, and even the live view, will be a stereo anaglyph! Enjoy!

You say it didn't work for you? First, make sure you didn't let the lens stop-down the aperture; that can even give something like the red and cyan spots in the 6th image. Assuming you kept the lens aperture wide open, the real trick here is sizing. Enter the appropriate data for your lens and the OpenSCAD anaperture design program will attempt to design something reasonable, but it cannot predict lens vignetting, which is a very common and often overlooked defect among fast lenses. A too-long baseline will suffer vignetting that makes each side of the image colored -- vignetting is literally clipping one of the paths through the lens so that the sides only get one view each. If this happens, try targeting something like f/8-f/11 with a very short stereo baseline -- the example images here were shot with f/11 and a baseline of just 8mm.

How I Designed This

This is really an OpenSCAD version of the CGI script I wrote 5 years ago to create SVG designs for anaglyph apertures. There are a variety of enhancements because the 3D-printed waterhouse stops can be fully 3D parts, while the SVG designs were 2D shapes with a simple, somewhat fragile, fold-up tab.

How This Works

An anaglyph is a type of stereo image in which the left and right sides are encoded in a single image by assigning approximately non-overlapping colors to each side. Although many color assignments can be used, the most common are red/cyan and green/magenta. The samples shown here are red/cyan. To see depth, you use viewing glasses that have color filters causing each eye to see only the colors assigned to that side's view.

Normally, two separate images are captured and then processed together to form the anaglyph. Instead, we can directly capture the image as an anaglyph by using filters cut from cardboard-frame viewing glasses of the same colors used for viewing. This will wreck a pair of viewing glasses, but they cost no more than $1. Alternatively, you can use photographic or stage lighting gel filters... it's not very picky, but you want to divide the spectrum into two disjoint parts that the camera's RGB capture can keep separate, which usually means either R/GB (i.e., red/cyan) or G/RB (i.e., green/magenta).

The two colors normally would be placed in front of two separate lenses, however, it suffices to create two optical paths within a single lens. This is done by a type of dual Waterhouse Stop -- a fancy name for an opaque material with two holes in it. If the holes are sized and placed correctly, and the appropriate filter is placed over each, capturing an anaglyph image can be as simple as placing this new stop in front of the lens and pressing the shutter button. It will even work for movies.

The hole size and placement are critical, and depend on some properties of the lens. (Before you ask, no, it isn't feasible for cell phone cameras because the holes would need to be too small and too accurately placed.) The original anaperture tool accepts a few key parameters, computes the ideal stop design, and generates a Scalable Vector Graphic (SVG) image of the stop for printing. Laser or inkjet print the stop image, tape color filters over the holes, cut it out, stick it in front of your lens, and capture some anaglyphs! The new version here uses OpenSCAD to design 3D-printable anaglyph apertures that are somewhat more robust.

You'll want to look at http://www.instructables.com/id/Use-Your-Camera-To-Capture-3D-Anaglyphs/ to understand more of why this works....

More from Camera

view more

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for business-to-business and business-to-consumer sales all over the world. W...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App


Thank you for the prompt reply.

It is now working. I removed and reinstalled ver 2015.03-2 and re downloaded your .scad file. I am using Windows 10.

Nice work.

Hello. What version of openscad was this written for? I have tried using the latest version but get an error "Parser error in line 178: syntax error"
toplab = str("f=", round(length), "mm");

The current stable Ubuntu version from http://www.openscad.org/downloads.html is 2015.03-2, and it works perfectly for that.
According to the documentation, it should work.
What version are you running and on what platform?
Are you sure you didn't accidentally do something like insert an illegal character -- for example, various word processing programs will replace ASCII quote marks with marks that look better, but aren't legal quotes for the OpenSCAD language...?

Very cool! Do you know if it works on GoPRo (if I reduce sizes)?
Thank you

Probably not. Two reasons:

  1. The size and spacing of the apertures becomes too small for 3D printing tolerances.
  2. Ultrawide lenses often have optical formulations that don't permit use of a front-mounted aperture.

In truth, the stereo separation would be tiny then anyway, and good stereo would probably result only when at close focus. The relevant diameter is the actual focal length of the lens divided by the f/number -- good stereo at normal distances usually comes when that diameter is 20mm or larger. For example, a non-vignetting 50mm f/2 would have a 25mm diameter.

Perfect answer.
Thank you very much

Very nice! Thank you!

This is brilliant. Nice work!