Describe el error
RGBELoader busca un token mágico al comienzo del archivo:
https://github.com/mrdoob/three.js/blob/1e161eaeedee694861ec480f04b632443f64dbb4/examples/jsm/loaders/RGBELoader.js#L149 -L154
Tengo un archivo que tiene dicho encabezado:
Sin embargo, Loader no reconoce la ficha mágica.
Esto es lo que son los contenidos de line
cuando se imprimen en la consola:
Ahora, la parte curiosa aquí es si intenta copiar eso y verificar la coincidencia nuevamente:
Todo se ve bien, sin embargo, si lo prueba en el line
directamente, verá esto:
El problema es que hay un
al final (retorno de carro):
Un poco más:
Parece que tanto 13 como 10 se interpretan como NEW_LINE char por la función de ingestión fget
Reproducir
Código
Ejemplo vivo
Comportamiento esperado
No estoy seguro, creo que esto debería tratarse como un encabezado válido. Este problema no ocurrió al usar r107, por lo que parece un error de regresión. Pero quizás alguien más familiarizado con la especificación RGBE pueda aclararlo.
Capturas de pantalla
véase más arriba
Plataforma:
No puedo encontrar nada en línea que indique que los bytes que vienen después de #?RADIANCE
deben estar restringidos. Esta referencia en la especificación parece indicar que es suficiente que los primeros bytes sean #?RADIANCE
y que no es necesario seguir una nueva línea.
Cambiando magic_token_re
de esto
magic_token_re = /^#\?(\S+)$/
a esto
magic_token_re = /^#\?(\S+)/
parece una solución.
@Usnul, ¿te importaría probar esa solución?
Si, esto funciona.
Comentario más útil
No puedo encontrar nada en línea que indique que los bytes que vienen después de
#?RADIANCE
deben estar restringidos. Esta referencia en la especificación parece indicar que es suficiente que los primeros bytes sean#?RADIANCE
y que no es necesario seguir una nueva línea.Cambiando
magic_token_re
de estoa esto
parece una solución.