用数据喂VBO

时间:2011-07-12 08:41:18

标签: ios opengl-es

如果我通过

指定顶点/颜色数据有什么不同吗?
  • glVertexPointer/glColorPointer
  • 使用glMapBufferOES(扩展名)
  • glBufferData/glBufferSubData

我可以假设所有方法都可以将数据同等地传输到同一个地方然后我可以使用glEnableClientState安全地启用顶点/颜色数组状态吗?

1 个答案:

答案 0 :(得分:2)

gl{Vertex,Color,Normal,TexCoord}Pointer根本不传输数据。它们将数据库指针设置在客户端(进程地址空间中的绝对指针)或服务器(缓冲区到缓冲区对象中)空间中,这是所有对顶点属性数组的绘图访问的基址。

那些是梨。没有来樱桃:

glMapBuffer创建缓冲区对象到客户端地址空间的内存映射,其中可以从/向其写入/读取数据。 glBuffer[Sub]Data将数据从客户端复制到服务器;在净效果中,可以通过与glMapBuffer进行映射,在那里写作并使用glUnmapBuffer取消映射来完成相同的操作

你无法将梨与樱桃比较。 (樱桃,因为苹果与梨的关系太密切了,但是*指针在功能上与glMapBuffer和glBufferData有很大不同,我不得不强调这一点。)