Knowing Physically Based Rendering(PBR) is very useful the world of computer graphic art. PBR provides an accurate method of representing the interaction between light and the surface where the light is reflected or refracted. Another term for Physical based Rendering is Physical Based Shading (PBS). The terms are used depending on the concept under discussion in that PBS is used in shading while PBR in rendering and lighting. Both terms, however, represent methods of accurately representing physical assets. Maps are used to illustrate the physical attributes of the surface being represented. There are two main types of Physical Based Rendering standard workflow and they include PBR Metallic and PBR specular.
How Real Life Metal Works
On the left we have a clean copper material, while on the right we have full oxidized copper. One is metallic, the other is not.
Metallic attributes are usually fed in the PBR shader as textures (Usually Grayscale for metal workflow and as color in specular channel for specular workflow).
The maps for the metal or roughness workflow are base color, roughness and metallic. In this workflow, the value of reflectance of the metal is placed in the base color map as well as the reflected color for dielectrics. The metallic map is used to denote which parts of the material denote a raw metallic material. A metallic map acts as a mask and is used to differentiate the metal and dielectric data that is found in the map of the base color. The shader handles the dielectric F0 values such that when the shader views black in the metallic map this denotes a non-metal and uses 4% are the value of reflectance. In the metallic map, 0.0 (black-0sRGB) represent a non- metal while 1.0(white-255 sRGB) represent a raw metal. With the metal or roughness workflow, it is possible to conserve energy as the reflected color and the specular balance are controlled through the metallic mask. Hence, making it impossible for diffuse and specular to combine to reflect or refract light than is received. The reflectance value for metals is usually placed along with the reflected color for dielectrics. The base color for metals an also contain reflectance values. If dirt or oxidation is added to the base color the metal’s reflectance value diminishes to` a range that it can no longer be considered a raw metal. Dirt and oxidation must also be accounted for in the metallic map. Metal that is oxidized is treated as a dielectric or rusted metal and this is also true for a paintedmetal. The metallic map can also be used to represent a blended metal and non-metal which are represented by transitional gray scale values in the map. If the metallic map has gray value lower than 23SRGB then the raw metal reflectance value will need to be lowered in the base color thus to create a blend between the dielectric and metal reflectance values.
Values that indicate the reflectance values of metals are obtained from real world values. These help in determining the reflectance values of the metals in use.Firstly, colorrepresents albedo for non-metals and reflectance values for metals. Secondly, the base color should be without lighting information except for micro-occlusion. Additionally, dark values should not be lower than 30sRGB -the tolerant range to 50sRGB -the strict range. In addition to the above, bright values should not exceed 240sRGB and lastly, the reflectance for raw metal which is high ranges between 70-100 % specular that can be mapped to 180-255sRGB.
Real Time Standards: PBR-Specular and PBR-Metallic
The two main PBR Workflows, Metallic and Specular. Sourced from Allegorethmic’s PBR Guide Vol 2.
The PBR-Specular workflow
The different maps applied to a single asset.
The Specular /Glossy workflow, just like the metallic workflow is also defined using maps in the PBR shader. The maps used in this workflow include diffuse, specular and glossiness maps. In this workflow the reflectance values for metals and F0 for non-metal materials are placed in the specular map. In this workflow, there are two RGB maps: one for diffuse color (albeido) and another for reflectance values (specular).
In the specular map, there is control over F0 for dielectric materials. In this workflow areas that indicate raw metal will be black (0.0 value) because metals do not have a diffuse color. The base guidelines for the diffuse map have the same tonality as those of the tonality map such that color represents albedo for non-metal materials and black (0.0) for raw metals, base color should not have light except for micro occlusion, dark values should not exceed the range of 30sRGB – 50sRGB and the bright values should not be higher than 240sRGB. The specular map defines the reflectance values for metals and the F0 for non-metal. The map allows for the different values of the dielectric materials to be authored in the map unlike the metal/roughness map which restricts it to 4% values and can only be modified using the specular level channel. Here, the F0 for dielectric values are usually darker values and the values for metals and dielectrics authored in the RGB specular map. The glossiness map shows the surface irregularities that cause light diffusion. In the glossiness map, black, (0.0) represent a rough surface while white (1.0) represent a smooth surface.
Pros and Cons of Using PBR-Metallic
The Specular/ glossiness workflow has various pros and cons. Firstly; the edge artifacts are less visible. Secondly, there is control over the dielectric F0 value in the specular map. Additionally, it contains specular details thus giving better results as the map uses all three-color channels for data storage. However, there is likelihood of using incorrect values as the specular map provides control over the dielectric F0. Also, it is impossible to conserve energy if the workflow is incorrectly handled in the PBR shader. Additionally, the workflow uses more texture memory with an additional RGB map. Finally, it can be confusing as the terminology is similar to traditional workflows but it requires different data.
Allegorethmic has noticed that artifacts can be reduced with proper texel density.
The roughness map is used to describe the irregularities in the surfaces that cause light diffusion and the reflected direction varies randomly based on the surface roughness. There are changes in light direction but the light intensity remains the same. Rougher surfaces usually have bigger and dimmer looking highlights while the smoother surfaces keep focused specular reflections which cause brighter and more intense appearance. Roughness is the most creative map as it visually defines the manner of the surface.
The metal/roughness map presents certain pros and cons. Firstly, the workflow is easier to author and it is difficult to make errors that are caused by supplying incorrect dielectric F0 values. Secondly, the workflow uses less memory texture as both metallic and roughness are both grayscale maps. The map can be placed in a packed like map and the maps place different grayscale textures in each available color channel thus saving on texture space. Finally, it is more adopted workflow. However, there is no control over the F0 values for the dielectric materials during map creation although some implemented versions usually have control which helps in overriding the base 4% value. Additionally, the edge artifacts in the metal/roughness workflow are more noticeable especially at lower resolutions. Lastly, the metallic maps usually have less information in them and can be a big problem if used in high resolution games which utilize complex surfaces.
PBR-Metallic: The Popularity King
As explained above, PBR metallic rendering is less strenuous to understand thus used by more artists and also saves on the texture memory space. It is the standard PBR method and most commonly used in rendering. However, it is important learn how the two PBR workflows work as understanding how the specular PBR works could be useful in handling more complex projects.
The PBR Guide Part II, Allegorethmic, https://academy.allegorithmic.com/courses/the-pbr-guide-part-2
Physically Based Rendering and You Can Too, Marmoset, https://marmoset.co/posts/physically-based-rendering-and-you-can-too/
PBR Texture Conversion, Marmoset, https://marmoset.co/posts/pbr-texture-conversion/