Mac中创建一个OpenGL项目
配置: OS X10.10 + Xcode 6.0
一、基本步骤
- 新建一个命令窗口项目
- 更改目标设备版本号为 OS X 8.0
- 添加库文件
GLUT.framework
和OpenGL.framework
- Hello World 测试
二、详述
1、新建一个命令窗口项目
点击 File - New - Project (或者 Shift + Command + N),进入新建项目面板;
选择 OS X - Application - Command Line Tool,进入项目基本信息配置窗口,逐一填写好信息。
选择项目存储目录,点击 Create 完成项目创建。
2、更改目标设备版本号
点击项目导航区(Command + 1)的项目;
将 Build Settings - OS X Deployment Target 改成 OS X 10.8;(因为在 OS X 10.9 中GLUT 的不少函数都已经标记为过时,如果不改这个选项,那么代码中会出现很多 warning)。
3、添加库文件
刚才在 Build Settings 选项卡,现在切换到 Build Phases;
在 Link Binary With Libraries 中点击加号 '+',加⼊
GLUT.framework
和OpenGL.framework
这两个框架。
4、Hello World 测试
在 main.cpp 文件中添加如下代码,
#include <iostream>
#include <OpenGL/gl.h>
#include <GLUT/glut.h>
using namespace std;
void display(){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f(0.25,0.25,0.0);
glVertex3f(0.75,0.25,0.0);
glVertex3f(0.75,0.75,0.0);
glVertex3f(0.25,0.75,0.0);
glEnd();
glFlush();
}
void init(){
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, const char * argv[]) {
// insert code here...
cout << "Hello World";
glutInit(&argc,(char **)argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 250);
glutInitWindowPosition(100, 100);
glutCreateWindow("hello");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
运行项目(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项目的更多相关文章
- OpenGl之旅-—如何使用code blocks创建一个opengl项目
开始学习opengl啦,练习用的编辑器是code blocks. 首先当然是要清楚如何使用code blocks创建一个opengl项目了. 首先必须先引用opengl的库glut,网上百度下载一个完 ...
- eclipse中创建一个maven项目
1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...
- JavaWeb学习(三) : 如何在 Eclipse 中创建一个Web 项目并成功运行?
前置条件 : 1.确保已安装 Eclipse.Tomcat 服务器安装包 2.jdk.环境变量都已配置成功. 3.注意在安装 Eclipse 时一定要选择第二个有 Web 项目的进行安装, 不然安装成 ...
- 在eclipse中创建一个Maven项目
1. 首先判断eclipse有没有自带Maven Window –> Perferences 如果有Maven,那就是自带了maven插件,如果没有,需要自行安装. 2.配置maven 2.1. ...
- eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)
在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会 ...
- spting Boot 创建一个springBoot项目
spting Boot 创建一个springBoot项目 1)学习springBoot使用软件:IDEA软件(前面的文章有安装idea的过程). 也可以使用另一种方法在https://start.sp ...
- Eclipse中创建一个新的SpringBoot项目
在Eclipse中创建一个新的spring Boot项目: 1. 首先在Eclipse中安装STS插件:在Eclipse主窗口中点击 Help -> Eclipse Marketplace... ...
- 如何在 GitHub 的项目中创建一个分支呢?
如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...
- 创建一个OpenGL窗口
在上节课Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境 中,我们搭建好了OpenGL开发环境.这节课编写代码去测试开发环境. 还是用上节课创建的OpenGL项目,右击 ...
随机推荐
- CoderForces-913-C
A New Year party is not a New Year party without lemonade! As usual, you are expecting a lot of gues ...
- HDU1429
Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)…… 这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁的门,钥匙藏在地牢另外的某些地方.刚开 ...
- UESTC-1964命运石之门(类似SPFA的BFS)
命运石之门 Time Limit: 1000 MS Memory Limit: 256 MB Submit Status "这一切都是命运石之门的选择!" 凶真博士发明了能 ...
- 决策树(三)决策树与Jupyter小部件的交互式可视化
简介 决策树是广泛用于分类和回归任务的监督模型. 在本文中,我们将讨论决策树分类器以及如何动态可视化它们. 这些分类器在训练数据上构建一系列简单的if / else规则,通过它们预测目标值. 在本演 ...
- 如何正确的探索 Microsoft Ignite The Tour
Microsoft Ignite The Tour 是一年一度微软为全球开发者.IT专家.安全专家以及数据专家提供的为期两天,包含众多核心产品的实践性技术培训.2019.12.10-2019.12.1 ...
- iSensor APP 之 摄像头调试 OV5642
iSensor APP 之 摄像头调试 OV5642 iSensor app 非常适合调试各种摄像头,已测试通过的sensor有: l OV7670.OV7725.OV9650.OV9655.OV ...
- iSensor App Kit 测试之 MT9V111 MT9M111 MT9D111
iSensor App Kit 可以调试测试一切常规的sensor,对于ccusb20底板,可以直接兼容官哥所有的dvp接口的摄像头,分辨率从30w到1400w均没问题. 今天又测试了三款sensor ...
- 关于Manjaro+kde桌面Tim闪退的解决
文章目录 关于Manjaro+kde桌面Tim闪退的解决 参考 Tim 我的问题 QQ 我的问题 WeChat 我的问题 本文结束 关于Manjaro+kde桌面Tim闪退的解决 参考 https:/ ...
- python基础入门 整型 bool 字符串
整型,bool值,字符串 一.整型 整型十进制和二进制 整型:整型在Python中的关键字用int来表示; 整型在计算机中是用于计算和比较的 可进行+ - * / % //(整除) **(幂运算) 十 ...
- 判断浏览器是否启用cookie
<!DOCTYPE html> <html> <body onload="checkCookies()"> <script> fun ...