2013-03-18 4 views
0

Есть ли способ установить цвет целого объекта THREE.Geometry, используя three.js? Есть несколько наивных способов, которыми я мог бы это сделать, но ни один из методов не кажется идеальным.Установить цвет всего объекта THREE.Geometry

Я мог клонировать материал и устанавливать разные цвета для каждой геометрии. По существу, каждая геометрия будет иметь отношение «один к одному» с материалом. Однако это создало бы много тяжеловесных материальных объектов и, возможно, ненужных дополнительных шейдеров на графическом процессоре.

Я мог бы также использовать единственный белый материал и покрасить все грани геометрии. Тем не менее, было бы много повторений одних и тех же цветовых объектов, поскольку каждая геометрия будет иметь только один цвет, но много лиц.

Есть ли «правильный» способ сделать это с помощью three.js?

ответ

1

Однако это создало бы много тяжелых материальных объектов и, возможно, ненужных дополнительных шейдеров на графическом процессоре.

Не следует. Шейдеры будут повторно использоваться, если они будут одинаковыми. Поэтому создание такого количества материалов, как геометрия, должно быть в порядке.

+0

Спасибо. Тогда я буду использовать много материалов. Есть ли добавленная память или преимущество в скорости от клонирования базового материала, а не создания новых с нуля? – Vortico

+0

Должно быть одинаково. – mrdoob

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