Visualization of Phong vs Physically Based Rendering |
With the implementation of PBR (Physically Based Rendering) into Ventuz we will outline all you need to know to get your project working with PBR.
The key to understanding what's happening with the PBR workflow is that PBR separates the Light from the Material. With this approach, you can have independent lighting and material based scenes.
Whenever you decide to change the environment, which can be based on an HDRi using the PBR Sky Box Node for example, you don't need to tweak any material settings.
PBR - Physically Based Rendering is a lighting model we added to Ventuz in Version 7.1. In previous versions, Ventuz supported Image Based Lighting (IBL). In Version 7.1 and later, Ventuz uses the IBL support along side PBR.
Additionally, you can make use of the PBR Light Sources.
To make use of PBR in your Scenes, some requirements must be met with: Material, Environment (Sky Box) and Lighting settings.
There is a new PBR Skybox Node that uses a single texture, like an HDRi, to prefilter the specularity to match it to the roughness level of PBR materials using less properties; removing some complexity from your Scene.
Previous versions of Ventuz have been able to import glTF objects. GLTF Objects have PBR ready materials inside of them and as a result, they rarely need any adjustments to have them looking great in your Scene.
While working with PBR you will come across two different workflows; The difference between these workflows is explained below, but they are the two methods that are used to utilize textures inside of Ventuz for PBR. These textures can be exported by third party tools such as Marmoset Toolbag, and Adobe Substance Painter - to name two.
The specular workflow is called also the Artist friendly workflow. The textures that define the specular workflow can be easily visualized or imagined by an artist. However, this workflow can be resource consuming for your Project.
A specular texture also offers more control over the specular color and intensity and therefore more gives you more flexibility whenever you want to create a complex material.
While following the specular workflow, a standard exported texture set can consist of:
The metalness workflow makes use of a metalness / metallic texture that can be a simple 8-bit texture. The PBR system simply needs to know: is it a metallic surface; is it a conductive, a non conductive, or an isolated surface?
The specular color and intensity will be taken from the diffuse or albedo texture.
There is a down side when using the metalness workflow; At the borders where a metallic and non-metallic surface meet, you may notice small artifacts due to the filtering / anti aliasing applied to the meshes. It can be so subtile that you may not notice, but it may be visible when using premultiplied alpha textures.
The Metalness workflow textures can consist of:
While you work with PBR, you will also come across different engines and their different lighting models. One will use terms such as GGX, and Oren Nayar. Whenever you start to compare between engines, the visual result may be slightly different but will often be very similar.
We tried to match the Ventuz PBR engine as closely as possible to other third party tools used by the industry such as Adobe Substance Painter, and Marmoset Toolbag. Keep in mind that PBR is NOT physically correct - its always a very close approximation.
For some insight of what kind of algorithms we use:
For specular, we use standard GGX with Schlick fresnel and compensation for multi-scattering issues, resulting in accurate rough metal renders.
For diffuse, we use the algorithm presented by Earl Hammon, Jr. at GDC2017 as our validation; this has been the most physically accurate from the methods that we tested.
PBR allows you to have physically accurate renderings which is completely independent from your Scene's lighting set up. You can easily import glTF models, create a lighting setup and, in true Ventuz fashion, change it on the fly without needing tweak any material properties.