Three.js: Menonaktifkan pengecoran bayangan pada satu dari beberapa lampu akan merusak perender

Dibuat pada 23 Okt 2019  ·  3Komentar  ·  Sumber: mrdoob/three.js

Deskripsi masalah

Mengingat pemandangan yang berisi beberapa sumber cahaya, menonaktifkan bayangan hanya pada salah satu lampu akan mengakibatkan perender mogok.

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)

Masalah ini mulai terjadi dari versi r108. Di r107 masalah tidak terjadi.

Contoh:

  • jsfiddle (r109, mengklik 'bayangan' akan merusak perender)
  • jsfiddle (r107, mengklik 'bayangan' akan berfungsi dengan baik)
Versi Three.js
  • [x] r108
  • [x] r108
  • [] r107
Browser
  • [x] Semuanya
  • [] Chrome
  • [] Firefox
  • [ ] Internet Explorer
OS
  • [x] Semuanya
  • [] Jendela
  • [] macOS
  • [] Linux
  • [] Android
  • [] iOS
Bug

Semua 3 komentar

Sebenarnya, saya tidak dapat mereproduksi dengan versi dev terbaru:

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

@moskopio Bisakah Anda memverifikasi?

https://jsfiddle.net/pbkx9mwg/ berjalan menggunakan r109 dan crash memang terjadi pada versi ini.

Namun, ini berfungsi dengan baik di https://jsfiddle.net/ewhgdyk4/1/ yang menggunakan dev terbaru: +1:

Terima kasih @ Mugen87 !

Saya senang masalah ini sudah teratasi: sweat_smile:

Apakah halaman ini membantu?
0 / 5 - 0 peringkat