计算机图形学-mac系统下Xcode中OpenGL开发环境配置。

mac系统下Xcode中OpenGL开发环境配置。

这学期有计算机图形学的课程,需要用到OpenGL,最近着手开始配置开发环境了,老师上课给的安装包都是基于windows系统的。网上也是windows上配置的教程比较多,Mac版的比较少。我综合了几个教程并自己总结,实践成功。特来分享配置过程。希望能帮到大家!

介绍

OpenGL(Open Graphics Library)是定义了一个跨编程语言,跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维亦可),是一个功能强大,与硬件无关,调用方便的底层图形库。


在编程的时候,一般会采用基于OpenGL封装个的几个库,它们提供了OpenGL本身没有的功能。很多教程都是基于GLUT的,初学者在配置结束后在网上找到的程序大多数都是基于windows下的c++文件进行测试~但是Xcode上会显示deprecate和warning,主要是GLUT从1998年不再更新了,但是并不是不能使用~需要注意的是Mac和windows系统里面对应的头文件不同。


OpenGL和GLUT作为Framework,都在/System/Library/Frameworks下。在程序里 唯一需要注意的是include的头文件。


Windows提供了OpenGL和GLU,如果用GLUT,得自己去装一个。
Windows下的头文 件使用方式一般是

  •       #include<GL/gl.h>
          #include<GL/glu.h>

Mac OS X下,一般是

  •   #include <OpenGL/gl.h> 
      #include <OpenGL/glu.h> 
      #include <GLUT/glut.h> 

综上,我们把找到的源程序的头文件修改之后,虽然会有警告但是可以正常运行!

配置步骤
  1. 在Finder中找到Xcode打开,选择Create a new Xcode project
    Alt text

2.OS X的Application目录下选择创建Command Line Tool
Alt text

3.给自己的文件起一个名字~
Alt text

在编辑页面中找到Build Phases 下的Link Binary With Libraries(0 items)点击打开下拉菜单,看到下面的+号没?点击它!


在里面寻找GLUT.framework及OpenGL.framework这两个framework,点击Add添加完成后的效果如下图:


现在就可以开心的写我们的计算机图形学的作业啦!我们进入main.cpp写一个小Demo。

代码如下:

//仅用于测试,代码直接往上拷贝,只修改了个头文件
#include <GLUT/GLUT.h>
void myDisplay(void) {
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}
int main(int argc, char *argv[]) {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一个 OpenGL 程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

代码运行效果图

转载于:https://www.cnblogs.com/liushurui/p/8877301.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值