LINUX.ORG.RU

буферизация OpenGL


0

2
glBufferDataARB(34962, 864, (nil), 35040)
glBufferDataARB(34963, 108, (nil), 35040)
glBufferSubDataARB(34962, (nil), 864, 0x103b6020)
glBufferSubDataARB(34963, (nil), 108, 0x7d48d38)
glBindTexture(3553, 13)
glEnable(2896)
glLightModelfv(2899, 0x32fa8c)
glViewport(0, 0, 1920, 1080)
glDepthRange(0.000000, 1.000000)
glVertexAttribPointerARB(0, 3, 5126, 1, 24, (nil))
glVertexAttribPointerARB(4, 4, 5121, 1, 24, 0xc)
glVertexAttribPointerARB(6, 2, 5126, 1, 24, 0x10)
glDrawRangeElementsEXT(4, 0, 35, 54, 5123, (nil))

примерный код

а вопрос вот в чем - как долго нужно хранить в памяти данные которые использовались в приведших командах opengl? если DrawElements рисует использую интдексы скажем из обычной памяти - то можно ли сразу после завершения команды эту память юзать для другого ?

ведь есть (была ?) буферизация opengl команд - которые выполняются не сразу - а через какое то время - иначе для чего в opengl команды glFlush и glFinish ? или я неправильно понимаю ?

вот в приведенном листинге задаются и загружаються из озу 2 буфера по 864 и 108 байта вот и вопрос как быстро можно изменять эту память - и где это оговаривается

★★

Вызов команды скопирует эти данные куда надо, можешь сразу после этого делать с памятью что хочешь.

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

но ведь некоторые комманды реально буферизируються - и неотрисовываються пока glFlush незаюзаеш - есть ли где этому описание ?

ae1234 ★★
() автор топика
Ответ на: комментарий от ae1234

но ведь некоторые комманды реально буферизируються - и неотрисовываються пока glFlush незаюзаеш

Для начала я бы порекомендовал учебник по русскому языку.

Во-вторых:

http://www.opengl.org/sdk/docs/man/xhtml/glFlush.xml

http://www.opengl.org/sdk/docs/man/xhtml/glFinish.xml

Разница в том, что glFlush не ждет завершения обработки, а glFinish — ждет.

buddhist ★★★★★
()
Ответ на: комментарий от ae1234

вместо того чтоб вы;%№аться насчет русского языка

Но это элементарная вещь, без нее даже не стоит подходить ко всяким OpenGL'ам.

А если бы вы прошли по приведенным ссылкам, вы бы прочитали, где именно буферизуются команды — уже на акселераторе, следовательно, данные теоретически загружаются в видеопамять сразу.

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.