Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 现代openglid';什么有用?_C++_Opengl_Buffer - Fatal编程技术网

C++ 现代openglid';什么有用?

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_

我不明白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_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指针->发送顶点数组如何解释缓冲区数据