OpenGL——VAO,VBO,EBO等对象的使用
最近在学OpenGL为接下来的秋招做准备。OpenGL的对象让我花了很大的脑筋去理解,这里整理我现在遇到的常用对象。
-
VBO(Vertex Buffer Object):顶点缓冲对象
-
VAO(Vertex Array Object):顶点数组对象
-
EBO(Element Buffer Object):索引缓冲对象
-
着色器对象
VBO(Vertex Buffer Object):顶点缓冲对象
使用OpenGL要定义很多顶点,这些顶点存储在GPU的显存上。VBO就是用来管理这些内存的。换句话说,VBO代表着我们定义的顶点。
这样做的好处就是我们可以一次性发送大量顶点数据到显卡上,而不用每次发送一个。从CPU发送数据到显卡可是很慢的。
——我自己说的
VBO的使用方法:
gluint VBO; //定义一个无符号整形VBO对象,其值为其ID
glGenBuffers(num, &VBO);//分配num个缓冲给VBO
至此对象创建完毕,VBO的值即为缓冲的ID。
//将VBO对象绑定到顶点缓冲
glBindBuffer(GL_ARRAY_BU