The “Next generation” label in the CG and game industry rely more on the real-time use of Physically Based Rendering (PBR) technique than a real shift in the hardware paradigm. While the technology has been introduced around 6 years ago in the CG industry with Disney or ILM white paper (Siggraph 2010), it became broad in real-time CG around 2 years ago with the game engine new renderer targeting next generation game. Now that PBR is standard, it educated the consumer’s eye with this hyper-realistic 3DCG rendering. We would expect its down version browser-based WebGL or mobile-based OpenGLes to do the same. With a large amount of tweak and hack this can be achieve with some obvious hardware limitation.
Our Andrew Maximov Materialing test in Unreal Engine 4
PBR materials are defined with the following criteria: Albedo, Microsurface, Fresnel and Reflectivity on the top of the usual Normal and Ambient Occlusion. Please refers to the links at the end of this post for detailed explanations of the parameters. Albedo is the neutral color of the material: its Hue without any shadow nor brightness and with a saturation based on real life reference. Microsurface defines the roughness of the material and will basically bring all its realism. Somewhat an old material will render better than perfectly clean and new one as those microsurfaces inform the eye on both the scale and hardness of the object. Also, while this map is a one channel bitmap, its contrast range from 76% to 88% for real life common roughness. Reflectivity and Fresnel are slightly different than their non PBR equivalent as they includes all kind of reflectivity and deal with the metalness of the material.
For optimization in game engine a single object will be mapped using only one UV map set combining both metal and non metal material by using mask. As demonstrated in the UE4 “Realistic Rendering” sample scene there is no need of fragmenting the object based on its material hierarchy.
An excellent state of the art PBR material library pipeline designed by the senior CG artist Andrew Maximov. It is difficult to know if game engine optimize input channels at compile time but for a real-time application one channels input can be combined into one bitmap merging Metallic, Roughness and AO. Thus leading us to a 3 bitmap set: Albedo, Normal, MRAO.
As PBR rely on environment map lighting and real world light energy, it opens the door to an optimistic hope about a consistency in the final image, regardless of the vendor’s renderer used. This lead us to a move of Nvidia to bring a standard in the PBR materials. The MDL will render exactly the same or close whatever the scene is real-time or not. Vendors supporting the language include major CG software maker and may lead to standardized material production pipeline as the gain in development cost are obvious. MDL runs on IRAY renderer from Nvidia and its real-time runtime is build on the top of OpenGL 3.3. While this technology is not targetting the game industry, chances are that game engine makers add this API as it uniforms the design process.