A team of computer graphics experts from the University of California, San Diego has figured out a way to make shiny objects within films look a lot more realistic. For example, Iron Man’s suit, Captain America’s shield, even The Batmobile — could all benefit aesthetically thanks to a new algorithm.
The researchers, led by Professor Ravi Ramamoorthi, achieved this by created a method to improve how computer graphics software reproduces the way light interacts with extremely small details, called glints, on the surface of a variety of materials like metallic car paints and metal surfaces on electronics.
The method is also 100 times faster than the current technologies, requires minimal computational resources, and can be used in animations. Current methods can only reproduce these so-called glints in still form.
With higher display resolutions comes the need for a more accurate depiction of a material’s appearance.
Currently, modeling the way surfaces reflect light involves the assumption you’re dealing with a smooth surface at the pixel level, but in the real world, that’s not always the case, especially when it comes to metallic materials, fabrics, wood finishes and wood grain. As a result, current methods cause these surfaces to appear noisy, grainy or glittery.
“There is currently no algorithm that can efficiently render the rough appearance of real specular surfaces,” said Ramamoorthi. “This is highly unusual in modern computer graphics, where almost any other scene can be rendered given enough computing power.”
The researchers decided to break down each pixel of an uneven, intricate surface into pieces covered by thousands of light-reflecting points smaller than a pixel, called microfacets. They then computed the vector that is perpendicular to the surface of the materials for each microfacet, called the point’s normal. The normal is vital to figuring out how light reflects off a surface.
For a specific computer-generated scene, the microfacets on a surface reflect light back to the computer’s virtual camera only when its normal is located exactly halfway between the ray from the light source and the light ray that bounces back from the surface. The team s calculated the normals’ distribution within each patch of microfacets and then used the distribution to determine which normals where in that halfway position.
What makes the algorithm work so quickly is its ability to easily compute the amount of net reflected light with a speed that is orders of magnitude faster than previous methods. Using a distribution rather than trying to calculate how light interacts with every single microfacet resulted in considerable time and computer power savings.