Computer-generated images can be a little more realistic -- and a lot cheaper to make -- with a rendering program created by a Cornell graduate student.
"To render an image you start by describing all physical characteristics of a scene to a computer, which translates them into an equation and tries to solve it. This process can be incredibly difficult and awkward. The goal of my project is to create cutting-edge software that makes it considerably easier," said Wenzel Jakob, a Ph.D. student working with Steve Marschner, associate professor of computer science.
Jakob has just released a major new version of Mitsuba, a free, open-source rendering program that is already in use by computer graphics researchers around the world. "Open source" means that the code is freely available for anyone to work on. Although many others have contributed significant refinements, Jakob said, it's mostly his development, the result of several years of work -- about 150,000 lines of code -- and he's still in charge of the project. "I get to decide what goes in," he said.
Mitsuba is named after an herb that is used in Japanese cooking, a hobby of Jakob's.
"It's been very rewarding to watch this software grow from a small project a few years back into one of the most sophisticated renderers available," Marschner said.
The new version offers a much-improved user interface, along with mathematical advances under the hood to speed up processing and enhance realism. Most animated movies and video games are built with software that makes compromises, settling for results that are "at least not objectionable," Jakob said. In academia, he said, there's a drive for realism that has brought forth new developments, but these are only slowly making their way into commercial software.
"What really is new is that Mitsuba implements a group of rendering algorithms that traditionally have been horribly complicated," Jakob said.
In particular, that includes an algorithm (a set of mathematical rules for writing a program) called Metropolis Light Transport that has long frustrated programmers. "To my knowledge this is the first publicly available implementation of the algorithm that works correctly," Jakob said.
Together with improvements developed by Jakob and Marschner, this algorithm manages the complex behavior of light traveling through glossy materials such as brushed metal or glass. As examples, Jakob offers images of a brass chandelier with many bulbs, glassware on a serving tray illuminated by such a chandelier and architectural scenes lit by sunlight coming through windows.
Computer graphic images are created in two steps. First, the artist builds a 3-D model, stored by the computer as an array of the points on the surface of an object, along with information like color and texture. The rendering step then creates an image of what the model would look like when seen from a particular point in space, assuming a particular source of illumination. To do that the computer must calculate the path of rays of light traveling from the "camera" to the object, reflecting off it and then traveling to the light source. The new version of Mitsuba speeds this up by calculating "bidirectionally," tracking rays both from the light source and from the camera and figuring out where they meet.
In addition to the free Mitsuba for rendering, free modeling programs are available. The most popular is called Blender. The Blender Foundation's "Open Movie Project" turns out an animated movie every year to demonstrate what can be done with free software. Mitsuba is not integrated with this software yet, Jakob said, but he hopes that a future cooperation will enable both efforts to benefit from one other.
Jakob's work on Mitsuba has been funded in part by grants from the National Science Foundation.