glTF — Base64 Data-URI Buffer
The same sphere with its buffer inlined as a base64 data URI: one self-contained text file, at roughly a third more bytes than the binary it encodes. The middle point of the three storage strategies in this group.
Interactive preview rendered from the equivalent glTF (self-contained.glb); drag to orbit. Download the file above for the GLTF original.
Specifications
- Format
- glTF 2.0 (JSON)
- Buffer Storage
- data URI (base64)
- Encoding Overhead
- about 33 percent
- Self Contained
- true
- Note
- same mesh as the external-buffer and GLB twins
Testing contract
Expected to pass- Scenario
- Decode the data URI and compare it byte-for-byte with external-buffer.bin.
- Expected result
- The decoded bytes are identical to the external payload; only the transport differs, and this file needs no sibling to load.
What is a .gltf file?
glTF (.gltf, GL Transmission Format) is the 'JPEG of 3D' — a JSON scene description referencing geometry, PBR materials, textures, and animation, with binary buffers stored alongside or as a .bin. It is the standard for web and real-time 3D.
How to use this file
Use an example .gltf file to test glTF loaders (three.js, model-viewer), PBR material handling, and glTF-to-GLB packing.
How to use this file for testing
“glTF — Base64 Data-URI Buffer” 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 (JSON). 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("embedded-base64.gltf")
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.