描述错误
RGBELoader在文件开头检查魔术令牌:
https://github.com/mrdoob/three.js/blob/1e161eaeedee694861ec480f04b632443f64dbb4/examples/jsm/loaders/RGBELoader.js#L149 -L154
我有一个具有上述标题的文件:
加载程序无法识别魔术令牌。
这是打印到控制台时line
内容:
现在奇怪的是,如果您尝试将其复制并再次检查匹配项:
一切看起来不错,但是,如果直接在line
上尝试,您将看到以下内容:
问题在于结尾处有
(回车):
额外一点:
摄取函数fget
似乎将13和10都解释为NEW_LINE char
重现
代码
现场例子
预期行为
我不确定,我认为应该将其视为有效的标头。 使用r107时未发生此问题,因此它看起来像是回归错误。 但是也许更熟悉RGBE规范的人可以澄清。
屏幕截图
看上面
平台:
我在网上找不到任何说明应限制#?RADIANCE
之后的字节的内容。 规范上的此引用似乎表明,对于第一个字节而言, #?RADIANCE
就足够了,并且不需要跟随换行符。
从中更改magic_token_re
magic_token_re = /^#\?(\S+)$/
对此
magic_token_re = /^#\?(\S+)/
似乎是一个解决办法。
@Usnul您介意测试此修复程序吗?
是的,这可行。
最有用的评论
我在网上找不到任何说明应限制
#?RADIANCE
之后的字节的内容。 规范上的此引用似乎表明,对于第一个字节而言,#?RADIANCE
就足够了,并且不需要跟随换行符。从中更改
magic_token_re
对此
似乎是一个解决办法。