配置: OS X10.10 + Xcode 6.0

一、基本步骤

  • 新建一个命令窗口项目
  • 更改目标设备版本号为 OS X 8.0
  • 添加库文件 GLUT.frameworkOpenGL.framework
  • Hello World 测试

二、详述

1、新建一个命令窗口项目

  1. 点击 File - New - Project (或者 Shift + Command + N),进入新建项目面板;

  2. 选择 OS X - Application - Command Line Tool,进入项目基本信息配置窗口,逐一填写好信息。

  3. 选择项目存储目录,点击 Create 完成项目创建。

2、更改目标设备版本号

  1. 点击项目导航区(Command + 1)的项目;

  2. 将 Build Settings - OS X Deployment Target 改成 OS X 10.8;(因为在 OS X 10.9 中GLUT 的不少函数都已经标记为过时,如果不改这个选项,那么代码中会出现很多 warning)。

3、添加库文件

  1. 刚才在 Build Settings 选项卡,现在切换到 Build Phases;

  2. 在 Link Binary With Libraries 中点击加号 '+',加⼊ GLUT.frameworkOpenGL.framework 这两个框架。



4、Hello World 测试

在 main.cpp 文件中添加如下代码,


  1. #include <iostream>
  2. #include <OpenGL/gl.h>
  3. #include <GLUT/glut.h>
  4. using namespace std;
  5. void display(){
  6. glClear(GL_COLOR_BUFFER_BIT);
  7. glColor3f(1.0, 1.0, 1.0);
  8. glBegin(GL_POLYGON);
  9. glVertex3f(0.25,0.25,0.0);
  10. glVertex3f(0.75,0.25,0.0);
  11. glVertex3f(0.75,0.75,0.0);
  12. glVertex3f(0.25,0.75,0.0);
  13. glEnd();
  14. glFlush();
  15. }
  16. void init(){
  17. glClearColor(0.0,0.0,0.0,0.0);
  18. glMatrixMode(GL_PROJECTION);
  19. glLoadIdentity();
  20. glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
  21. }
  22. int main(int argc, const char * argv[]) {
  23. // insert code here...
  24. cout << "Hello World";
  25. glutInit(&argc,(char **)argv);
  26. glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  27. glutInitWindowSize(250, 250);
  28. glutInitWindowPosition(100, 100);
  29. glutCreateWindow("hello");
  30. init();
  31. glutDisplayFunc(display);
  32. glutMainLoop();
  33. return 0;
  34. }

运行项目(Command + R),如果能够出现如下窗口,说明 OpenGL 项目创建成功。


参考链接

OpenGL开发环境配置-Mac OS X( OS X 中创建 OpenGL 的方法源于此处,感谢 ⺩达 同学!!)

Xcode环境下OpenGL C++ GLFW开发环境搭建[via be2n2me] (本文创建的项目默认是 OpenGL 2.1 版本,如果要使用 Mac 所支持的版本,需要安装 GLFW,可参考此文)

使用 OpenCL 和 OpenGL 图形处理器的 Mac 电脑[via Apple 官网] (各个版本的 Mac 所支持的 OpenGL 版本)

Mac中创建一个OpenGL项目的更多相关文章

  1. OpenGl之旅-—如何使用code blocks创建一个opengl项目

    开始学习opengl啦,练习用的编辑器是code blocks. 首先当然是要清楚如何使用code blocks创建一个opengl项目了. 首先必须先引用opengl的库glut,网上百度下载一个完 ...

  2. eclipse中创建一个maven项目

    1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...

  3. JavaWeb学习(三) : 如何在 Eclipse 中创建一个Web 项目并成功运行?

    前置条件 : 1.确保已安装 Eclipse.Tomcat 服务器安装包 2.jdk.环境变量都已配置成功. 3.注意在安装 Eclipse 时一定要选择第二个有 Web 项目的进行安装, 不然安装成 ...

  4. 在eclipse中创建一个Maven项目

    1. 首先判断eclipse有没有自带Maven Window –> Perferences 如果有Maven,那就是自带了maven插件,如果没有,需要自行安装. 2.配置maven 2.1. ...

  5. eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)

    在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会 ...

  6. spting Boot 创建一个springBoot项目

    spting Boot 创建一个springBoot项目 1)学习springBoot使用软件:IDEA软件(前面的文章有安装idea的过程). 也可以使用另一种方法在https://start.sp ...

  7. Eclipse中创建一个新的SpringBoot项目

    在Eclipse中创建一个新的spring Boot项目: 1. 首先在Eclipse中安装STS插件:在Eclipse主窗口中点击 Help -> Eclipse Marketplace... ...

  8. 如何在 GitHub 的项目中创建一个分支呢?

    如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...

  9. 创建一个OpenGL窗口

    在上节课Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境 中,我们搭建好了OpenGL开发环境.这节课编写代码去测试开发环境. 还是用上节课创建的OpenGL项目,右击 ...

随机推荐

  1. 2018 牛客国庆集训派对Day4 - H 树链博弈

    链接:https://ac.nowcoder.com/acm/contest/204/H来源:牛客网 题目描述 给定一棵 n 个点的树,其中 1 号结点是根,每个结点要么是黑色要么是白色 现在小 Bo ...

  2. 模电&数电知识整理(不定期更新)

    模电总复习之爱课堂题目概念整理 Chapter 1 1) 设室温情况下某二极管的反偏电压绝对值为1V,则当其反偏电压值减少100mV时,反向电流的变化是基本不发生变化. 2) 二极管发生击穿后,在击穿 ...

  3. CyAPI环境搭建

    http://jingyan.baidu.com/article/e6c8503c0690cee54f1a1893.html

  4. Redis的优缺点小结

    Redis(Remote Dictionary Server 远程数据服务),一个 Key-value(键值对)存储系统,典型的 NoSQL 数据库服务器. 优点: 1.支持丰富的数据类型,如:Str ...

  5. [从今天开始修炼数据结构]图的最小生成树 —— 最清楚易懂的Prim算法和kruskal算法讲解和实现

    接上文,研究了一下算法之后,发现大话数据结构的代码风格更适合与前文中邻接矩阵的定义相关联,所以硬着头皮把大话中的最小生成树用自己的话整理了一下,希望大家能够看懂. 一.最小生成树 1,问题 最小生成树 ...

  6. poj 2398 Toy Storage(计算几何)

    题目传送门:poj 2398 Toy Storage 题目大意:一个长方形的箱子,里面有一些隔板,每一个隔板都可以纵切这个箱子.隔板将这个箱子分成了一些隔间.向其中扔一些玩具,每个玩具有一个坐标,求有 ...

  7. ssh服务介绍及配置

    一.ssh介绍 1.什么是 ssh ssh 是 Secure Shell 的缩写,是一个建立在应用层上的安全远程管理协议.ssh 是目前较为可靠的传输协议,专为远程登录会话和其他网络服务提供安全性.利 ...

  8. C#8.0中新特性之一:结构readonly成员

    结构struct成员支持readonly,用来限制被其修饰的成员不会改变结构的内部状态.加上7.2版本添加的readonly struct和ref readonly方法返回以及之前的字段声明修饰作用, ...

  9. Python:数字类型和字符串类型的内置方法

    一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内 ...

  10. iOS WKWebView与JS的交互

    参考链接:https://www.jianshu.com/p/524bc8699ac2