Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
(Redirected from Physically based rendering)

Physically Based Rendering (PBR) is an approach to computer graphics rendering that models the interaction of light with materials using physically motivated descriptions of reflection and illumination. A PBR material describes a surface's response to light separately from the lighting of a particular scene. Practical systems combine physical constraints with approximations chosen for their rendering workload; the name does not identify a single algorithm.[1][2]

PBR is relevant to virtual reality and augmented reality because interactive scenes need material responses that remain coherent as the viewpoint and lighting change. Google's ARCore guidance recommends physically based materials with its Environmental HDR lighting estimates. Unreal Engine documents VR-specific choices for filtering specular detail and selecting rendering features.[3][4]

Reviewed 12 October 2026. Independently checked the cited physical principles, reflectance papers and their publication details, material inputs and glTF encoding, real-time approximations, and the documented ARCore, Unreal Engine and MRTK2 examples and limitations. About review dates.

Physical principles

Light and surface response

Physically based rendering commonly uses radiometry and geometric optics. Radiant flux measures power, irradiance measures incident power per surface area, and radiance describes power per projected area and solid angle. These quantities distinguish the light arriving at a surface from the light leaving it toward a viewer. Geometric-optics models make simplifying assumptions about light; for example, the Physically Based Rendering textbook's renderer treats light as unpolarized and does not simulate diffraction or interference within its ordinary transport model.[5]

A bidirectional reflectance distribution function (BRDF) describes how incident light from one direction contributes to reflected radiance in another direction at a surface point. A physically based BRDF conserves energy and obeys reciprocity: exchanging the incident and outgoing directions leaves its value unchanged. Energy conservation constrains the total reflected energy integrated over directions. It does not require every individual BRDF value to be below one.[6]

Reflection alone does not describe every material. A bidirectional transmittance distribution function (BTDF) describes transmitted light; reflection and transmission together form a bidirectional scattering distribution function (BSDF). Subsurface scattering requires a description that can connect light entering at one point with light exiting elsewhere, such as a bidirectional scattering surface reflectance distribution function (BSSRDF). A local BRDF omits that spatial transport.[6]

Shading and light transport

The light transport equation relates outgoing radiance to surface emission and incident illumination scattered by the material. Its difficulty comes from the dependence of that illumination on other scene surfaces. For example, reflected light from a red object can tint nearby objects, and glass can concentrate light into caustics. Global illumination algorithms account for these interactions beyond the local material response.[7]

Physically based shading specifies how a material scatters light; a light-transport algorithm determines which light reaches it. Path tracing is a Monte Carlo transport algorithm that samples paths of scattering events through the scene. Its sampled estimates can contain visible noise. A real-time engine can instead evaluate a physically motivated BRDF with analytic lights and precomputed environment lighting. Consequently, selecting a PBR material does not by itself enable path tracing or compute every indirect-light interaction.[8][9]

Reflectance models

Microfacet reflection

Robert L. Cook and Kenneth E. Torrance's A Reflectance Model for Computer Graphics, published in Computer Graphics in August 1981, describes a surface as a collection of small reflecting facets. Their model combines a facet distribution with Fresnel reflection and geometric attenuation, and accounts for the directional and wavelength dependence of reflected light. The paper discusses measured reflectance spectra and illustrates differences between metal and plastic appearance.[10]

For reflection, the facet that connects a light direction to a viewing direction has a normal along their normalized halfway vector. For light and view directions above the surface, a common modern form of the specular BRDF is D(h) F(v,h) G(l,v,h) / [4 (n·l) (n·v)], where n is the surface normal, l the light direction, v the viewing direction and h the halfway direction. This describes the specular component; a complete material can also include a diffuse component.[9]

Term Role in the microfacet model
Normal distribution, D Describes the statistical distribution of facet orientations and controls the shape of the specular reflection.[10]
Fresnel factor, F Describes reflection at each smooth facet as a function of incidence angle and wavelength.[10]
Geometric factor, G Accounts for facets blocked from incident light or hidden from the viewer by other facets.[10]

The distribution is a modeling choice. Bruce Walter and colleagues' 2007 paper Microfacet Models for Refraction through Rough Surfaces presents GGX, a distribution with stronger tails than Beckmann and Phong distributions, and extends microfacet theory to rough transmission. The authors compare their transmission model with measured surfaces. Such distributions approximate unresolved microsurface detail statistically; they do not reconstruct an object's actual microscopic geometry.[11]

Single-scattering microfacet models omit light that reflects between multiple facets before escaping. This can darken rough materials, particularly metals. Filament documents a compensation method for this missing energy. Energy conservation, which prevents a model from generating extra reflected energy, and energy preservation, which accounts for energy that should escape a nonabsorbing surface, are different requirements.[1]

Measured materials and production models

Material measurements can inform a BRDF, but a compact analytic model need not reproduce every measured feature. Brent Burley's 2012 Physically Based Shading at Disney compares analytic models with measured material data and develops an artist-controlled "principled" BRDF. Its controls include base color, metallic response, roughness, anisotropy, sheen and clearcoat. Burley explicitly distinguishes this production model from a strictly physical model and allows artistic departures from plausible parameter ranges.[12]

Measurements also have limits. Burley discusses capture anomalies and cautions against overinterpreting or overfitting measured data. His diffuse model includes an empirical retroreflection response informed by observations, rather than a complete simulation of the material's internal structure. Thus a measured input, a physical constraint and a fitted production approximation are distinct kinds of evidence about material appearance.[12]

Material authoring

PBR workflows expose a small set of surface parameters, often varying them across a mesh through texture maps. A metallic workflow derives different responses for metals and nonmetals from base color and metalness. A specular workflow instead exposes reflection color directly. Unity 6.0's Universal Render Pipeline Lit shader supports both workflows and uses a smoothness control.[13]

Input Interpretation and limits
Base color In the metallic-roughness model, nonmetal base color describes diffuse reflection; metal base color describes specular reflectance at normal incidence.[2]
Metallic Identifies metal or nonmetal behavior. Unreal Engine recommends endpoint values for pure surfaces and uses a mask to distinguish exposed metal from nonmetal paint covering it.[14]
Roughness or smoothness Controls the spread and clarity of reflections. Unreal's roughness increases toward a rough surface; Unity's smoothness increases toward sharper highlights. The documented input convention matters when transferring materials.[14][13]
Normal map Adds apparent small surface detail through the shading response, allowing an embossed appearance on otherwise coarse geometry.[15]
Occlusion map Approximates darkening in corners and crevices in Unity's Lit material.[13]
Emission Specifies emitted color separately from reflected light. Unity distinguishes a visible emissive material from the settings that bake or calculate its contribution to lighting other objects.[13]

Surface roughness and reflectance should be distinguished. Broad, weak-looking highlights can result from reflection spread over many directions rather than an absence of specular reflection. Unreal's material documentation treats roughness and specular amount as separate controls. Its default Specular value of 0.5 represents approximately 4% reflection, illustrating that an engine's control value need not equal a physical reflectance directly.[14]

Color encoding and interchange

glTF 2.0 defines a metallic-roughness material representation for interchange. Its base-color texture uses sRGB encoding and must be decoded to linear values before lighting computations. The combined metallic-roughness texture instead contains linear data, with roughness in the green channel and metalness in the blue channel. Treating these data textures as color images changes the values used by the shading model.[2]

The specification standardizes material meaning while allowing BRDF implementations to vary with device performance and resource constraints. It also fixes nonmetal reflectance at normal incidence to 0.04 in its core model. A shared file therefore describes a common material model without prescribing an identical renderer on every platform.[2]

Alpha coverage and optical transmission require different treatment. Core glTF alpha describes partial surface coverage; it cannot by itself reproduce the reflection and transmission of clear glass. The KHR_materials_transmission extension supplies a separate description for thin transmissive surfaces. Its stated scope omits volumetric refraction, scattering and dispersion, and it does not prescribe a rendering algorithm.[16]

Real-time rendering

Real-time systems reduce the cost of integrating illumination over incoming directions. Karis's 2013 Unreal Engine 4 shading notes describe a split-sum approximation for specular image-based lighting. One part is stored in a cubemap prefiltered at different roughness levels; the other is stored in a two-dimensional BRDF lookup texture. This replaces repeated runtime sampling with precomputed data. The method's view-direction simplification loses stretched reflections at grazing angles, a documented approximation rather than a change in the material's physical properties.[9]

PBR also leaves the graphics pipeline and feature selection to the implementation. Unreal's forward renderer makes some reflection features optional per material, including higher-quality reflection captures and planar reflections. Epic describes performance improvements for some content rather than a universal relationship between forward rendering, deferred rendering and PBR quality.[4]

Use in VR and AR

Materials under head motion

In stereoscopic rendering, material detail must be considered alongside temporal image quality. Epic's VR guidance identifies blurring from temporal anti-aliasing under the constant subpixel movement associated with head tracking. Multisample anti-aliasing offers another choice, but content using it still needs to address specular aliasing. Epic's Normal to Roughness feature reduces aliasing from detailed normal maps, while mesh level-of-detail generation can reduce small-triangle aliasing. These are renderer-specific measures; they do not make every PBR asset suitable for every headset.[4]

Matching real-world illumination

AR combines synthetic materials with a real scene's illumination. ARCore's Lighting Estimation API uses camera images to estimate environmental lighting. Environmental HDR provides a main directional light, ambient spherical harmonics and an HDR cubemap. The directional estimate can guide highlights and shadows; the ambient component describes broader illumination, and the cubemap supplies environmental reflections. The lighting is inferred from images rather than a complete measurement of every source and surface in the environment.[17]

ARCore's implementation guide recommends physically based materials when these estimates drive a PBR pipeline. For other pipelines it discusses applying the appropriate normalization to the BRDF, giving the diffuse factor of 1/pi as an example. This links the estimated illumination to the material's energy accounting; it does not reconstruct missing geometry or solve all light transport in the real environment.[3][7]

Performance and simplified materials

The cost of an XR material depends on its shader operations, textures, lighting features and the number of pixels processed. Microsoft's mixed-reality performance guidance distinguishes application-thread, rendering-thread and GPU bottlenecks. It describes reducing texture resolution or texture count for bandwidth limitations, and reducing shader work, rendering stages, pixel count and overdraw for other GPU costs. These considerations call for profiling the target application; the PBR label alone supplies no headset-wide material or frame-time budget.[18]

An XR shader may deliberately approximate physically based appearance. Microsoft's MRTK2 Standard shader combines Blinn-Phong lighting with Fresnel and image-based lighting, and its documentation states that it does not calculate for physical correctness or energy conservation. Enabled material features determine which shader variants it generates. This is a documented design choice for mixed-reality rendering, illustrating why similar-looking materials need not implement the same physical model.[19]

References

  1. ↑ 1.0 1.1 Romain Guy; Mathias Agopian. "Filament". Google Filament documentation. https://google.github.io/filament/main/filament.html. Retrieved 2026-10-12.
  2. ↑ 2.0 2.1 2.2 2.3 The Khronos 3D Formats Working Group. "glTF 2.0 Specification". Khronos Group. https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html. Retrieved 2026-10-12.
  3. ↑ 3.0 3.1 "Realistically light virtual objects in a scene". Google for Developers. 2024-10-31. https://developers.google.com/ar/develop/java/lighting-estimation/developer-guide. Retrieved 2026-10-12.
  4. ↑ 4.0 4.1 4.2 "Forward Shading Renderer". Epic Games Unreal Engine documentation. https://dev.epicgames.com/documentation/en-us/unreal-engine/forward-shading-renderer-in-unreal-engine. Retrieved 2026-10-12.
  5. ↑ Matt Pharr; Wenzel Jakob; Greg Humphreys (2023). "Radiometry". Physically Based Rendering: From Theory to Implementation, fourth edition. https://pbr-book.org/4ed/Radiometry,_Spectra,_and_Color/Radiometry. Retrieved 2026-10-12.
  6. ↑ 6.0 6.1 Matt Pharr; Wenzel Jakob; Greg Humphreys (2023). "Surface Reflection". Physically Based Rendering: From Theory to Implementation, fourth edition. https://pbr-book.org/4ed/Radiometry,_Spectra,_and_Color/Surface_Reflection. Retrieved 2026-10-12.
  7. ↑ 7.0 7.1 Matt Pharr; Wenzel Jakob; Greg Humphreys (2023). "The Light Transport Equation". Physically Based Rendering: From Theory to Implementation, fourth edition. https://pbr-book.org/4ed/Light_Transport_I_Surface_Reflection/The_Light_Transport_Equation. Retrieved 2026-10-12.
  8. ↑ Matt Pharr; Wenzel Jakob; Greg Humphreys (2023). "Path Tracing". Physically Based Rendering: From Theory to Implementation, fourth edition. https://pbr-book.org/4ed/Light_Transport_I_Surface_Reflection/Path_Tracing. Retrieved 2026-10-12.
  9. ↑ 9.0 9.1 9.2 Brian Karis (2013). "Real Shading in Unreal Engine 4". SIGGRAPH 2013 course notes, Epic Games. https://cdn2.unrealengine.com/Resources/files/2013SiggraphPresentationsNotes-26915738.pdf. Retrieved 2026-10-12.
  10. ↑ 10.0 10.1 10.2 10.3 Robert L. Cook; Kenneth E. Torrance (1981-08). "A Reflectance Model for Computer Graphics". ACM SIGGRAPH Computer Graphics, volume 15, number 3. https://people.computing.clemson.edu/~ekp/courses/dpa8090/assets/papers/cook-torrance1982.pdf. Retrieved 2026-10-12.
  11. ↑ Bruce Walter; Stephen R. Marschner; Hongsong Li; Kenneth E. Torrance (2007). "Microfacet Models for Refraction through Rough Surfaces". Eurographics Symposium on Rendering. doi:10.2312/EGWR/EGSR07/195-206. https://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf. Retrieved 2026-10-12.
  12. ↑ 12.0 12.1 Brent Burley (2012). "Physically Based Shading at Disney". SIGGRAPH 2012 course notes, Walt Disney Animation Studios. https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf. Retrieved 2026-10-12.
  13. ↑ 13.0 13.1 13.2 13.3 "Lit shader material Inspector window reference for URP". Unity 6.0 Manual. https://docs.unity3d.com/6000.0/Documentation/Manual/urp/lit-shader.html. Retrieved 2026-10-12.
  14. ↑ 14.0 14.1 14.2 "Physically Based Materials". Epic Games Unreal Engine documentation. https://dev.epicgames.com/documentation/en-us/unreal-engine/physically-based-materials-in-unreal-engine. Retrieved 2026-10-12.
  15. ↑ "An Advanced Material". Khronos glTF Tutorials. https://github.khronos.org/glTF-Tutorials/gltfTutorial/gltfTutorial_014_AdvancedMaterial.html. Retrieved 2026-10-12.
  16. ↑ "KHR_materials_transmission". Khronos Group glTF specification extensions. https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_transmission. Retrieved 2026-10-12.
  17. ↑ "Get the lighting right". Google for Developers. https://developers.google.com/ar/develop/lighting-estimation. Retrieved 2026-10-12.
  18. ↑ "Understanding performance for mixed reality". Microsoft Learn. https://learn.microsoft.com/en-us/windows/mixed-reality/develop/advanced-concepts/understanding-performance-for-mixed-reality. Retrieved 2026-10-12.
  19. ↑ "MRTK2 standard shader". Microsoft Learn. https://learn.microsoft.com/en-us/windows/mixed-reality/mrtk-unity/mrtk2/features/rendering/mrtk-standard-shader?view=mrtkunity-2022-05. Retrieved 2026-10-12.