2015-04-02 6 views
0

Как облегчить рендеринг большого количества «схожих» ячеек?Оптимизация большого количества ячеек

До сих пор я нашел следующее: 1. Отсоедините матричный расчет сетки перед каждым выстрелом: mesh.matrixAutoUpdate = false; и вычислить матрицу при изменении поворота или положения.

Отключить frusum выбраковка (не нужно все меши всегда находятся в поле зрения камеры.) А следующие вопросы: Сетки - кусочки местности, они имеют один и тот же материал, для текстуры исключения. Есть ли способ использовать один материал для всех выбранных сеток, но при рендеринге изменяются только необходимые данные

А что еще есть способы оптимизации?

+1

Вы можете объединить сетки, которые имеют один и тот же материал (то есть текстуру). Посмотрите на http://threejs.org/docs/#Reference/Extras/GeometryUtils – gaitat

+0

Я не могу, они динамически загружаются и удаляются независимо – NiSSaN

+0

ну, если это ландшафт, который вы хотите оптимизировать, посмотрите на http: // zephyrosanemos .com/ – gaitat

ответ

0

вы можете использовать материалы, текстуры, геометрические формы и почти ничего в three.js ...

для местности, создать один материал, а затем создать столько сетки, используя этот материал, как вам нравится.

Редактировать: Если у вас есть более одной текстуры, вам нужно будет использовать один материал для каждой текстуры, которую вы хотите использовать. Если каждая сетка должна иметь свою собственную текстуру, отличную от всех остальных, то вы не сможете оптимизировать материалы, но я не считаю, что это ваш случай.

Слияние геометрии - отличный трюк оптимизации, если вы не можете сделать это, по крайней мере, повторно использовать геометрию так же, как и материалы.

+0

Как используется материал, учитывая, что для каждой сетки он имеет только разные текстуры? Как изменить текстуру сетки перед рендерингом? – NiSSaN

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