Skip to content
Novus Examples
glb27.2 KB

glTF Morph Targets — POSITION + NORMAL Deltas (GLB)

Morph targets that displace both positions and normals, with the first target already at weight 0.3 in the bind pose. Shading that stays flat while the surface ripples is the symptom of a loader that morphs positions and forgets the normal deltas.

Loading 3D preview…

Specifications

Format
glTF 2.0 binary (GLB)
Morph Targets
2
Target Attributes
POSITION, NORMAL
Base Weights
0.3, 0.0
Note
non-zero bind weight

Testing contract

Expected to pass
Scenario
Render with weights (1.0, 0.0) and compare the shaded result against the same mesh with the NORMAL targets stripped.
Expected result
The lit surface differs; the morphed normals must be added and then renormalised, and the 0.3 bind weight must already be applied before any animation runs.

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 Morph Targets — POSITION + NORMAL Deltas (GLB)” is a deterministic Novus Examples fixture for Conversion testing, Mesh processing QA, Normal map testing. 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("targets-with-normals.glb")
print(mesh.bounds, mesh.faces.shape)

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