Почему glMapBuffer
отсутствует в opengl es 2.0? Кто мы можем получить доступ к данным буфера, чтобы эффективно его изменить? Только glBufferSubData
- лучший способ изменить буфер?glMapBuffer отсутствует в opengl es 2
ответ
glMapBuffer
является extension в ES 2.0, а не частью спецификации ядра. Подавляющее большинство устройств (все iOS и большинство Andriod) предлагают расширение, но это не требуется. Единственным основным способом загрузки данных VBO является glBufferData
, или glBufferSubData
.
Но он является родным для OpenGL 2.0? – Narek
он был представлен в OpenGL 1.5, так что да, это ядро в GL 2.0. – MuertoExcobito
Необходимо удлинить GL_OES_mapbuffer. Это обеспечивает glMapBufferOES и glUnmapBufferOES.
Для отображения поддиапазонов имеется отдельное расширение: GL_EXT_map_buffer_range.
glMapBufferRange также полезен не только для отображения поддиапазонов - у него есть новые флаги использования, поэтому вам не нужно вручную указывать драйвер для сирота предыдущего буфера с помощью glMapBuffer (NULL) –
«Лучший» способ передачи вашего буфера зависит от шаблонов доступа к данным и используемого вами драйвера OpenGL. Вот большая статья о выборе между многими вариантами даже на OpenGL ES 2.0:
http://hacksoflife.blogspot.com/2013/04/there-must-be-50-ways-to-draw-your.html
Вот новая статья о подобных методах. Кажется, что стойкая отображение является внедренным от OpenGL 4.5:
https://www.opengl.org/wiki/Buffer_Object_Streaming
Наконец, книга «Open GL Insights» имеет целую главу по этому вопросу, который включен в свободном предварительный просмотр:
http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-AsynchronousBufferTransfers.pdf
- 1. Портирование OpenGL ES 2 в OpenGL
- 2. Смешивание OpenGL ES 1 и OpenGL ES 2
- 3. OpenGL ES 2.x совместим с OpenGL
- 4. OpenGL ES 2 Сфера рендеринга
- 5. OPENGL ES 2 кубическая текстура
- 6. GL_GEOMETRY_SHADER отсутствует на IOS OpenGL ES 3.0
- 7. Перекрытие прозрачности в OpenGL ES 2
- 8. координаты текстуры в OpenGL ES 2
- 9. OpenGL ES 2 проблема в устройстве android
- 10. Поверните квад в OpenGL ES 2
- 11. Объяснение шейдерами в OpenGL ES 2
- 12. Как установить подсказки в OpenGL ES 2?
- 13. Включить сглаживание в Opengl ES 2 (ios)
- 14. OpenGL: Как использовать glMapBuffer с Qt?
- 15. OpenGL или OpenGL ES
- 16. OpenGL ES 2 2D-слоистый чертеж
- 17. OpenGL ES 2 Console Framebuffer Cursor
- 18. OpenGL ES 2: Униформа и атрибуты
- 19. Координаты в OpenGL ES
- 20. opengl es 2 расширения ARB для GUI?
- 21. Box2D debug draw with OpenGL ES 2
- 22. OpenGL ES 2 glGetActiveAtrib и non floats
- 23. Android OpenGL ES 2 Случайная деформация модели
- 24. 2 Текстуры, 1 Shader - OpenGL ES 2.0
- 25. OpenGL ES 2 - загрузка и отображение изображения
- 26. Имя переменной Эффективность Shader (OpenGL ES 2)
- 27. OpenGL ES 2 Перевод после вращения
- 28. iphone openGL ES 2 перевод объекта
- 29. OpenGL ES 2 (IOS) реализация Объемный Линии
- 30. Android NDK OpenGL ES 2 Инициализация контекста
на какой платформе вы работаете? Попробуйте найти расширение, чтобы получить такую функциональность, как «#import». –
@MaticOblak Я не нашел его в документах OpenGL ES 2.0. Вы думаете, что это не пропало? – Narek
Я думаю, он должен быть там, но я не 100%. –