GLB — Self-contained BIN Chunk
The third storage strategy for the identical sphere: a GLB whose buffer is the BIN chunk, with no URI at all. Compare the three file sizes in this group to see exactly what base64 and JSON whitespace cost.
Specifications
- Format
- glTF 2.0 binary (GLB)
- Buffer Storage
- GLB BIN chunk
- Chunks
- JSON + BIN
- Self Contained
- true
- Note
- smallest of the three storage twins
Testing contract
Reference control- Scenario
- Compare the byte size of the GLB, the base64 glTF, and the glTF plus its external .bin.
- Expected result
- The GLB is the smallest, the base64 glTF the largest, and all three decode to the same accessors and the same mesh.
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
“GLB — Self-contained BIN Chunk” is a deterministic Novus Examples fixture for Conversion testing, Mesh processing QA. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.
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("self-contained.glb")
print(mesh.bounds, mesh.faces.shape)Related files
- glbGLB — Interleaved Vertex Attributes (byteStride 32)Position, normal and UV packed into ONE bufferView with byteStride 32 and three accessors at offsets 0, 12 and 24 — the GPU-friendly layout, and the one a naive parser mis-reads because it assumes each accessor owns its view. Twinned here with a tightly-packed version of the same sphere.

- glbGLB — Tightly-packed Vertex AttributesThe same sphere with every attribute in its own bufferView and no byteStride — the layout most exporters emit and most parsers assume. The control against which the interleaved twin in this group is diffed.

- jsonConvert v2 3DS Semantic Geometry ReferenceJSON semantic reference for the 3DS tetrahedron, publishing vertex order, face indices, bounds, and the closed-mesh contract. Stable P8 artifact p8-convert-model-3ds-reference.

- jsonConvert v2 AMF Semantic Geometry ReferenceJSON semantic reference for the AMF tetrahedron, publishing vertex order, face indices, bounds, and the closed-mesh contract. Stable P8 artifact p8-convert-model-amf-reference.

- jsonConvert v2 DRC Semantic Geometry ReferenceJSON semantic reference for the DRC tetrahedron, publishing vertex order, face indices, bounds, and the closed-mesh contract. Stable P8 artifact p8-convert-model-drc-reference.

- jsonConvert v2 FBX Semantic Geometry ReferenceJSON semantic reference for the FBX tetrahedron, publishing vertex order, face indices, bounds, and the closed-mesh contract. Stable P8 artifact p8-convert-model-fbx-reference.

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