Realistic surface rendering for computer games
05 May 2015
The surface of rendered objects in computer games often looks unrealistic. A new method creates much more realistic images, imitating complex sub-surface scattering.
Whether it is skin, stone or wax – on the computer screen, all materials look alike, as if the objects had all been cut out of the same kind of opaque material. This is about to change: TU Wien (Vienna), the University of Zaragoza and the video game company Activision-Blizzard have developed a new mathematical method which makes surfaces appear much more realistic by taking into account light scattering which occurs below the surface.
“It is called sub-surface scattering”, says Christian Freude, who works on the new rendering method together with Károly Zsolnai, Thomas Auzinger and Michael Wimmer. “This scattering inside the object is the main reason why different surfaces can look so different. Skin does not look like wax and a plant does not look like a stone surface.”
Skin is particularly tricky. A face can be rendered in high resolution, with ultra-realistic details, down to single pores and tiny impurities; but this does not mean that it looks realistic. When subsurface scattering is not taken into account, even a perfectly modelled face looks as if it has been chiselled out of a dull, opaque, skin-coloured stone.
“In principle, we could simulate the physics of light scattering below the surface”, says Christian Freude. “But to do that, we would have to simulate countless light rays, and it would take hours to render a single picture.” Therefore, the research team looked for a method to achieve a similar effect in fractions of a second. This is how the 'SSSS-method' (SSSS is short for separable subsurface scattering) was developed.
Jorge Jimenez from Activision-Blizzard came up with the basic idea and went on to develop a similar method especially for skin. “Based on that, we have worked out the mathematical basis for displaying arbitrary materials; for example, marble, wax or plants”, says Professor Michael Wimmer.
“We start by calculating the scattering of a single beam of light below the surface. With this result we can create a simple filter profile, which can then be applied to the images again and again”, says Christian Freude. “The computer image is still created with conventional methods, then we modify it with our SSSS-technique, improving the appearance of the surfaces.”
“We sought an elegant solution that can be applied to a picture that has already been rendered. The final version of our method only takes half a millisecond per image in full HD resolution, on standard commodity hardware”, says Károly Zsolnai. This means that the smoothness of the motion is not affected.
“Attempts to include subsurface scattering in real-time rendering have been made before, but up until now, the computing time has always been too long for practical purposes”, says Christian Freude. “We have now been able to reduce the modification of a two dimensional image to two one dimensional calculations. This saves computing time but still yields very convincing results.”
“This reduction of the dimensionality has been achieved using various mathematical methods, ranging from exact integration and numerical optimization to user-driven color profile modelling”, says Thomas Auzinger.