Rendering Translucent Paper and Wax in glTF
This article examines how to visually differentiate translucent paper
and wax within 3D scenes by utilizing specific glTF PBR extensions.
While both materials allow light to pass through them, their visual
properties diverge sharply: paper behaves as a thin, highly matte
diffuser, whereas wax exhibits depth, volumetric light absorption, and a
soft specular sheen. By targeting extensions such as
KHR_materials_diffuse_transmission,
KHR_materials_volume, and core PBR roughness controls,
artists and developers can accurately capture these distinct physical
behaviors.
Fundamental Visual Distinctions
Translucent paper and wax interact with light in fundamentally different ways:
- Paper (Thin-Surface Scattering): Paper is extremely thin and composed of compressed fibers. It exhibits immediate diffuse transmission—light entering one side scatters almost instantly and exits the opposite side evenly across the surface. It lacks noticeable volumetric depth, has a high micro-surface roughness that eliminates sharp reflections, and casts relatively crisp shadows when backlit.
- Wax (Dense Volumetric Scattering): Wax is an organic solid with significant physical depth. Light enters the material, penetrates beneath the surface, bounces internally, and is absorbed over distance before re-emerging. This produces soft, glowing edges, blurred self-shadows, and a warm internal color shift. Unlike paper, wax typically has a smooth or semi-glossy surface that produces noticeable specular highlights.
glTF Extensions for Translucent Paper
To model thin translucent paper, the scene must simulate light passing through a surface without computing internal geometry thickness.
KHR_materials_diffuse_transmission
This extension is the primary tool for thin translucent objects. It allows incoming light to scatter diffusely through the reverse side of a mesh.
diffuseTransmissionFactor: Set close to1.0(or modulated with a texture) to allow backlighting to illuminate the paper sheet.diffuseTransmissionColorFactor: Kept neutral or slightly warm to reflect the paper pulp's tint.
Core PBR Parameters for Paper
roughnessFactor: Set high, generally between0.8and1.0. Paper does not produce clear reflections; light hitting the surface scatters diffusely.metallicFactor: Set strictly to0.0.- Volume Settings: Omit
KHR_materials_volume. Paper is modeled as a single-sided or thin-walled geometry where volumetric calculations are physically unnecessary and computationally wasteful.
glTF Extensions for Wax
Recreating wax requires combining surface diffuse transmission with volumetric absorption to convey physical mass and internal light decay.
KHR_materials_volume
Wax relies on this extension to define how light attenuates as it travels through the interior of the 3D mesh.
thicknessFactor: Represents the actual thickness of the object along its surface normals. A texture map can modulate thin areas (such as the rim of a candle) versus thick areas.attenuationDistance: Defines the average distance light travels before being absorbed. For wax, this value should be short to medium (e.g., a few millimeters to centimeters), ensuring only shallow areas glow brightly.attenuationColor: Set to the internal color of the wax (typically warm yellow, amber, or deep red). As white light penetrates the wax, other wavelengths are absorbed, producing a saturated glow inside the material.
KHR_materials_diffuse_transmission
When paired with KHR_materials_volume, diffuse
transmission allows light to exit the wax diffusely rather than behaving
like clear glass. The factor determines how much light breaks out of the
volume across the object's surface.
Core PBR and Optical Properties for Wax
roughnessFactor: Set between0.2and0.5. Unpolished or paraffin wax retains a soft, satin specular reflection rather than paper's flat finish.KHR_materials_ior: Paraffin and beeswax have an Index of Refraction (IOR) around1.43to1.46. Applying this extension ensures accurate Fresnel falloff at grazing angles.
Direct Parameter Comparison
| Material Property | Translucent Paper | Wax | Primary glTF Implementation |
|---|---|---|---|
| Scattering Model | Thin sheet diffuse transmission | Thick volumetric subsurface decay | KHR_materials_diffuse_transmission
vs KHR_materials_volume |
| Surface Finish | Matte (roughness:
0.8–1.0) |
Satin / Gloss (roughness:
0.2–0.5) |
pbrMetallicRoughness |
| Internal Depth | None (thin-walled) | Yes (distance-dependent glow) | KHR_materials_volume.thicknessFactor |
| Color Absorption | Surface tint | Subsurface attenuation color | KHR_materials_volume.attenuationColor |
| Refraction / IOR | Default / Negligible | IOR ~1.44 | KHR_materials_ior |