Computer Science and Artificial Intelligence Laboratory (CSAIL)
Massachusetts Institute of Technology
2013 SIGGRAPH/ACM Transactions on Graphics 32(4), July 2013.
3D printing hardware is rapidly scaling up to output continuous mixtures of
multiple materials at increasing resolution over ever larger print volumes.
This poses an enormous computational challenge:
large high-resolution prints comprise trillions of voxels and petabytes of
data and simply modeling and describing the input with spatially varying
material mixtures at this scale is challenging.
Existing 3D printing software is insufficient;
in particular, most software is designed to support only a few million
primitives, with discrete material choices per object.
We present OpenFab, a programmable pipeline for synthesis of multi-material 3D printed objects
that is inspired by RenderMan and modern GPU pipelines.
The pipeline supports procedural evaluation of geometric detail and material
composition, using shader-like fablets, allowing models to be specified
easily and efficiently.
We describe a streaming architecture for OpenFab; only
a small fraction of the final volume is stored
in memory and output is fed to the printer with little startup delay.
We demonstrate it on a variety of multi-material objects.
Kiril Vidimče, Szu-Po Wang, Jonathan Ragan-Kelley, Wojciech Matusik,
OpenFab: A Programmable Pipeline for Multi-Material Fabrication,
ACM Transactions on Graphics 32(4) (Proceedings of SIGGRAPH 2013),
Anaheim, July 2013.
A procedurally-defined foam material makes the bunny and bear
squishy. Color and squishiness vary procedurally over the
The front face of the postcard (left) is texture mapped using a
foreground image. The back of the postcard (right) displaces
the surface to create a spatially varying transmission
according to a combined foreground and background image. The
result is a hidden background image which only appears when
Left: procedurally-defined materials with anisotropic
mechanical properties. Center: Marble-like material generated
using Perlin noise. Right: Procedurally-defined and fully
parameterized aspherical microlens array with baffles.