我从XCode 7中的Swift OpenGL ES“游戏”项目模板开始,并且非常令人沮丧。似乎有很多关于在Objective C中使用OpenGL ES的信息,以及有关在Swift中使用常规OpenGL的一些信息,但在iOS上使用OpenGL ES和Swift的信息很少。
在模板的GameViewController.swift中,在setupGL()函数中,调用glGenVertexArraysOES(1, &vertexArray)
。 documentation完全没有帮助。谷歌搜索很多人使用 glGenVertexArraysOES(),但没有记录它是什么或如何使用它。
这个功能做了什么,它在哪里记录?
答案 0 :(得分:2)
glGenVertexArraysOES
生成顶点数组。顶点数组可用于描述几何数据(顶点,索引)如何存储在顶点缓冲区对象中(哪个属性索引对应于位置,纹理坐标等属性)。有关opengl.org的文档(该函数与* OES版本相同):
glGenVertexArrays - 生成顶点数组对象名称
glGenVertexArrays在数组中返回n个顶点数组对象名。那里 不能保证名称形成一组连续的整数; 但是,保证所有返回的名称都没有被使用 紧接着调用glGenVertexArrays之前。
通过调用glGenVertexArrays返回的顶点数组对象名称是 后续调用不会返回,除非它们首先被删除 glDeleteVertexArrays。
为了达到目的,数组中返回的名称被标记为已使用 仅限glGenVertexArrays,但只有当它们获得状态和类型时它们才会获得 第一次约束