2015-11-27 2 views
3

У меня есть веб-приложение, где мне нужно отображать несколько 3D-объектов в разных контейнерах. На данный момент я создавал несколько обработчиков three.js, по одному на контейнер. Однако я получаю это сообщение об ошибке: «ПРЕДУПРЕЖДЕНИЕ: слишком много активных контекстов WebGL. Самый старый контекст будет потерян», а после ~ 10 рендереров я больше не могу открывать. Вот примерПоказать несколько экземпляров three.js на одной странице

http://brainspell.org/article/24996404

Как я должен идти, чтобы иметь несколько three.js контейнеров в одной веб-странице? Возможно ли иметь один рендер с несколькими сценами и рисовать каждую сцену в другом контейнере (другой renderer.domElement)?

Спасибо!

+2

См http://threejs.org/examples/webgl_multiple_elements.html – WestLangley

+0

Возможная Дубликат [Можно ли включить неограниченное число рендереров в THREE.js?] (http://stackoverflow.com/questions/30608723/is-it-possible-to-enable-unbounded-number-of-renderers-in-three-js) – gman

ответ

3

Это было покрыто в другом месте, но самым простым способом является просто использовать один экземпляр three.js, сделать его закрытым по всему окну, поместить держатель места на место, где вы хотите нарисовать вещи, а затем использовать element.getClientBoundingRect для установки ножницы и видовое окно для каждой сцены, которую вы хотите нарисовать в каждом элементе

There's an example here.

Вот ответ на StackOverflow, из которого что образец происходит

https://stackoverflow.com/a/30633132/128511

Смежные вопросы