Physically-based rendering (PBR) is a relatively recent rendering technique and workflow that aims to better represent how the surface of objects appear as they do in real life. This is primarily achieved by taking a more nuanced approach to how light interacts with different types of surfaces, metals and non-metals in particular. If you are unfamiliar with PBR, check out one of the following links regarding basic theory, asset creation, or the actual physics and math behind the calculations.
PBR Introductions and Overviews
Introduction for the Artist or Designer
- Basic Theory of Physically Based Rendering by Jeff Russell
- The Comprehensive PBR Guide - Volume I by allegorithmic The Theory of Physically Based Rendering
Asset Creation Guides
- The Comprehensive PBR Guide - Volume II by allegorithmic Practical Guidelines for PBR Texturing
- Physically-Based Rendering and You Can Too by Joe "Earthquake" Wilson
- PBR Texture Conversion by Joe "Earthquake" Wilson
Math and Physics for the Developer
- Real Shading in Unreal Engine 4 by Brian Karis
- Physics and Math of Shading by Naty Hoffman
- Physically Based Shading at Disney by Brent Burley
Implementation in Zilch
The DeferredRenderer and ForwardRenderer follow a metallic-roughness workflow (as opposed to metallic-glossiness) and expects inputs for albedo (referred to as "base color" in other workflows), metallic, roughness, and specular in the form of texture maps or uniform values. These maps or values are set via NadaFragments and applied to a Material.