2013-02-28 3 views

ответ

4

OpenGL не имеет таких ограничений.

Buffer Objects может быть произвольного размера. Однако разные использует объектов-буферов, имеющих разные ограничения по размеру. source for vertex array data по существу неограничен. Но buffer textures имеют ограничение по размеру. Размер bound range of uniform buffer data имеет предел. И various other uses имеют ограничения, по мере необходимости. Но нет ограничений на размер буфера памяти сам.

В основном, подумайте о буферных объектах в качестве указателей на память графического процессора, с glBufferData как malloc. Различные API-интерфейсы, которые используют указатели, могут иметь ограничения на то, сколько памяти они могут получить. Но mallocсам не имеет каких-либо конкретных ограничений (кроме того, конечно, из-за нехватки памяти).

+0

Спасибо, я был немного смущен концепциями, ваш ответ очень помогает. Я просто понял, что «const buffer» в dx соответствует «Uniform Block» в OGL, поэтому я могу использовать метод glGetIntegerv() и GL_MAX_VERTEX_UNIFORM_BLOCKS, GL_MAX_GEOMETRY_UNIFORM_BLOCKS, GL_MAX_FRAGMENT_UNIFORM_BLOCKS, GL_MAX_UNIFORM_BLOCK_SIZE, чтобы получить свойства. – user2119107

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