是否可以将一组顶点放入VBO中,但可以使用索引和纹理坐标。常规记忆中的数组?如果是,使用哪种语法?
答案 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绑定到该函数。