gpt4 book ai didi

opengl - 获取缓冲区的大小

转载 作者:行者123 更新时间:2023-12-02 17:39:53 24 4
gpt4 key购买 nike

我想使用 glCopyBufferSubData 将数据从一个缓冲区复制到另一个缓冲区.但是我不知道我正在复制的缓冲区的大小。如何获取尺寸?

最佳答案

为此,您只需调用 glGetBufferParameteriv (...)使用适当的枚举。

在这种情况下,您需要缓冲区对象的大小,因此使用 GL_BUFFER_SIZE 作为 value

您没有提到缓冲区对象的作用是什么(例如,它当前绑定(bind)到什么),但为了简单起见,我假设它是一个顶点缓冲区对象(所以 targetGL_ARRAY_BUFFER)。

因此我们有:

GLint size = 0;

glBindBuffer (GL_ARRAY_BUFFER, buffer_obj);
glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &size);

在 GL 3.2 之前,您的大小限制为 4 GiB,但我怀疑这是否真的很重要,因为您肯定会首先遇到其他限制。尽管如此,glGetBufferParameteri64v (...) 存在于大于 4 GiB 的缓冲区。

关于opengl - 获取缓冲区的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22077137/

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