OpenGL中VAO的目的是什么?
What is the purpose of VAO in OpenGL
我开始学习现代OpenGL,正如标题所说,我只是想确定VAO在渲染管道中的目的。
渲染时,我们使用VBO来存储数据,然后我们使用OpenGL函数,如:glAttribe来告诉GPU,我们将以"那种方式"使用这些数据,如:我们通过VBO的顶点的前3个浮点数实际上是位置,接下来的3个浮点数是颜色等……然后我读到我们需要一些VAO来存储顶点的描述但目标是什么呢?
顶点数组对象存储了一组缓冲区名称(通常是顶点和索引缓冲区),以便从中获取顶点数据,以及顶点如何在顶点缓冲区中布局。
它们的主要目的是当你想从不同的缓冲区中渲染不同的模型时,而不是每次绑定每个缓冲区然后设置顶点属性格式,你只需要绑定一个不同的VAO,所有的缓冲区和属性都为你设置好了。
这不仅对程序员来说更方便,它减少了所需的OpenGL调用的数量,从而减少了CPU的使用,从而可以清除CPU瓶颈。
相关文章:
- 在 OpenGL 中计算矩阵时,转换的正确顺序是什么?
- OpenGL 调试 错误回调函数的 ID 参数是什么?
- 在 OpenGL 中,在保持良好帧速率的同时,VBO 中有多少个顶点的好目标是什么
- 在Linux上编写OpenGL 4.X应用程序的常用库是什么?
- OpenGL从1.x、2.x、3.x和4.x的变化是什么
- OpenGL中的缓冲区究竟是什么?如何使用多个缓冲区来发挥优势
- openGL:使用glm进行转换的顺序是什么
- 什么是现代OpenGL等同于glBegin/glEnd
- 什么是富豪OpenGL
- 在现代OpenGL中绘制多个对象的最佳方法是什么?
- OpenGL中使用的push_back方法是什么
- OpenGL中VAO的目的是什么?
- 为openGL提供3D坐标的顺序是什么?
- 是什么导致了这个不可预测的OpenGL错误?
- 在 OpenGL 中每帧绘制新的全屏图像的最快方法是什么?
- OpenGL纹理ID的范围是什么?
- 让OpenCL在Qt5中与OpenGL发挥良好的正确方法是什么?
- 使透明度不显示什么是在opengl与c++的窗口后面
- OpenGL函数在命名空间gl中的缺点是什么?
- 在 Opengl 中使用矩阵的正确顺序是什么?