在我的应用程序中,我想获得最大的常量缓冲区大小。对于DX,有一个宏D3D10_REQ_CONSTANT_BUFFER_ELEMENT_COUNT
表示此值。
如何使用OpenGL
获取此值?
答案 0 :(得分:4)
OpenGL没有这样的限制。
Buffer Objects可以是任意大小的。但是,不同的使用缓冲区对象具有不同的大小限制。 source for vertex array data基本上是无限的。但buffer textures有大小限制。 bound range of uniform buffer data的大小有限制。 various other uses根据需要有限制。但是内存缓冲区本身的大小没有限制。
基本上,将缓冲区对象视为GPU内存的指针,glBufferData
为malloc
。使用指针的不同API可以限制他们可以访问的内存量。但是malloc
本身没有任何特定的限制(当然,除了内存耗尽)。