C++ 现代openglid';什么有用?
我不明白OpenGL ID是如何工作的。例如:C++ 现代openglid';什么有用?,c++,opengl,buffer,C++,Opengl,Buffer,我不明白OpenGL ID是如何工作的。例如: static const GLfloat g_vertex_buffer_data[] = { -1.0f, -1.0f, 0.0f, 1.0f, -1.0f, 0.0f, 0.0f, 1.0f, 0.0f, }; GLuint vertexbuffer; glGenBuffers(1, &vertexbuffer); glBindBuffer(GL_
static const GLfloat g_vertex_buffer_data[] = {
-1.0f, -1.0f, 0.0f,
1.0f, -1.0f, 0.0f,
0.0f, 1.0f, 0.0f,
};
GLuint vertexbuffer;
glGenBuffers(1, &vertexbuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);
在这里,openGL获取数组的位置并创建一个缓冲区,然后将数组的位置放入缓冲区中。我明白这一点。但我不明白下面的代码。这到底是干什么的?据我所知,他为缓冲区创建了一个id数组,但看起来有点抽象
GLuint VertexArrayID;
glGenVertexArrays(1, &VertexArrayID);
glBindVertexArray(VertexArrayID);
在我看来,这段代码是这样的:
为缓冲区对象保留编号(名称)。如果缓冲区对象不存在,则使用指定的数字(名称)创建该对象。分别创建可用于的保留编号(名称)。如果顶点数组对象不存在,则使用指定的数字(名称)创建该对象。
顶点数组对象存储顶点规范。它将由等指定的每个属性的所有信息分别存储在向量中。调用
glvertexattributepointer
时,当前绑定到目标ARRAY\u buffer
的缓冲区与属性关联,对象的编号(名称)存储在VAO的状态向量中。为缓冲区对象保留编号(名称)。如果缓冲区对象不存在,则使用指定的数字(名称)创建该对象。分别创建可用于的保留编号(名称)。如果顶点数组对象不存在,则使用指定的数字(名称)创建该对象。
顶点数组对象存储顶点规范。它将由等指定的每个属性的所有信息分别存储在向量中。调用
glvertexattributepointer
时,当前绑定到目标ARRAY\u buffer
的缓冲区与属性关联,对象的编号(名称)存储在VAO的状态向量中。实际上,您正在寻找教程或规范。看到或看到。请阅读您正在寻找的教程或规范。看到或看到。嗨,谢谢你的帮助!我是这样理解的,是不是现在?glGenBuffers->create ID buffer glBindBuffer->binBuffer on ID glBufferData->put data on buffer glgenvertexarray->create vertex array ID glBindVertexArray->bind vertexarrey id GLVertexAttributePointer->发送顶点数组如何解释缓冲区数据Hi感谢您的帮助!我是这样理解的,是不是现在?glGenBuffers->create ID buffer glBindBuffer->binBuffer on ID glBufferData->put data on buffer glgenvertexarray->create vertex array ID glBindVertexArray->bind vertexarrey id GLVertexAttribute指针->发送顶点数组如何解释缓冲区数据