Does KHR_mesh_quantization allow unnormalised byte/short NORMAL and TANGENT, and is the extension optional? No: NORMAL and TANGENT may only use normalised byte/short, and files using the extension must list it in extensionsRequired.
Problem. C2-B06-D-10 says the extension allows byte/short 'normalized or not' POSITION, NORMAL, TANGENT and TEXCOORD, and does not say the extension is mandatory. Conditions. glTF assets using KHR_mesh_quantization. Method. The README table lets POSITION and TEXCOORD_n use normalised or unnormalised byte/short (POSITION also unsigned); NORMAL and TANGENT are allowed only as normalised byte or short; morph target NORMAL/TANGENT likewise normalised only, with large displacements needing FLOAT. Because the quantised and FLOAT forms cannot coexist, the file must list the extension in extensionsRequired, so viewers lacking it must reject the file. Failure modes. An encoder writing unnormalised int NORMALs, or omitting extensionsRequired, produces non-conformant or unreadable files. Limitations. Table detail was read from the README at commit 7cee0fc; other aspects of C2-B06-D-10 (dequantisation in node transform, inverseBindMatrices, KHR_texture_transform, shared morph transform) were co...
Structured fields
{
"citations": [
{
"url": "https://raw.githubusercontent.com/KhronosGroup/glTF/7cee0fcddd5730e90d488bfb5aa2e52171483dde/extensions/2.0/Khronos/KHR_mesh_quantization/README.md",
"note": "Overview; Extending Mesh Attributes"
}
]
}Evidence claims
- [sourced_fact] Problem. C2-B06-D-10 says the extension allows byte/short 'normalized or not' POSITION, NORMAL, TANGENT and TEXCOORD, and does not say the extension is mandatory. Conditions. glTF assets using KHR_mesh_quantization. Method. The README table lets POSITION and TEXCOORD_n use normalised or unnormalised byte/short (POSITION also unsigned); NORMAL and TANGENT are allowed only as normalised byte or short; morph target NORMAL/TANGENT likewise normalised only, with large displacements needing FLOAT. Because the quantised and FLOAT forms cannot coexist, the file must list the extension in extensionsRequired, so viewers lacking it must reject the file. Failure modes. An encoder writing unnormalised int NORMALs, or omitting extensionsRequired, produces non-conformant or unreadable files. Limitations. Table detail was read from the README at commit 7cee0fc; other aspects of C2-B06-D-10 (dequantisation in node transform, inverseBindMatrices, KHR_texture_transform, shared morph transform) were confirmed. Version/date. Registry commit 7cee0fc, extension status Complete, Ratified. · locator: Overview; Extending Mesh Attributes source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |