GLB — Sphere LOD 3 (80 triangles, low)
The same unit sphere at 80 triangles — level 3 of a four-step ladder that spans 202x from top to bottom. Because every level is generated analytically from the same surface rather than decimated, the ladder is an exact reference: any deviation you measure is your tool's, not the fixture's.
Specifications
- Format
- glTF 2.0 binary (GLB)
- Lod Level
- 3
- Segments
- 10
- Rings
- 5
- Vertices
- 60
- Triangles
- 80
- Radius
- 1
- Index Component Type
- UNSIGNED_SHORT
- Triangles Vs Lod0 Percent
- 0.5
Testing contract
Expected to pass- Scenario
- Decimate the LOD 0 sphere to 80 triangles and measure the Hausdorff distance to this level.
- Expected result
- A good decimator lands within about 1.25 of the radius of this surface; a poor one shows visible faceting long before it reaches this count.
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 — Sphere LOD 3 (80 triangles, low)” is a deterministic Novus Examples fixture for Mesh decimation testing, Mesh processing QA, Performance testing. A dense ground-truth mesh plus a low-poly simplification of the same shape, with triangle counts recorded — score a decimation / LOD tool by comparing the two.
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("sphere-lod3.glb")
print(mesh.bounds, mesh.faces.shape)Related files
- glbGLB — 64 Nodes Sharing One MeshAn 8x8 field of columns built from a single 12-triangle mesh referenced by 64 nodes with seeded random heights. Core-glTF instancing needs no extension: the file is tiny, and the interesting question is whether your renderer batches the 64 draws or issues them one by one.

- glbGLB — EXT_mesh_gpu_instancing (32 instances)Thirty-two copies of one cube expressed as instance attribute accessors on a single node under EXT_mesh_gpu_instancing — the extension that moves instancing off the scene graph and onto the GPU. A viewer without support shows exactly one cube at the origin, which is the tell.

- glbGLB — Float32 Vertex BaselineAn unquantised sphere: 32-bit floats for both positions and normals, 24 bytes of attribute data per vertex. The uncompressed reference for the quantized and gzip twins in this group.

- 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 — KHR_mesh_quantization TwinThe same sphere with positions as normalised 16-bit and normals as normalised 8-bit integers under KHR_mesh_quantization — 66.6% of the float32 twin's bytes. The extension is in extensionsRequired, so a loader without support must refuse the file rather than render garbage.

- 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.

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