Before diving into the creation of PBR materials it is important to understand what "Physically Based Rendering" actually means.
This page shows the technical background for PBR materials. If you don't already know how PBR materials work from a practical standpoint you should read Typical PBR Maps (Overview) first.
The term refers to the practice of using realistic (i.e. based on real physics) shading and lighting algorithms in 3D rendering. Most of the time this is done with photorealistic results in mind but PBR can also be used for stylized workflows. The term should be thought of as a general idea. There isn’t THE PBR standard that everyone follows, every software has it’s own implementation of the core concepts. However, most of them do it in similar ways which makes it easier to grasp once you understand the most important principles. That’s what this chapter attempts to do in a short and simple way.
Specular & Diffuse Reflections
The way light gets reflected of a surface can be described on a spectrum with two extremes:
A fully reflective surface reflects incoming rays in exactly the angle that they arrived. This is basically a mirror. This is also called a specular reflection.
A fully diffuse surface reflects an incoming ray of light in a random direction. A common real world example would be rough rubber or clay. Though just saying that the light gets reflected in all directions is actually not telling the whole story. In reality the ray penetrates the surface, gets reflected inside it and then leaves at a different angle. For now this distinction might seam overly precise, but it will become important later on.
Color & Energy Conservation
A part of the incoming light might also be absorbed and turned into heat. Which wavelengths of light are absorbed and which ones are reflected defines the apparent color of the surface. One important thing to remember during all of this is that a material should never reflect more light than it received as our focus on real world physics does not allow that.
Earlier we defined the difference between diffuse and specular reflections with “diffuse” generally meaning that the rays get reflected randomly in all directions and “specular” meaning that the light gets reflected at a perfect angle as soon as it touches the surface.
But this is again not the whole truth. A material can reflect all light in a specular manner but still create a blurry reflection. That’s because most surfaces aren’t perfectly flat, they have tiny bumps which are so small that you can’t see them with the naked eye. This microdisplacement has an impact on the appearance of the material because it can cause even the specular reflection to reflect its rays in all kinds of directions, creating the impression of a blur.
The intensity of these microdisplacements is referred to as roughness or (inversely) glossiness.
Diffusion, Specularity & Roughness by Example
Below are several examples that show how diffuse reflections, specular reflections and roughness effect the reflections of light rays, created using the Principled BSDF Shader in Blender.
Specularity vs. Metalness
When using various 3D programs you see PBR being implemented in two different workflows: Specularity vs. Metalness. Let’s briefly explain the difference between these two approaches to PBR and why they aren’t completely different after all.
Earlier we defined that a surface can have different kinds of reflections (specular and diffuse). specularity- and metalness-focused implementations have different approaches for defining the properties and balance of these two types of reflections.
The Specular Workflow
The specular workflow defines both the diffuse and specular reflections explicitly using two separate unique texture maps. The surface’s microdisplacements are encoded in a glossiness map.
This gives artists the highest level of control over the material. But it also has a downside: Within this workflow it is still possible to create physically impossible/illogical settings which can defeat the point of using PBR. In addition to that you are potentially wasting storage/memory capacities with duplicate maps.
The Metalness Workflow
The metalness workflow uses a small “shortcut” to save resources and make the life of artists easier (at least in my opinion). The strength of microdisplacement is encoded in a roughness map (simply the inverse of the glossiness map).
It makes use of the fact that both non-metals (dielectrics) almost never have a strong specular component while metals never have a diffuse component. The metalness workflow stores both the specular and diffuse component in the same BaseColor map. The decision about whether the surface is diffuse or specular at a certain point is made using a separate Metalness map.
The biggest advantage of this approach is that most people find it a lot more intuitive. It also uses less storage/memory since the system only needs to manage one color map and one binary grayscale map.