Three.js: La désactivation de la projection d'ombres sur l'une des lumières multiples fait planter le moteur de rendu

Créé le 23 oct. 2019  ·  3Commentaires  ·  Source: mrdoob/three.js

description du problème

Étant donné une scène contenant plusieurs sources de lumière, la désactivation de la projection d'ombres sur une seule des lumières entraînera le blocage du moteur de rendu.

Trace de la pile:

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)

Ce problème a commencé à se produire à partir de la version r108. Dans r107, le problème ne se produit pas.

Exemples:

  • jsfiddle (r109, cliquer sur 'ombres' fera planter le moteur de rendu)
  • jsfiddle (r107, cliquer sur 'ombres' fonctionnera correctement)
Version Three.js
  • [x] r108
  • [x] r108
  • [] r107
Le navigateur
  • [x] Tous
  • [] Chrome
  • [] Firefox
  • [ ] Internet Explorer
OS
  • [x] Tous
  • [ ] Les fenêtres
  • [] macOS
  • [] Linux
  • [ ] Android
  • [] iOS
Bug

Tous les 3 commentaires

En fait, je ne peux pas reproduire avec la dernière version de dev :

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

@moskopio Pouvez-vous vérifier?

https://jsfiddle.net/pbkx9mwg/ fonctionne avec r109 et un crash se produit sur cette version.

Cependant, il fonctionne très bien sur https://jsfiddle.net/ewhgdyk4/1/ qui utilise le dernier dev : +1:

Merci @ Mugen87 !

Je suis content que ce problème soit déjà résolu: sweat_smile:

Cette page vous a été utile?
0 / 5 - 0 notes