Default Material Model in glTF 2.0 Explained

This article explores the standard material model serving as the default visual foundation for glTF 2.0: the Physically Based Rendering (PBR) Metallic-Roughness workflow. It covers how this model functions, outlines its primary texture parameters, and explains why it was selected as the universal baseline for real-time 3D rendering across modern platforms and graphics engines.

The default material model that acts as the core visual foundation for glTF 2.0 is the Physically Based Rendering (PBR) Metallic-Roughness model.

Prior to glTF 2.0, real-time 3D formats relied heavily on legacy shading models such as Phong or Blinn-Phong. These models relied on arbitrary values that caused 3D assets to look drastically different depending on the rendering engine, lighting system, or software implementation. By adopting the PBR Metallic-Roughness model as the specification's default requirement, glTF 2.0 guarantees that 3D assets maintain visual consistency and photorealistic light interactions across any compliant renderer, from web engines like Three.js and Babylon.js to game engines like Unreal Engine and Unity.

The PBR Metallic-Roughness model simulates the physical interaction between light rays and surface microstructures using a concise set of parameters:

  • Base Color: Defines the reflected diffuse color for dielectric (non-metal) materials and the specular reflectance value for conductive (metallic) materials. It can be supplied as a uniform factor or an RGB/RGBA texture.
  • Metallic Factor / Texture: Dictates whether a surface behaves as a dielectric or a metal. A value of 0.0 represents a dielectric surface (such as wood, plastic, or stone), while a value of 1.0 represents pure metal (such as chrome, gold, or iron).
  • Roughness Factor / Texture: Dictates the micro-irregularities of the surface. A roughness value of 0.0 produces a mirror-like, glossy surface with sharp specular reflections, while a value of 1.0 produces a rough, matte finish with widely diffused reflections.
  • Metallic-Roughness Packing: To optimize memory bandwidth and reduce texture fetch calls in real-time applications, glTF 2.0 specifies that the metallic and roughness maps are packed into a single texture: the blue channel contains the metallic values, and the green channel contains the roughness values.

In addition to base color, metalness, and roughness, the core material specification incorporates supplementary texture maps to enhance surface realism:

  • Normal Map: Encodes tangent-space surface normals in an RGB texture to simulate fine geometrical surface details without increasing polygon counts.
  • Occlusion Map: Represents ambient shadow accumulation in cracks, crevices, and contact points, typically packed into the red channel of the metallic-roughness texture.
  • Emissive Map: Defines surfaces that emit light directly, represented by an RGB color and an optional scaling factor.

While the glTF 2.0 ecosystem supports other workflows via official extensions—such as the Specular-Glossiness workflow (KHR_materials_pbrSpecularGlossiness) or clearcoat layers (KHR_materials_clearcoat)—the core specification mandates that all conforming renderers support the PBR Metallic-Roughness model, making it the definitive baseline for 3D asset interchange.