gpt4 book ai didi

qt - openGL glBufferData 的使用

转载 作者:行者123 更新时间:2023-12-02 04:16:47 33 4
gpt4 key购买 nike

我正在使用 glBufferData 来保存一些渲染信息。

glBufferData(GL_ARRAY_BUFFER, vertex_size * sizeof(VertexData), vertices, GL_DYNAMIC_DRAW);

其中顶点保存每个顶点的数据。我稍后更改了顶点数据以渲染不同的图像。然而,它仍然显示原始的。我相信将 GL_STATIC_DRAW 更改为 GL_DYNAMIC_DRAW 应该可以解决问题,但失败了。我应该为此做什么?

最佳答案

要更新整个缓冲区,您应该再次调用 glBufferData():

glBufferData(GL_ARRAY_BUFFER, vertex_size * sizeof(VertexData), vertices, GL_DYNAMIC_DRAW);

此外,可以使用 glBufferSubData() 调用仅更新部分数据:

glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);

glBufferSubData() 速度更快,因为它不会重新分配底层缓冲区。

关于qt - openGL glBufferData 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22514741/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com