Вы можете нарисовать вершины, используя drawElements
(который пересекает массив индексов в массив вершин) или drawArrays
, который пересекает массив вершин напрямую.
Кажется, что нетбыть любым ограничением на количество вершин в буфере атрибута при использовании drawArrays
.Использование drawArrays
возможно менее желательно, потому что для типичного меша вы должны указывать каждую вершину каждый раз, когда она появляется в примитиве.С другой стороны, в зависимости от вашей сцены, это может быть простым способом уменьшения количества вызовов WebGL.
Я упоминаю об этом только потому, что после прочтения этого вопроса и его принятого ответа я в течение длительного времени предполагал, чтоколичество вершин в drawArrays
также было ограничено 65K.Случайно я обнаружил, что это не так, и в итоге получил большое ускорение, агрегируя объекты с общими материалами в единственные вершинные массивы (таким образом обойдя издержки производительности для каждого буфера, которые, кажется, в настоящее время обременяют реализации ANGLE).