Ограничение размера буфера WebGL - PullRequest
3 голосов
/ 30 июня 2011

Я только что столкнулся с небольшой проблемой с WebGL сегодня, когда выполнял проект по визуализации набора точек. Я понимаю, что существует предел индекса в drawElements , поскольку индексы являются 16-разрядными целыми числами. Согласно этой записи , однако, drawArrays не существует, что я подтвердил, что смог отправить около 400 тыс. Баллов в графический процессор.

Дело в том, что, попробовав 400k, я захотел изучить возможности WebGL и попробовал использовать модель вершин 3M. Взрыв! Ничего не отображается, и инспектор WebGL не показывает drawArrays call.

Известно ли вам о каком-либо ограничении для прямых вызовов drawArray?

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Похоже, у вас устаревший драйвер.Определение drawArrays ():

void drawArrays(enum mode, int first, long count)

Элемент count представляет собой длинное целое число, которое будет означать не менее 2 ^ 32 элементов в 32-разрядных архитектурах и 2 ^ 64 в 64-разрядных архитектурах.

Помните, что, в отличие от того, что можно было предположить, и Chrome / Chromium, и Firefox используют Direct3D в качестве базовой технологии для WebGL в Windows.

1 голос
/ 30 июня 2011

Похоже, что тот же вопрос уже обсуждался / был дан ответ: Существует ли ограничение вершин в WebGL? . В этой ветке сообщение от brainjam гласит, что он обнаружил, что drawArrays не ограничивается 65k.

...