What is PBR?
PBR (Physically Based Rendering) is a rendering approach that uses physics-based calculations for more realistic lighting, while Blinn-Phong is a non-physically based, older shading model that approximates specular highlights. PBR uses techniques like energy conservation and microfacet models to create more accurate materials that react realistically to light, whereas Blinn-Phong often produces a plastic-like, less realistic appearance. PBR is generally more computationally efficient and produces more consistent results because it focuses on the material's properties rather than the final rendered output.
PBR (Physically Based Rendering)
- Based on physics: PBR is a collection of techniques that aim to mimic how light interacts with surfaces in the real world.
- Realistic output: It produces more realistic results because it uses inputs like the material's microfacet properties and energy conservation to calculate how light reflects.
- Consistent results: The final appearance is more predictable and consistent because it is not based on a specific "look" but on physical principles.
- Efficient: PBR is often more efficient, as it relies on a smarter implementation where a single material object contains all the necessary textures and a single drag-and-drop can apply them.
- Example textures: Uses textures like metallic, roughness, and normal maps to define the material's physical properties.
Blinn-Phong
- Approximation: It is a non-physically based shading model that approximates the appearance of light reflection.
- Less realistic output: It can produce a "plastic" or less realistic look because it doesn't account for real-world light behavior.
- Fixed pipeline: It was developed for older fixed-function graphics pipelines and works by calculating a specular highlight based on the angle between the view direction and a halfway vector, rather than the more complex rendering equation.
- Texture maps: It typically uses diffuse, specular, and other texture maps to define its appearance.
So what does that all mean? It means PBR is more efficient and better at handling how light reacts with a material, producing a more realistic rendering. So PBRs are considered materials and not simply textures, because all the bumps, surface roughness and textures are included on one packaged resource.
In the upper image, I put a light source between two cubes.
LEFT: PBR
RIGHT: Blinn_phong
You can see how the light reflects correctly on the left and the right looks more plasticy
In the bottom picture is:
LEFT: PBR Drag and drop
MIDDLE: Blinn-Phong Adjusted, meaning I turned down the default shininess
RIGHT: Default Blinn-Phong No adjustments made