With recent advances in three-dimensional (3D) printing technology, it is now possible to produce a wide variety of 3D objects, utilizing computer graphics models and simulations. But while the hardware exists to reproduce complex, multi-material objects, the software behind the printing process is cumbersome, slow and difficult to use, and needs to improve substantially if 3D technology is to become more mainstream.
On July 25, a team of researchers from the MIT Computer Science and Artificial Intelligence Lab (CSAIL) will present two papers at the SIGGRAPH computer graphics conference in Anaheim, California, which propose new methods for streamlining and simplifying the 3D printing process, utilizing more efficient, intuitive and accessible technologies.
“Our goal is to make 3D printing much easier and less computationally complex,” said Associate Professor Wojciech Matusik, co-author of the papers and a leader of the Computer Graphics Group at CSAIL. “Ours is the first work that unifies design, development and implementation into one seamless process, making it possible to easily translate an object from a set of specifications into a fully operational 3D print.”
3D printing poses enormous computational challenges to existing software. For starters, in order to fabricate complex surfaces containing bumps, color gradations and other intricacies, printing software must produce an extremely high-resolution model of the object, with detailed information on each surface that is to be replicated. Such models often amount to petabytes of data, which current programs have difficulty processing and storing.
To address these challenges, Matusik and his team developed OpenFab, a programmable “pipeline” architecture. Inspired by RenderMan, the software used to design computer-generated imagery commonly seen in movies, OpenFab allows for the production of complex structures with varying material properties. To specify intricate surface details and the composition of a 3D object, OpenFab uses “fablets”, programs written in a new programming language that allow users to modify the look and feel of an object easily and efficiently.