# Physically based rendering {#physically-based-rendering .reader-title}
:::: meta-data
::: {.reader-estimated-time l10n-args="{\"range\":\"8–10\",\"rangePlural\":\"other\"}" l10n-id="about-reader-estimated-read-time" dir="ltr"}
8--10 minutes
:::
::::
------------------------------------------------------------------------
:::::: content
::::: {.moz-reader-content .reader-show-element}
:::: {#readability-page-1 .page}
::: {#mw-content-text dir="ltr" lang="en"}
{.moz-reader-block-img
file-width="667" file-height="652" height="293" width="300"}
'Physically based rendering' ('PBR') is a computer graphics approach
that seeks to render images in a way that models the lights and surfaces
with optics in the real world. It is often referred to as \"Physically
Based Lighting\" or \"Physically Based Shading\". Many PBR pipelines aim
to achieve photorealism. Feasible and quick approximations of the
bidirectional reflectance distribution function and rendering equation
are of mathematical importance in this field. Photogrammetry may be used
to help discover and encode accurate optical properties of materials.
PBR principles may be implemented in real-time applications using
shaders or offline applications using ray tracing or path tracing.
Starting in the 1980s, a number of rendering researchers worked on
establishing a solid theoretical basis for rendering, including physical
correctness. An early system, Radiance, for lighting design and
architecture, was presented in Greg Ward\'s 1994 SIGGRAPH paper, \"The
RADIANCE Lighting Simulation and Rendering System,^\[1\]^\" which may
have introduced the phrase \"physically-based rendering.\" Other work
was done at the Cornell University Program of Computer Graphics; a 1997
paper from that lab^\[2\]^ describes the work done at Cornell in this
area to that point.
\"Physically Based Shading\" was introduced by Yoshiharu Gotanda during
the course Physically-Based Shading Models in Film and Game Production
at the SIGGRAPH 2010. And followed by the course Physically Based
Shading in Theory and Practice organised by Stephen Hill and Stephen
McAuley between 2012 and 2020.
The phrase \"Physically Based Rendering\" was more widely popularized by
Matt Pharr, Greg Humphreys, and Pat Hanrahan in their book of the same
name from 2004, a seminal work in modern computer graphics that won its
authors a Technical Achievement Academy Award for special
effects.^\[3\]^ The book is now in its fourth edition.^\[4\]^
The first successful, yet partial implementation of physically-based
rendering in a video game can be found in the 2013 title Remember Me,
that despite being built on a game engine not natively supporting this
technology (Unreal Engine 3) was properly modified to accommodate this
feature.^\[5\]^ Despite being a moderate approach to PBR, its accuracy
has been further refined with posterior titles such as Ryse: Son of Rome
and Killzone Shadow Fall, released on the same year, until the current
state of PBR advancements in the 2020s.^\[6\]\[7\]^
{.moz-reader-block-img
file-width="687" file-height="647" height="283" width="300"}
PBR is, as Joe Wilson puts it, \"more of a concept than a strict set of
rules\"^\[5\]^ -- but the concept contains several distinctive points of
note. One of these is that -- unlike many previous models that sought to
differentiate surfaces between non-reflective and reflective -- PBR
recognizes that, in the real world, as John Hable puts it, \"everything
is shiny\".^\[8\]^ Even \"flat\" or \"matte\" surfaces in the real world
such as concrete will reflect a small degree of light, and many metals
and liquids will reflect a great deal of it. Another thing that PBR
models attempt to do is to integrate photogrammetry - measurements from
photographs of real-world materials - to study and replicate real
physical ranges of values to accurately simulate albedo, gloss,
reflectivity, and other physical properties. Finally, PBR puts a great
deal of emphasis on microfacets, and will often contain additional
textures and mathematical models intended to model small-scale specular
highlights and cavities resulting from smoothness or roughness in
addition to traditional specular or reflectivity maps.
PBR often utilize Bidirectional scattering distribution functions to
calculate the visible light reflected at a given point on surfaces.
Common techniques use approximations and simplified models that try to
fit approximate models to more accurate data from other more time
consuming methods or laboratory measurements (such as those of a
gonioreflectometer).
As described by researcher Jeff Russell of Marmoset, a surface-focused
physically based rendering pipeline may also focus on the following
areas of research:^\[7\]^
- Reflection
- Diffusion
- Translucency and transparency
- Conservation of energy
- Metallicity
- Fresnel reflection
- Subsurface scattering
PBR is also often extended into volume renderings, with areas of
research like:
- Lens-related/Angle of view/Depth of field effects
- Caustics
- Light scattering
- Participating media
- Atmospheric visual properties such as:
- Day-night cycle
- Elevation
- Angular distance from the Sun or Moon or other orbital objects
- Weather and sky conditions, including clouds, precipitation, and
aerosol obscurations such as fog or haze.
Thanks to high performance and low costs of modern hardware^\[9\]^ it
has become feasible to use PBR not only for industrial but also
entertainment purposes wherever photorealistic images are desired, such
as video games or movie making.^\[3\]^ Today\'s mid to high-end hardware
is capable of producing and rendering PBR content and there exists a
market of easy-to-use software that allows designers of all experience
levels to take advantage of physically based rendering methods, such as:
- Brikl
- 3ds Max
- O3DE
- OGRE
- Maya
- LightWave
- Babylon.js
- Bevy
- Blender
- Cinema 4D
- CryEngine
- Enscape
- Vue
- Godot (game engine)
- Houdini (SideFX)
- iClone
- jME
- Microstation
- Minecraft GLSL Shaders
- Rhinoceros 3D
- Roblox Studio
- Second Life
- Sketchfab
- Stride
- Three.js
- Unigine
- Source 2
- Unity
- Unreal Engine
- VTK
- Webots
A typical application provides an intuitive graphical user interface
that allows artists to define and layer materials with arbitrary
properties and to assign them to a given 2D or 3D object to recreate the
appearance of any synthetic or organic material. Environments can be
defined with procedural shaders or textures as well as procedural
geometry or meshes or point clouds.^\[6\]^ If possible all changes are
made visible in real-time and therefore allow for quick iterations.
Sophisticated applications allow savvy users to write custom shaders in
a shading language such as HLSL or GLSL, though increasingly node-based
material editors that allow a graph-based workflow with native support
for important concepts such as light position, levels of reflection and
emission and metallicity, and a wide range of other math and optics
functions are replacing hand-written shaders for all but the most
complex applications.
- Non-photorealistic rendering
:::
::::
:::::
::::::