Three.js: Отключение отбрасывания теней на один из нескольких источников света приводит к сбою модуля рендеринга

Созданный на 23 окт. 2019  ·  3Комментарии  ·  Источник: mrdoob/three.js

Описание проблемы

Для сцены, содержащей несколько источников света, отключение отбрасывания теней только на один из источников света приведет к сбою рендерера.

Трассировки стека:

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)

Эта проблема началась с версии r108. В r107 проблемы не возникает.

Примеры:

  • jsfiddle (r109, нажатие на «тени» приведет к сбою рендерера)
  • jsfiddle (r107, щелчок по теням будет работать правильно)
Версия Three.js
  • [x] r108
  • [x] r108
  • [] r107
Браузер
  • [x] Все они
  • [] Chrome
  • [ ] Fire Fox
  • [] Internet Explorer
Операционные системы
  • [x] Все они
  • [] Windows
  • [] macOS
  • [] Linux
  • [] Android
  • [] iOS

Все 3 Комментарий

На самом деле, я не могу воспроизвести последнюю версию dev :

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

@moskopio Не могли бы вы проверить?

https://jsfiddle.net/pbkx9mwg/ работает с использованием r109, и в этой версии действительно происходит сбой.

Однако он отлично работает на https://jsfiddle.net/ewhgdyk4/1/, который использует последнюю версию dev : +1:

Спасибо @ Mugen87 !

Рад, что этот вопрос уже решен: sweat_smile:

Была ли эта страница полезной?
0 / 5 - 0 рейтинги