OpenGL - VBO中的顶点数组和索引&外面的纹理阵列?

时间:2011-10-16 19:36:44

标签: opengl vbo

是否可以将一组顶点放入VBO中,但可以使用索引和纹理坐标。常规记忆中的数组?如果是,使用哪种语法?

1 个答案:

答案 0 :(得分:4)

是的,可以这样做。但你不应该。

使用缓冲区对象的原因是为了提高性能。做你的建议只会降低你通过正确使用缓冲对象所获得的性能。

此外,它是大多数司机经常看不到的司机路径。人们使用缓冲区对象来表示顶点数据,或者使用客户端内存数组。由于这是一条较少旅行的道路,因此您更有可能遇到驾驶员错误。

语法只是常规语法。 gl*Pointer调用是否使用缓冲区对象,具体取决于在GL_ARRAY_BUFFER调用gl*Pointer 。因此,您可以将缓冲区绑定到GL_ARRAY_BUFFER,使用偏移量进行gl*Pointer调用,然后将0绑定到GL_ARRAY_BUFFER并使用实际指针进行gl*Pointer调用。

同样,如果缓冲区绑定到glDraw*Elements*GL_ELEMENT_ARRAY_BUFFER调用将使用缓冲区对象。因此,如果要将客户端内存用于这些函数,请将0绑定到该函数。