Three.js: La desactivación de proyectar sombras en una de varias luces bloquea el renderizador

Creado en 23 oct. 2019  ·  3Comentarios  ·  Fuente: mrdoob/three.js

Descripción del problema

Dada una escena que contiene múltiples fuentes de luz, deshabilitar la proyección de sombras en solo una de las luces provocará que el renderizador se bloquee.

StackTrace:

three.js:16521 Uncaught TypeError: Cannot read property 'toArray' of undefined
    at flatten (three.js:16521)
    at PureArrayUniform.setValueM4Array [as setValue] (three.js:16999)
    at Function.WebGLUniforms.upload (three.js:17248)
    at setProgram (three.js:25307)
    at WebGLRenderer.renderBufferDirect (three.js:24041)
    at renderObject (three.js:24802)
    at renderObjects (three.js:24772)
    at WebGLRenderer.render (three.js:24549)
    at render ((index):111)

Este problema comenzó a ocurrir a partir de la versión r108. En r107 el problema no ocurre.

Ejemplos:

  • jsfiddle (r109, al hacer clic en 'sombras' se bloqueará el renderizador)
  • jsfiddle (r107, hacer clic en 'sombras' funcionará correctamente)
Versión Three.js
  • [x] r108
  • [x] r108
  • [] r107
Navegador
  • [x] Todos ellos
  • [ ] Cromo
  • [] Firefox
  • [ ] Explorador de Internet
SO
  • [x] Todos ellos
  • [] Windows
  • [ ] Mac OS
  • [] Linux
  • [] Android
  • [] iOS
Bug

Todos 3 comentarios

En realidad, no puedo reproducir con la última versión de dev :

https://jsfiddle.net/ewhgdyk4/1/

@moskopio ¿Puedes verificar?

https://jsfiddle.net/pbkx9mwg/ se está ejecutando con r109 y se produce un bloqueo en esta versión.

Sin embargo, funciona bien en https://jsfiddle.net/ewhgdyk4/1/ que usa el último dev : +1:

¡Gracias @ Mugen87 !

Me alegro de que este problema ya esté resuelto: sweat_smile:

¿Fue útil esta página
0 / 5 - 0 calificaciones