glTF 访问器.max/分钟验证



KhronosGroup glTF 2.0 规范要求为 POSITION 数组指定accessor.maxaccessor.min边界。但是,这些值必须表示为文本字符串,而顶点位置坐标存储在 base64 编码字符串中的单精度浮点数中。

我遇到的问题是在线 Khronos glTF 验证器和 Microsoft Visual Code 扩展(可能是 Khronos 验证器的端口(将这些值与 15 位小数进行比较(即双精度(,如果它们不完全匹配,则报告错误。这使得调试大型glTF文件变得非常困难,因为它会导致数以万计的错误。

更重要的是,我想知道这些错误是否重要。我可以修改我的 glTF 文件生成器,以便顶点位置坐标可以毫无错误地表示为文本字符串,但这似乎是一个荒谬的解决方案。我在这里错过了什么吗?

VSCode 扩展通过 npm 包使用实际的 Khronos glTF 验证器,而不是端口。 验证器是用Dart编写的,翻译成JavaScript,VSCode本身基于Electron和TypeScript,并且可以并且确实运行JavaScript作为其扩展的一部分。

验证器的作者在本期中谈到了混合/最大精度:

https://github.com/KhronosGroup/glTF-Validator/issues/79

验证器期望存储在 JSON 中的数字与存储在缓冲区中的数字匹配,当它们以相同的精度处理时(浮点数的 IEEE 单精度(。

然后,他举了一个OP所询问的Ruby语言的例子。

如果那里的解释与您看到的不符,请向验证者提交新问题。 谢谢!

最新更新