Three.js: RGBELoader魔术头检查

创建于 2020-12-05  ·  3评论  ·  资料来源: mrdoob/three.js

描述错误

RGBELoader在文件开头检查魔术令牌:
https://github.com/mrdoob/three.js/blob/1e161eaeedee694861ec480f04b632443f64dbb4/examples/jsm/loaders/RGBELoader.js#L149 -L154

我有一个具有上述标题的文件:
image
加载程序无法识别魔术令牌。

这是打印到控制台时line内容:
image

现在奇怪的是,如果您尝试将其复制并再次检查匹配项:
image
一切看起来不错,但是,如果直接在line上尝试,您将看到以下内容:
image

问题在于结尾处有
 (回车):
image
image

额外一点:
image
摄取函数fget似乎将13和10都解释为NEW_LINE char

重现

  • 目前无法共享文件

代码


现场例子

  • 目前无法共享文件

预期行为

我不确定,我认为应该将其视为有效的标头。 使用r107时未发生此问题,因此它看起来像是回归错误。 但是也许更熟悉RGBE规范的人可以澄清。

屏幕截图

看上面

平台:

  • 设备:[桌面]
  • 作业系统:[Windows]
  • 浏览器:[Chrome]
  • Three.js版本:[r ??? -是的123]
Bug Loaders

最有用的评论

我在网上找不到任何说明应限制#?RADIANCE之后的字节的内容。 规范上的此引用似乎表明,对于第一个字节而言, #?RADIANCE就足够了,并且不需要跟随换行符。

从中更改magic_token_re

magic_token_re = /^#\?(\S+)$/

对此

magic_token_re = /^#\?(\S+)/

似乎是一个解决办法。

所有3条评论

我在网上找不到任何说明应限制#?RADIANCE之后的字节的内容。 规范上的此引用似乎表明,对于第一个字节而言, #?RADIANCE就足够了,并且不需要跟随换行符。

从中更改magic_token_re

magic_token_re = /^#\?(\S+)$/

对此

magic_token_re = /^#\?(\S+)/

似乎是一个解决办法。

@Usnul您介意测试此修复程序吗?

是的,这可行。

此页面是否有帮助?
0 / 5 - 0 等级