バグを説明する
RGBELoaderは、ファイルの先頭でマジックトークンをチェックします。
https://github.com/mrdoob/three.js/blob/1e161eaeedee694861ec480f04b632443f64dbb4/examples/jsm/loaders/RGBELoader.js#L149 -L154
上記のヘッダーを持つファイルがあります:
ただし、ローダーはマジックトークンを認識しません。
コンソールに出力したときのline
内容は次のとおりです。
ここで興味深いのは、それをコピーしてもう一度一致を確認しようとした場合です。
すべて良さそうですが、 line
直接試してみると、次のように表示されます。
問題は、最後に
があることです(キャリッジリターン):
少し余分:
13と10の両方が取り込み関数fget
によってNEW_LINE文字として解釈されるようです
再現するには
コード
実例
予想される行動
よくわかりませんが、これは有効なヘッダーとして扱われるべきだと思います。 この問題はr107の使用時には発生しなかったため、リグレッションバグのように見えます。 しかし、おそらくRGBE仕様に精通している誰かが明確にすることができます。
スクリーンショット
上記を参照
プラットホーム:
#?RADIANCE
後に続くバイトを制限する必要があると述べているものをオンラインで見つけることができません。 仕様に関するこの参照は、最初のバイトが#?RADIANCE
で十分であり、改行が続く必要がないことを示しているようです。
これからmagic_token_re
を変更する
magic_token_re = /^#\?(\S+)$/
これに
magic_token_re = /^#\?(\S+)/
修正のようです。
@Usnulその修正をテストしてもよろしいですか?
はい、これは機能します。
最も参考になるコメント
#?RADIANCE
後に続くバイトを制限する必要があると述べているものをオンラインで見つけることができません。 仕様に関するこの参照は、最初のバイトが#?RADIANCE
で十分であり、改行が続く必要がないことを示しているようです。これから
magic_token_re
を変更するこれに
修正のようです。