从事iOS开发也有几年了,一直开发通用应用APP,上周开始了个培训班,内容是OpenGL,由于此前未涉猎过,故在此记录第一节课学习到的内容。
一、 首先是OpenGL的环境搭建
从本人的理解,感觉叫环境的搭建不是特别合理,实际上就是OpenGL相关库的如何引用而已。就像开发应用APP时需要使用到蓝牙相关功能时需要导入CoreBluetooth.framework类似。具体操作如下
1. 打开Xcode,然后选择菜单File->New->Project,也可以直接使用快捷键,新建一个Demo工程
2. 添加引用OpenGL.framework和GLUT.framework两个系统库到工程中
3. 修改main.c文件,添加绘画的代码
至此,已经把第一节课讲的画个简单的圆给捣鼓出来了。看到这里有很多同学可能会有疑问,老师不是说要添加GLTools库吗?不是要将main.c给删除,然后新建个main.cpp吗?
其实老师所给的GLTools只是OpenGL的扩展库,用于帮助C/C++开发者初始化扩展并书写可移植的应用程序,在上面的简单绘圆Demo中还没用到扩展库中的功能,所以不添加也是可以的。另外main.c文件不用删除和添加main.cpp文件也可以通过,本人理解是OS X mac开发是支持C语言开发的,而老师说要删除无关文件并添加main.cpp,我想是C++开发的习惯吧,也是以后学习复杂OpenGL编程采用面向对象开发的一个基础。
-------------------------------------------------------------------------------------------------------
由于开班是在年底,时间比较匆忙,都来不及消化整理,上面部分是在外地时写的,现在回到老家补充下半部分。
上半部分记录了自己对第一节课的部分知识的一个理解,下半部分是根据CC老师讲解的绘制三角形而自己操作了一遍。由于上半部分的操作实际只涉及到OpenGL库的引用并没有用到扩展库,所以下半部分针对扩展库的引用进行实际操作。
同上新建一个工程,然后删除无关文件,以及添加OpenGL.framework和GLUT.framework库。也可以在上面的工程基础上进行接下来的操作。
1.添加OpenGL扩展库,添加相关头文件到工程中,如下图
2.添加.a库文件
注意看上图,我已经把main文件改为.cpp了,上半部分提到点main文件可以不改,但是下半部分由于引用到扩展库,而扩展库中都是C++实现,所以此处将main文件改为main.cpp
3.添加图形绘制方法,如下图
然后运行即可得结果。虽然在听课的时候都是跟着老师的节奏来的,但是流程并不能熟悉的记住,通过动手实现才能更深刻的理解与熟悉流程。