Computers

New light rendering technique ups the realism of computer generated images

New light rendering technique ...
A graphics algorithm can render lighting on rough surfaces with high fidelity
A graphics algorithm can render lighting on rough surfaces with high fidelity
View 9 Images
A graphics algorithm can render lighting on rough surfaces with high fidelity
1/9
A graphics algorithm can render lighting on rough surfaces with high fidelity
Light reflecting off car paint
2/9
Light reflecting off car paint
The algorithm is best suited for specular surfaces
3/9
The algorithm is best suited for specular surfaces
Wood and leather
4/9
Wood and leather
Lighting effects on the rough metal surface of a kettle
5/9
Lighting effects on the rough metal surface of a kettle
The method results in highly realistic lighting effects
6/9
The method results in highly realistic lighting effects
The algorithm groups microfacets into patches to speed up data processing
7/9
The algorithm groups microfacets into patches to speed up data processing
A rendering of water
8/9
A rendering of water
The facet's normal vector allows the algorithm to calculate the light's reflection
9/9
The facet's normal vector allows the algorithm to calculate the light's reflection

It's already nigh on impossible to pick computer generated graphics in the latest blockbusters, but the job is set to get even harder thanks to researchers who have developed a graphics algorithm that not only realistically models light reflecting off complex surfaces like water, leather, glass, and metal, but which also runs about 100 times faster than current state-of-the-art systems.

Many rendering techniques for computer graphics opt to smooth out complex and bumpy surfaces to speed up their calculations. Such techniques, the researchers responsible for the new technique tell us, were already fast enough to use in the early 80s, but the lack of detail can make those surfaces look a bit off when seen up close.

The algorithm developed by Prof. Ravi Ramamoorthi and colleagues at the University of California, San Diego (UCSD), UC Berkeley, Cornell and Autodesk, leads to much more realistic results because it breaks down each pixel of an uneven or intricate surface into a myriad of so-called "microfacets." Each microfacet acts like a tiny, smooth mirror, reflecting light in a particular direction. Taken together, tens of thousands of these tiny mirrors can help generate a highly realistic representation of many different surfaces.

The algorithm groups microfacets into patches to speed up data processing
The algorithm groups microfacets into patches to speed up data processing

Microfacets had already been used in other rendering systems, but processing them with accuracy required an impractical amount of number-crunching. The system introduced here reduces the necessary calculations by a factor of 100 and is only about 40 percent more demanding on hardware than the simplified "smooth surface" methods shown above.

The starting point for the researchers was to calculate, for each microfacet, its so-called "normal vector" – which lays on a line perpendicular to the surface of the facet. With the help of this vector, researchers can predict exactly where light will reflect.

The facet's normal vector allows the algorithm to calculate the light's reflection
The facet's normal vector allows the algorithm to calculate the light's reflection

The scientists determined which points in the microfacets would reflect light and which wouldn't based on the angle formed by the incoming light ray and the facet's normal vector. A virtual camera, corresponding to the point of view from which the rendering was done, would only pick up light reflected by a facet if it happened to be in the path of the reflected ray.

"When there are small bumps on the surface, the places where the angles line up correctly depend on those small bumps," Prof. Marschner, who took part in the study, told Gizmag. "There could be thousands of different places where reflection happens, on a bumpy mirror."

A rendering of water
A rendering of water

Whereas other systems would calculate the reflections one by one, requiring plenty of computing resources, the scientists in this study grouped microfacets into patches and then approximated the amount of light reflected by each patch. The result is not only 100 times quicker than before, but it can now also, for the first time, be used in computer animations rather than still pictures alone as is the case with current systems.

The next steps for the researchers will be to work on rendering very rugged surfaces, supporting multi-resolution representations, and making their software run even faster using less memory.

The advance will be presented later this week at SIGGRAPH 2016 in Anaheim, California.

Source: UCSD

3 comments
MBadgero
100 times faster is Great! The textured coffee pot does look good, but so does the smooth one, if smooth is what you are going for. I've never seen a bubble-gum snail with a nickel-plated shell before. Is that what they really look like?
habakak
Even the best animated movies today does not come close to reality. Yes, they are very good and vastly better than 20 years ago. Part of the problem is that animations are too perfect. For instance animals always appear perfectly clean with white teeth. Even with current progress animation won't match reality for many more decades if ever. Maybe that's not the point, maybe the point is just to match some facets of reality. But it definitely is not even close to real even though it is very good compared to what has come before.
chrisnfolsom
This is important for VR and gaming too - I hope the algorithm can easily be adapted to graphics cards. How you do it is as important as what you do - althoughVR and graphics are getting fast and good beyond what could have been expected 205 years ago when I first started working with it.