Начиная с OpenGL-1.2 применяется своего рода ограничение при использовании glDrawRangeElements
:
Реализации обозначают рекомендуемые максимальные объемы данных вершин и индексов, которые могут быть запрошены путем вызова GetIntegerv
с символическимконстанты MAX_ELEMENTS_VERTICES
и MAX_ELEMENTS_INDICES
.Если end-start + 1 больше, чем значение MAX_ELEMENTS_VERTICES
, или если число больше, чем значение MAX_ELEMENTS_INDICES
, то вызов может работать с пониженной производительностью.Не требуется, чтобы все вершины в диапазоне начинались;конец ссылки.Однако реализация может частично обрабатывать неиспользуемые вершины, снижая производительность по сравнению с тем, что может быть достигнуто при оптимальном наборе индексов.
Но это скорее рекомендация, а не жесткое ограничение.Кроме этого, истинный предел - это объем установленной памяти, и то, что может быть адресовано выбранным типом для массива элемента индекса
Однако ограничения для glDrawRangeElements
обычно также являются хорошим показателемдля размеров партии в целом.