Opengl es 如何在OpenGL ES中获得VBO的大小?

Opengl es 如何在OpenGL ES中获得VBO的大小?,opengl-es,Opengl Es,每次我想绘制顶点数组时,我都会将它们(32位浮点)发送到GPU,但这并不高效,所以我切换到顶点缓冲区对象,以便在GPU中缓存顶点数组 它正在工作,但我想知道是否有一种方法可以在不返回原始顶点数组的情况下确定给定VBO的大小?以下是我正在努力解决的问题: 我有一个顶点数组,例如,六个32位浮点。 我通过OpenGL ES将顶点数组发送到GPU,它存储在VBO中,我保留了一个句柄。 我的顶点数组在这一点上是多余的,所以我删除了它。 稍后,我使用句柄让OpenGL ES绘制一些东西,但在这一点上,我还

每次我想绘制顶点数组时,我都会将它们(32位浮点)发送到GPU,但这并不高效,所以我切换到顶点缓冲区对象,以便在GPU中缓存顶点数组

它正在工作,但我想知道是否有一种方法可以在不返回原始顶点数组的情况下确定给定VBO的大小?以下是我正在努力解决的问题:

  • 我有一个顶点数组,例如,六个32位浮点。
  • 我通过OpenGL ES将顶点数组发送到GPU,它存储在VBO中,我保留了一个句柄。
  • 我的顶点数组在这一点上是多余的,所以我删除了它。
  • 稍后,我使用句柄让OpenGL ES绘制一些东西,但在这一点上,我还想知道如何确定最初用于创建VBO的顶点数组的大小。我现在只有VBO句柄-我可以重新确定我在这个VBO中存储了六个32位浮点吗? 我可能错过了一些非常明显的东西。 谢谢你的建议

    Doh!刚找到它:

    int nBufferSize=0

    glGetBufferParameteriv(GL_数组缓冲区、GL_缓冲区大小和nBufferSize)

    int originalvertexarysize=(nBufferSize/sizeof(float))