PBR Logo

Physically Based Rendering in glTF

Khronos glTF PBR defines a standard set of parameters that are used to simulate real-world lighting interactions, materials, and surface properties. 3D artists and developers can use PBR to create stunning, lifelike environments that accurately respond to lighting conditions, reflections, and shadows. The combination of glTF’s efficient delivery and PBR’s realism has become a game-changer for the 3D industry, empowering content creators to deliver compelling and visually captivating experiences to their audiences.

simulate real-world lighting interactions, materials, and surface properties

glTF PBR Properties

glTF PBR supports the following properties. Detailed descriptions of each property are available by following the links to the core glTF 2.0 and KHR extension specifications provided in the PBR Properties Glossary. glTF PBR continues to evolve to meet user requirements and community feedback is encouraged. To help driver the standard consider Joining Khronos and the glTF PBR Task Sub Group.

About This Model: This Hurricane Lamp Candle Holder asset uses the glTF extensions KHR_materials_transmission and KHR_materials_volume to create colored glass with the color of the glass coming from the attenuationColor and attenuationDistance properties in KHR_materials_volume, along with the thicknessTexture. These can be used by non-raytraced renderers to simulate surfaces with varying thickness. Pathtracers can ignore this texture and instead use the geometric thickness from the model for more accurate results.

View credit (1)

GETTING FAMILIAR WITH KHRONOS PBR

The PBR Tutorial Series

Several tutorial videos have been developed to help users get started with using PBR and to become familiar with some of the commonly used properties.

What is glTF Volume?

What is glTF Transmission?

What is glTF Clearcoat?

Physically Based Rendering in glTF

PBR Properties Glossary


The following glossary showcases the PBR material effects that form part of the official Khronos PBR specification. Most of the examples use models from the glTF Sample Assets Repository found on GitHub.  These models can be viewed using the glTF Sample Viewer, an open-source WebGL 2.0 based sample implementation of a glTF and PBR viewer.

Alpha Coverage


Image: Opaque, Alpha Mask, Alpha Blend to represent fur

Alpha Coverage controls the visibility of a material. Two modes are available: alphaMode:Mask and alphaMode:Blend. Mask creates on/off coverage and is commonly used to simulate geometry such as tree leaves or wire fencing, while Blend offers soft gradations of visibility such as with fur or smoke. Alpha Coverage is core property defined in the glTF 2.0 specification.

Model: View Sample Asset and Credits

Learn More

Ambient Occlusion


Image: Without and with an ambient occlusion texture

Ambient occlusion is used to simulate soft shadows where a model has intersections or crevices. For best results, use a ray traced renderer to precalculate occlusion and store this in an Occlusion texture. Occlusion is a core property defined in the glTF 2.0 Specification.

Model: View Sample Asset and Credits

Learn More

Base Color


Image: A solid base color, base color texture, and texture with vertex color

Base Color controls non-reflective surface detail for non-metallic surfaces, e.g. wood grain, brick color, fabric prints, etc. When a surface is metallic, the Base Color handles the reflection color, for example gold, copper, brass, etc. Base Color is a foundational aspect of a material, with everything else layered on top. All parameters related to the base color of a model are defined under the pbrMetallicRoughness property of the material object, and found in the core glTF 2.0 specification.

Model: View Sample Asset and Credits

Learn More

Emissive & Emissive Strength


Image: Emissive alone, and Emissive plus KHR_materials_emissive_strength

Emissive controls the color and intensity of light being emitted by a material. Emissive is a glTF core property defined in the glTF 2.0 Specification. The KHR_materials_emissive_strength extension adds a Strength scalar factor to enable the upper limit of emissive strength to be increased per material, and can act as a hint to renderers to enable bloom post-processing effects.

Model: View Sample Asset and Credits

Core Feature Emissive Strength Extension

Metallic


Image: Metallic at zero, versus full metallic

Metallic controls how the surface reflects light, either as raw metal or as a non-metallic (dielectric) surface. At full metalness, the surface is fully reflective and the base color controls the reflection strength and color. At zero metalness, the surface is fully reflective only at grazing angles, and the base color has no effect on specular reflection. Metallic is a foundational aspect of a material, with everything else layered on top of this base surface property. All parameters related to the metalness of a model are defined under the pbrMetallicRoughness property of the material object, and found in the core glTF 2.0 specification.

Model: View Sample Asset and Credits

Learn More

Normal


Image: No normal texture, versus adding a normal texture

A normal texture is used for macro-scale bumpiness, adding variation in surface direction to simulate grooves, pits, fibers, etc. Normal can also be used to “bake” curvature from a higher-detail model, allowing a lower-resolution model to look like it has more smoothness or detail. Normal is a glTF core property defined in the glTF 2.0 Specification.

Model: View Sample Asset and Credits

Learn More

Roughness


Image: No roughness texture, versus adding a roughness texture

Roughness defines micro-surface bumpiness, which essentially controls how blurry or sharp reflections will be. Roughness also affects the blurriness of refractions when KHR_materials_transmission is in use. Roughness is a foundational aspect of a material, with everything else layered on top of this base surface property. All parameters related to the roughness of a model are defined under the pbrMetallicRoughness property of the material object, and found in the core glTF 2.0 specification.

Model: View Sample Asset and credits

Learn More

Anisotropy


Image: Before, and after adding KHR_materials_anisotropy

The KHR_materials_anisotropy extension defines the anisotropic property of a material (e.g. brushed metals). An asymmetric specular lobe model is introduced offering the visually distinct feature of an elongated appearance of the specular reflection.

Model: View Sample Asset and Credits

Learn More

Clearcoat


Image: Zero roughness, half roughness, and half roughness plus clearcoat

The KHR_materials_clearcoat extension adds a transparent layer over the base layer that introduces a second specular reflection, which can be modulated by secondary normal and roughness textures for finer control. It is a critical graphical element typically used in the automotive industry to showcase realistic paint finishes.

Model: View Sample Asset and credits

Learn More Video Video Tutorial

Dispersion


Image: Before, and after adding KHR_materials_dispersion

The KHR_materials_dispersion enables angular separation of colors (chromatic aberration) when light is transmitted through a relatively clear volume. This is useful for representing materials like diamond and glass.

Model: View Sample Asset and Credits

Learn More

Index of Refraction


Image: Before, and after adding KHR_materials_ior

The KHR_materials_ior extension allows users to set the index of refraction which affects both reflections and refractions, to accurately represent materials like water, asphalt, sapphire and diamond. It extends the core material which uses a fixed IOR value of 1.5, suitable for materials like plastics and glass.

Model: View Sample Asset and Credits

Learn More

Iridescence


Image: Before, and after adding KHR_materials_iridescence

The KHR_materials_iridescence extension controls thin-film interference, a view-dependent effect which can be seen on soap bubbles, oil films, or on the wings of many insects.

Model: View Sample Asset and Credits

Learn More

Sheen


Image: Before, and after adding KHR_materials_sheen

The KHR_materials_sheen extension simulates the back-scattering of velvet-like materials, to mimic the reflection effect caused by small cylindrical micro-fibers.

Model: View Sample Asset and credits

Learn More

Specular


Image: Before, and after adding KHR_materials_specular

The KHR_materials_specular adds two parameters, specular and specularColor to enable users to configure the strength and color of the specular reflection. This can be used to create non-metallic materials with colored reflections; for example velvet, satin, and silk.

Model: View Sample Asset and Credits

Learn More

Transmission


Image: Alpha blending, versus KHR_materials_transmission

The KHR_materials_transmission extension is used to describe the percentage of light that is transmitted through the surface of the material and handles infinitely thin volumes (e.g. stain or transparent foil). This effect, as opposed to alpha coverage, more accurately represents refractive materials like glass and water, which also show visible reflections.

Model: View Sample Asset and credits

Learn More Video Video Tutorial

Volume


Image: Transmission alone, versus transmission with volume

The KHR_materials_volume extension makes it possible to turn the surface of an asset into an interface between volumes, and handles any arbitrary thickness simulating light attenuation in a colored material (e.g. glass). Volumes support refraction and absorption.

Model: View Sample Asset and Credits

Learn More

True-to-Life 3D Color Rendering

Khronos PBR Neutral Tonemapper


Khronos PBR Neutral enables faithful reproduction of a product’s base color, hue and saturation when using PBR rendering under grayscale lighting, while eliminating HDR artifacts around highlights. It has been designed to display 3D assets rendered using PBR with true-to-life colors that are vital in eCommerce, architecture and CAD, and is enjoying wide adoption by 3D tools and engines including <model-viewer>, Autodesk, Babylon.js, Blender, Dassault, Filament, London Dynamics, Phasmatic, Three.js, and Threekit.

Learn More

Your Essential PBR Tools

PBR Resources


Tools to Validate and Audit PBR Assets

3D Asset Delivery Format

What is glTF?

glTF provides for the efficient transmission and display of 3D assets. glTF supports Physically Based Rendering (PBR) technology to achieve high levels of realism. The glTF specification is an open format that is maintained by the Khronos group and has become an ISO/IEC standard.

Learn More

Get Involved

Help Shape the Future of Khronos PBR and glTF

The Khronos 3D Formats Working Group is constantly working to advance Physically Based Rendering as part of the glTF specification and is actively working on new initiatives to address any technical challenges, industry friction or new user requirements. Any organization is welcome to make contributions.

Community Discussions

You'll find thriving glTF and PBR discussions on several platforms that provide a great way to get involved.

Join the Khronos Group

If you are working with glTF and PRB and wish to get involved in shaping its future development, then consider joining Khronos. PBR has a dedicated TSG (Task Sub-Group) that meets weekly and is an integral part of the 3D Formats Working Group that is responsible for glTF. Any organization is welcome to join, and multiple levels of membership are available to enable any organization, large or small, to get involved.

Join Khronos
Image Background

Stay Informed

Subscribe to Our Newsletter

Stay in the loop with by subscribing to our newsletter to receive updates on all the latest glTF and PBR resources, news and events.

Click to Subscribe

By subscribing you are consenting to receive marketing emails about news and events relating to the Khronos Group. You can unsubscribe at any time by following the “Unsubscribe” link included in each email sent. For information on our privacy practices and commitment to protecting your privacy, please review our Privacy Policy. We do not sell your contact information to third parties.

Credits

Credit 1: Copyright (c) 2021 Wayfair, LLC. CC BY 4.0 International. Sample model

Khronos Standard Additional links and information