glTF Material — Specular-Glossiness with Fallback (GLB)
The same metal expressed in the archived specular-glossiness model, carried in `extensions` with an equivalent metallic-roughness fallback and NOT listed in extensionsRequired. The correct shape for an asset that must keep loading in viewers which dropped specular-glossiness support.
Specifications
- Format
- glTF 2.0 binary (GLB)
- Extension
- KHR_materials_pbrSpecularGlossiness
- Extensions Required
- false
- Glossiness Factor
- 0.72
- Specular Factor
- 0.72, 0.74, 0.78
- Fallback
- pbrMetallicRoughness present
Testing contract
Expected to recover- Scenario
- Load in a viewer with no KHR_materials_pbrSpecularGlossiness support, then in one that has it.
- Expected result
- Both render the metal: the first falls back to pbrMetallicRoughness because the extension is used but not required; neither errors.
What is a .glb file?
GLB is the binary form of glTF, packaging 3D scene geometry, materials, textures, animations, and node hierarchy into a single self-contained file. It is optimized for efficient runtime loading and is often called the JPEG of 3D. It is widely used in web, AR, and real-time 3D applications.
How to use this file
Use an example GLB to test glTF loaders, embedded-texture and animation handling, and real-time rendering pipelines in web or game engines.
How to use this file for testing
“glTF Material — Specular-Glossiness with Fallback (GLB)” is a deterministic Novus Examples fixture for PBR material testing, Conversion testing. Complete PBR material sets — base colour, normal, roughness, metallic, ambient occlusion, and height — for testing material-generation models and physically-based renderers channel by channel.
Documented properties for this file: glTF 2.0 binary (GLB). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
3D and CAD fixtures carry one small, documented solid or scene. Convert and inspect against the known geometry, units, and structure; format twins let you diff interchange fidelity, and the 3D viewer previews the actual mesh.
Code examples
import trimesh # pip install trimesh
mesh = trimesh.load("specular-glossiness.glb")
print(mesh.bounds, mesh.faces.shape)Related files
- glbGLB — PBR Sphere (glTF twin of the OBJ+MTL pair)The same sphere and the same brushed-metal material as the OBJ+MTL pair in this group, but as a single self-contained GLB. Convert the OBJ+MTL and diff against this to score an OBJ-to-glTF material converter.

- glbglTF Material — doubleSided True vs False (GLB)Two open half-shells with identical geometry and opposite `doubleSided` flags. Because the shells are open you can see straight into them, which is the only way to tell backface culling from a lighting difference.

- glbglTF Material — KHR_materials_clearcoat (GLB)A rough red base under a full-strength, near-mirror clearcoat lobe — the two-layer material that car paint, lacquered wood and phone cases all need. The base and coat roughness differ by an order of magnitude, so a renderer that collapses the layers is obvious.

- glbglTF Material — KHR_materials_emissive_strength (GLB)Emission pushed past the core spec's 0-1 emissiveFactor clamp by a 6x strength multiplier — the extension that exists because HDR bloom needs values core glTF cannot express. A tone-mapping and bloom-threshold fixture.

- glbglTF Material — KHR_materials_unlit (GLB)A sphere whose material opts out of lighting entirely via KHR_materials_unlit — the shading path used for baked scenes, maps and stylised art. Renders as a flat silhouette in a conformant viewer and as a lit ball in one that ignores the extension, which makes the difference obvious.

- glbglTF Material — KHR_materials_variants (GLB)One mesh, two named material variants (Copper and Cobalt) selectable at runtime — the extension behind every product configurator that swaps a finish without reloading geometry. The primitive also carries a plain `material`, so viewers with no variant support still render something.

Generated by generation/models_p7.py. Free for any use, no attribution required — license.