顶点数组对象和缓冲区对象之间的区别?

迈克尔·哈加尔

我只是开始在OpenGL(v。3.3)中进行编程,而我对这两个“对象”到底是什么以及如何正确使用它们感到困惑。

例如,假设我要在屏幕上绘制两个对象-一个球体和一个立方体。我应该创建两个VAO和两个缓冲区对象-分别一个,还是应该创建一个VAO和两个缓冲区对象(之间有一个调用glBindBuffer()),或者创建一个VAO和一个缓冲区对象并调用glBufferData()以在两者之间更新缓冲区对象打电话?

用户名

首先,由于只有静态几何体,为了获得最佳性能,您应该真正避免在绘制调用之间更新任何缓冲区数据,而应仅使用静态缓冲区对象(一个用于球体,一个用于立方体,或一个包含两个数据的单个)。

其次,顶点数组对象捕获当前绑定的缓冲区对象,因此您需要保留与两个缓冲区对象相对应的两个顶点数组对象(一个用于球体,另一个用于立方体),或者如果数据用于球体和立方体已合并到单个缓冲区对象中。在后一种情况下,可以使用glDrawArrays的参数glDrawElements来选择球体或立方体数据(或可以通过一次绘制调用来绘制两者)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在绑定顶点数组对象和缓冲区数据以在渲染时动态绘制时编写通用的 webgl 渲染循环?

来自分类Dev

将多个缓冲区对象与单个顶点数组对象绑定不起作用

来自分类Dev

OpenGL顶点数组对象是存储顶点缓冲区名称和索引,还是仅存储索引?

来自分类Dev

OpenGL顶点数组对象是存储顶点缓冲区名称和索引,还是仅存储索引?

来自分类Dev

OpenGL复制顶点缓冲区对象

来自分类Dev

何时清除顶点缓冲区对象

来自分类Dev

何时清除顶点缓冲区对象

来自分类Dev

OpenGL绘制顶点缓冲区对象

来自分类Dev

缓冲区和缓存之间有什么区别?

来自分类Dev

OpenGL更新顶点数组/缓冲区

来自分类Dev

更改顶点缓冲区对象中的顶点颜色

来自分类Dev

使用顶点缓冲区对象的最低OpenGL ES版本

来自分类Dev

JOGL中具有顶点缓冲区对象的问题

来自分类Dev

动态打包OpenGL顶点缓冲区对象的数据

来自分类Dev

更改顶点数组对象

来自分类Dev

为什么在调用glDrawArrays之前不需要绑定顶点缓冲区对象?

来自分类Dev

同一顶点缓冲区对象中有多个网格?

来自分类Dev

通过pyopengl OpenGL.arrays.vbo更改OpenGL顶点缓冲区对象数据无效

来自分类Dev

为什么在调用glDrawArrays之前不需要绑定顶点缓冲区对象?

来自分类Dev

在DirectX11中为动态和静态对象使用单独的顶点缓冲区

来自分类Dev

合并顶点缓冲区

来自分类Dev

顶点缓冲区的渲染数组OenGL ES2

来自分类Dev

VAO和元素缓冲区对象

来自分类Dev

TypeError:预期的字符缓冲区对象

来自分类Dev

绘制渲染缓冲区对象的内容

来自分类Dev

如何设置索引缓冲区对象

来自分类Dev

预期的字符缓冲区对象错误

来自分类Dev

Python,Macports和缓冲区问题

来自分类Dev

Signalr LongPollDelay和缓冲区

Related 相关文章

  1. 1

    如何在绑定顶点数组对象和缓冲区数据以在渲染时动态绘制时编写通用的 webgl 渲染循环?

  2. 2

    将多个缓冲区对象与单个顶点数组对象绑定不起作用

  3. 3

    OpenGL顶点数组对象是存储顶点缓冲区名称和索引,还是仅存储索引?

  4. 4

    OpenGL顶点数组对象是存储顶点缓冲区名称和索引,还是仅存储索引?

  5. 5

    OpenGL复制顶点缓冲区对象

  6. 6

    何时清除顶点缓冲区对象

  7. 7

    何时清除顶点缓冲区对象

  8. 8

    OpenGL绘制顶点缓冲区对象

  9. 9

    缓冲区和缓存之间有什么区别?

  10. 10

    OpenGL更新顶点数组/缓冲区

  11. 11

    更改顶点缓冲区对象中的顶点颜色

  12. 12

    使用顶点缓冲区对象的最低OpenGL ES版本

  13. 13

    JOGL中具有顶点缓冲区对象的问题

  14. 14

    动态打包OpenGL顶点缓冲区对象的数据

  15. 15

    更改顶点数组对象

  16. 16

    为什么在调用glDrawArrays之前不需要绑定顶点缓冲区对象?

  17. 17

    同一顶点缓冲区对象中有多个网格?

  18. 18

    通过pyopengl OpenGL.arrays.vbo更改OpenGL顶点缓冲区对象数据无效

  19. 19

    为什么在调用glDrawArrays之前不需要绑定顶点缓冲区对象?

  20. 20

    在DirectX11中为动态和静态对象使用单独的顶点缓冲区

  21. 21

    合并顶点缓冲区

  22. 22

    顶点缓冲区的渲染数组OenGL ES2

  23. 23

    VAO和元素缓冲区对象

  24. 24

    TypeError:预期的字符缓冲区对象

  25. 25

    绘制渲染缓冲区对象的内容

  26. 26

    如何设置索引缓冲区对象

  27. 27

    预期的字符缓冲区对象错误

  28. 28

    Python,Macports和缓冲区问题

  29. 29

    Signalr LongPollDelay和缓冲区

热门标签

归档