glGenVertexArraysOES()做什么以及文档在哪里?

时间:2016-08-21 06:47:57

标签: ios swift opengl-es opengl-es-2.0

我从XCode 7中的Swift OpenGL ES“游戏”项目模板开始,并且非常令人沮丧。似乎有很多关于在Objective C中使用OpenGL ES的信息,以及有关在Swift中使用常规OpenGL的一些信息,但在iOS上使用OpenGL ES和Swift的信息很少。

在模板的GameViewController.swift中,在setupGL()函数中,调用glGenVertexArraysOES(1, &vertexArray)documentation完全没有帮助。谷歌搜索很多人使用 glGenVertexArraysOES(),但没有记录它是什么或如何使用它。

这个功能做了什么,它在哪里记录?

1 个答案:

答案 0 :(得分:2)

glGenVertexArraysOES生成顶点数组。顶点数组可用于描述几何数据(顶点,索引)如何存储在顶点缓冲区对象中(哪个属性索引对应于位置,纹理坐标等属性)。有关opengl.org的文档(该函数与* OES版本相同):

  

glGenVertexArrays - 生成顶点数组对象名称

     

glGenVertexArrays在数组中返回n个顶点数组对象名。那里   不能保证名称形成一组连续的整数;   但是,保证所有返回的名称都没有被使用   紧接着调用glGenVertexArrays之前。

     

通过调用glGenVertexArrays返回的顶点数组对象名称是   后续调用不会返回,除非它们首先被删除   glDeleteVertexArrays。

     

为了达到目的,数组中返回的名称被标记为已使用   仅限glGenVertexArrays,但只有当它们获得状态和类型时它们才会获得   第一次约束