gltfpack version > 0.22 (present in gltfpack 1.2)
when quantizes positions with large coordinates + duplicate geometry,
much precision was lost.
repro.zip
Repro: attached repro.gltf.
check the node scale.
suspected cause:
The geometry_duplicate feature (introduced in 0.22):
dedupMeshes() marks two meshes geometry_duplicate (same geometry hash, different material).
detachMesh() keeps such meshes attached to their node instead of baking the transform to world space:
if (mesh.nodes.size() == 1 && mesh.geometry_duplicate && !settings.mesh_merge)
return;
- So duplicate meshes stay in local space while unique meshes are baked to world space.
prepareQuantizationPosition() merges all bounds.
gltfpack version > 0.22 (present in gltfpack 1.2)
when quantizes positions with large coordinates + duplicate geometry,
much precision was lost.
repro.zip
Repro: attached
repro.gltf.check the node
scale.suspected cause:
The
geometry_duplicatefeature (introduced in 0.22):dedupMeshes()marks two meshesgeometry_duplicate(same geometry hash, different material).detachMesh()keeps such meshes attached to their node instead of baking the transform to world space:prepareQuantizationPosition()merges all bounds.