glTF KHR_materials_transmission Explained
The KHR_materials_transmission extension introduces
realistic glass and transparent dielectric rendering to the glTF 2.0
ecosystem by modeling the physical transmission of light through
surfaces. Unlike basic alpha blending, which simply reduces pixel
opacity, this extension simulates optical phenomena such as transmitted
light, energy conservation, decoupled surface reflections, and
microfacet roughness scattering. Understanding these simulated physics
allows developers and 3D artists to create authentic glass, water,
crystals, and plastics in real-time graphics engines.
Optical Transmission vs. Alpha Blending
Traditional 3D transparency typically relies on alpha blending, which
fades an object’s overall visibility. In reality, a clear glass pane is
not "invisible"; it is transparent because light passes through its
boundary rather than being diffusely scattered. The
KHR_materials_transmission extension models this behavior
by allowing incoming light to penetrate the surface and illuminate the
environment behind it, treating the material as a transparent dielectric
rather than an ethereal or fading mesh.
Energy Conservation and the Fresnel Effect
In classical physics, the law of conservation of energy dictates that
light striking an interface must be divided among reflection,
transmission, and absorption. KHR_materials_transmission
replicates this balance. At perpendicular viewing angles, most light is
transmitted through the medium. At glancing angles, the Fresnel effect
causes reflectivity to increase dramatically while transmission
decreases. As a result, the glass retains realistic, sharp reflections
at its edges while remaining clear at the center.
Decoupled Specular Highlights
A major limitation of alpha transparency is that reducing opacity
also weakens specular highlights, making glass look dull or unnatural.
KHR_materials_transmission separates the surface reflection
(specular component) from the internal transmission. Even if
transmission is set to 100%, strong light sources will still cast
bright, distinct specular highlights on the surface, mimicking the
high-gloss exterior of real-world glass.
Rough Transmittance and Frosted Effects
Smooth glass transmits sharp, undistorted background imagery, but
rough or frosted glass scatters transmitted light. When paired with the
material's roughness channel, KHR_materials_transmission
replicates microfacet scattering on the transmitted light rays. Lower
roughness produces crisp transparency, while higher roughness blurs the
background visible through the object, reproducing the diffusion seen in
etched, sandblasted, or frosted glass.
Foundation for Volume and Refraction
While KHR_materials_transmission primarily defines the
fraction of light passing through an infinitely thin surface boundary,
it serves as the base layer for full volumetric rendering. When combined
with extensions like KHR_materials_ior and
KHR_materials_volume, it governs how light refracts
(Snell's Law) and how it attenuates over distance (the Beer-Lambert
Law), completing the simulation of dense glass objects.