glTF accessor.max / min验证

时间:2018-06-29 05:21:44

标签: gltf

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

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

更重要的是,我想知道这些错误是否重要。我可以修改glTF文件生成器,以便可以将顶点位置坐标表示为文本字符串而不会出错,但这似乎是一个荒谬的解决方案。我在这里想念东西吗?

1 个答案:

答案 0 :(得分:0)

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

验证者的作者在本期中讨论混合/最大精度:

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

  

当以相同的精度(浮点数的IEEE单精度)对待时,验证器希望JSON中存储的数字与缓冲区中存储的数字匹配。

然后,他给出了OP所要求的Ruby语言示例。

如果其中的说明与您看到的内容不符,请file a new issue和验证者一起使用。谢谢!