Descreva o bug
RGBELoader verifica o token mágico no início do arquivo:
https://github.com/mrdoob/three.js/blob/1e161eaeedee694861ec480f04b632443f64dbb4/examples/jsm/loaders/RGBELoader.js#L149 -L154
Tenho um arquivo com o referido cabeçalho:
O Loader não reconhece o token mágico.
Aqui está o conteúdo de line
quando impresso no console:
Agora, a parte curiosa aqui é se você tentar copiar isso e verificar a correspondência novamente:
Tudo parece bem, no entanto, se você tentar no line
diretamente, verá o seguinte:
O problema é que há um
no final (retorno de carro):
Um pouco mais:
Parece que 13 e 10 são interpretados como NEW_LINE caracteres pela função de ingestão fget
Reproduzir
Código
Exemplo vivo
Comportamento esperado
Não tenho certeza, acredito que isso deve ser tratado como um cabeçalho válido. Esse problema não ocorria ao usar o r107, então parece um bug de regressão. Mas talvez alguém mais familiarizado com as especificações RGBE possa esclarecer.
Capturas de tela
Veja acima
Plataforma:
Não consigo encontrar nada online que afirme que os bytes que vêm depois de #?RADIANCE
devem ser restritos. Esta referência na especificação parece indicar que é suficiente para os primeiros bytes serem #?RADIANCE
e que uma nova linha não precisa seguir.
Alterando magic_token_re
deste
magic_token_re = /^#\?(\S+)$/
para isso
magic_token_re = /^#\?(\S+)/
parece uma solução.
@Usnul , você se importa em testar essa correção?
Sim, isso funciona.
Comentários muito úteis
Não consigo encontrar nada online que afirme que os bytes que vêm depois de
#?RADIANCE
devem ser restritos. Esta referência na especificação parece indicar que é suficiente para os primeiros bytes serem#?RADIANCE
e que uma nova linha não precisa seguir.Alterando
magic_token_re
destepara isso
parece uma solução.