Есть ли разница между указанными выше, поскольку оба они имеют одинаковый эффект, мое предположение заключается в том, что метод буфера un-map более оптимизирован для un-отображения, а не привязки буфер от 0 до un-mapglUnmapBuffer (GL_ARRAY_BUFFER) vs glBindBuffer (GL_ARRAY_BUFFER, 0)
ответ
Есть ли разница между выше, поскольку они оба по-видимому, имеют тот же эффект,
Там не просто какая-то разница между ними, они делают совершенно разные вещи.
glBindBuffer не принимает/выбирает, к какому буферному объекту относятся следующие операции OpenGL.
glUnmapBuffer является дополнением к glMapBuffer. glMapBuffer отображает буфер в адресное пространство хоста, то есть после сопоставления буфера его содержимое доступно через указатель. glUnmapBuffer освобождает это сопоставление, то есть содержимое буфера исчезает из адресного пространства хост-процесса.
Поскольку оба функциональных ортогонально связывание состояния не имеет никакого влияния на адрес пространственных отображений, а адресное пространство отображение не оказывает никакого влияния на связывание состояния.
Нет, они не имеют такого же эффекта. Буфер привязки 0 просто отталкивает буфер от какой-либо привязывающей цели, он не отменяет его. Отображение буфера сохраняется и может быть использовано. Вы также можете одновременно отображать несколько буферов. glUnmapBuffer()
просто удаляет буфер, который привязан к целевой точке.
- 1. Могу ли я иметь несколько буферов GL_ARRAY_BUFFER?
- 2. glVertexAttribPointer зависит от GL_ARRAY_BUFFER?
- 3. Использование GL_ARRAY_BUFFER для обновления данных Vertice
- 4. Ошибка WebGL: vertexAttribPointer должен иметь действительный привязку GL_ARRAY_BUFFER
- 5. Порядок аргументов в glBindBuffer
- 6. Как OpenGL знает, в какую позицию он должен нарисовать вершины на основе GL_ARRAY_BUFFER?
- 7. Почему второй вызов glBindBuffer?
- 8. glBindBuffer дает ошибку 502 GL_INVALID_OPERATION
- 9. Могу ли я вызвать `glDrawArrays` несколько раз при обновлении того же` GL_ARRAY_BUFFER`?
- 10. OpenGL: можно ли смешивать glBindBuffer с glBindBufferARB?
- 11. GLSL gl_PrimitiveID всегда 0
- 12. Как динамически редактировать VBO на лету
- 13. Невозможно найти glGenBuffers, glBindBuffer и т. Д. В qopenglfunctions.h
- 14. Форма OpenGL рисует только при исходном положении (0, 0, 0)
- 15. Android OpenGL ES 2. 0 VBO Not Rendering
- 16. Текстурирование VBO (объекты буфера вершин)
- 17. Ошибка сегментации в то время как Unmapping Buffer glBindBuffer()
- 18. GL_INVALID_ENUM с glMapBuffer()
- 19. Преобразование C++ OpenGL в Java/LWJGL
- 20. Почему привязка GL_ELEMENT_ARRAY_BUFFER к 0 приводит к ошибке memmove?
- 21. Должны ли `glEnableVertexAttribArray` и` glVertexAttribPointer` вызываться каждый раз после `glBindBuffer` без VAO?
- 22. Как использовать использование различной линейной отметки с помощью glBufferData
- 23. OpenGL: vertexArray vs glBegin()
- 24. OpenGL буфер для атрибутов
- 25. При использовании IBO/EBO программа работает только при вызове glBindBuffer для привязки IBO/EBO ПОСЛЕ создания VAO
- 26. Производительность OpenGL: VBOs/Vertex shader против glEnableClientState/glVertexPointer и glMultMatrix vs glUniformMatrix
- 27. звонок glDrawElements вызывает нарушение прав доступа
- 28. exit (0) vs return 0
- 29. Как использовать обратную связь преобразования opengl, я всегда получаю 0 в буферах
- 30. Как установить нормали для квадроциклов VBO