OpenGL学习_01_环境搭建
最近动了心思,想要系统的学习一下有关渲染方面的知识,从openGL入手,参考书籍《OpenGL编程指南》原书第九版。
也是一小白,学习过程中记下笔记。
环境:macOS 10.14.4
一、安装xcode IDE
可以直接中App Store中搜索xcode,点击安装
1. 使用XCode创建项目:
OS X -> Command Line Tool -> Next
2. 输入项目名称,语言选择C++,Next
3. 选择项目保存路径
二、导入OpenGL需要的库
选中项目,选择Target -> Build Phases -> Link Binary With Libraries
在Link Binary With Libraries栏中点击下面的加号,搜索OpenGL.framework和GLUT.freamwork这两个库,导入
三、编写第一个HelloWorld
// // main.cpp // opengl_01_test // // Created by blingbling on 2019/4/27. // Copyright © 2019 blingbling. All rights reserved. // #include <iostream> #include <GLUT/GLUT.h> void draw() { //设置清屏色 glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); //设置颜色,红色 glColor3f(1.0f, 0.0f, 0.0f); //设置绘图时的坐标系统 glOrtho(0.0f, 1.0f, 0.0f, 1.0f, -1.0f, 1.0f); //开始渲染 glBegin(GL_POLYGON); //设置多边形的4个顶点 glVertex3f(0.25f, 0.25f, 0.0f); glVertex3f(0.75f, 0.25f, 0.0f); glVertex3f(0.75f, 0.75f, 0.0f); glVertex3f(0.25f, 0.75f, 0.0f); //结束渲染 glEnd(); //强制刷新缓冲区,保证绘制命令被执行 glFlush(); } int main(int argc, const char * argv[]) { // insert code here... std::cout << "Hello, World! "; //初始化GLUT库 glutInit(&argc, (char**)argv); //创建一个窗口并制定窗口名 glutCreateWindow("HelloWorld"); //注册一个绘图函数,操作系统在必要时刻就会对窗体进行重新绘制操作 glutDisplayFunc(draw); //进入GLUT事件处理循环,让所有的与“事件”有关的函数调用无限循环(永生循环) glutMainLoop(); return 0; }
四、运行HelloWorld
1. command B编译工程
2. command R运行工程
3. 成功运行后,会看到一个红色窗口弹出,第一个opengl helloworld程序运行成功~~~~
五、后记
1. “is deprecated”的警告由于本人使用的是macOS 10.14.4操作系统,openGL的好多API在XCode中都报了“is deprecated”的警告,虽不影响程序运行,但强迫症患者实难忍受。正规做法肯定是查看报警告的api文档,更新的新的接口,但本人系小白一枚,就索性直接降低项目运行的Deployment Target版本了。
2. 修改项目运行依赖版本
选中项目->TARGETS->General->Deployment Info中,将Deployment Target修改为10.8就OK了~~~。
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
自定义异常(java作业)