2013-08-15 5 views
21

Как я понимаю, геометрия хранит объекты JavaScript структуры вершин и граней и BufferGeometry только сохраняет необработанные данные через Gl Float32Arrays и т.д.трансформирующая Геометрия для BufferGeometry

Есть ли способ превратить стандартную геометрию в BufferGeometry , что намного компактнее с меньшим количеством объектов? Например, если я создаю новую SphereGeometry, есть ли способ легко преобразовать ее в BufferGeometry?

ответ

31

Вам повезло.

var bufferGeometry = new THREE.BufferGeometry().fromGeometry(geometry); 

EDIT: обновлен до three.js R.76

+0

Я просто попытался с помощью этого (бренд порки нового, да) но лица не перенесет. Я попытался установить свойство несуществующих лиц в геометрии буфера на ту, что на старой геометрии, но не на кости. – Axiverse

+1

Работает для меня. Квадратные грани не поддерживаются в r.60, только три. Пройдите код с помощью отладчика. Вероятно, вы можете выяснить, в чем проблема. – WestLangley

+0

Ах, да, я видел это и делал что-то на основе этого кода. Благодаря! Портировал мои сферы на BufferGeometry: http://i.imgur.com/UCB1f61.png – Axiverse

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