Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.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++ glGetBufferSubData()是否不返回任何数据?_C++_Opengl - Fatal编程技术网

C++ glGetBufferSubData()是否不返回任何数据?

C++ glGetBufferSubData()是否不返回任何数据?,c++,opengl,C++,Opengl,我已尝试运行下面示例中的代码。但是,在调用glGetBufferSubData后,data保留其默认值,并且不会获取存储在bufferObject[0]中的值,这些值等于顶点中的值。我是否错误地使用了glGetBufferSubData glBindVertexArray(arrayObject); glGenBuffers(1, &bufferObject[0]); glBindBuffer(GL_ARRAY_BUFFER, bufferObject[0]);

我已尝试运行下面示例中的代码。但是,在调用glGetBufferSubData后,data保留其默认值,并且不会获取存储在bufferObject[0]中的值,这些值等于顶点中的值。我是否错误地使用了glGetBufferSubData

    glBindVertexArray(arrayObject);
    glGenBuffers(1, &bufferObject[0]);
    glBindBuffer(GL_ARRAY_BUFFER, bufferObject[0]);
    glBufferData(GL_ARRAY_BUFFER, numVertices * sizeof(Vector3), vertices, GL_STATIC_DRAW);
    glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0);
    glEnableVertexAttribArray(0);

    Vector3 *data = new Vector3();

    glGetBufferSubData(bufferObject[0], 0, numVertices * sizeof(Vector3), data);
target
参数应指定绑定点,而不是缓冲区对象。请尝试
GL\u数组\u缓冲区

glGetBufferSubData(GL_ARRAY_BUFFER, 0, numVertices * sizeof(Vector3), data);

或者
glGetNamedBufferSubData
如果DSA是你的东西。
glGetBufferSubData(GL_ARRAY_BUFFER, 0, numVertices * sizeof(Vector3), data);