为此,您只需要glGetBufferParameteriv (...)使用适当的枚举进行调用.
在这种情况下,你希望缓存对象的大小,所以用GL_BUFFER_SIZE了value.
您还没有提到什么样的作用缓冲对象服务(如什么是当前绑定到),但我会认为它是一个顶点缓冲区对象为简单起见,(所以targetIS GL_ARRAY_BUFFER).
因此我们有:
GLint size = 0;
glBindBuffer (GL_ARRAY_BUFFER, buffer_obj);
glGetBufferParameteriv(GL_ARRAY_BUFFER, GL_BUFFER_SIZE, &size);
Run Code Online (Sandbox Code Playgroud)
在GL 3.2之前,你被限制在4 GiB的大小,但我怀疑这真的很重要,因为你肯定会首先达到其他限制.Neverthless,glGetBufferParameteri64v (...)存在大于4 GiB的缓冲区.
| 归档时间: |
|
| 查看次数: |
2662 次 |
| 最近记录: |