当前位置:   article > 正文

Mac OS X下如何使用OpenGL

#include mac
作为3D的工业标准,OpenGL在苹果上可以说无处不在,用起来也是分外的舒服。
一般OpenGL需要搭配一些窗口库来做,比如Qt、MFC等,或者用跨平台的GLUT。
好在GLUT是Mac OS X自带的,所以直接用就可以了,很方便。

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

Windows提供了OpenGL和GLU,如果用GLUT,得自己去装一个。Windows下的头文
件使用方式一般是
#include <Windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
//#include "GLUT/glut.h"
//depends on where you put GLUT

而在Mac OS X下,一般是
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <GLUT/glut.h>

在编译的时候,需要用到Mac OS X里gcc的-framework参数,例如
g++ -framework OpenGL -framework GLUT -framework Foundation -o test my.cpp

附件里是以前的实验作业(一个消隐算法,一个是Phong光照模型),在Mac OS X
和Windows下的效果都还可以。哪位大虾有空写两个游戏给大家玩玩吧(声音视频

等可以考虑用SDL来做),呵呵。

Xcode是Mac OS X中自带的开发环境。GLUT提供了跨越平台的OpenGL实用工具。本文讲述如何在Xcode 3.2中使用GLUT来开发OpenGL应用程序。

  1. 在Xcode的启动面板中,选Create a new Xcode project.
  2. 在弹出的New Project窗口中,在左边选择Application,在右边选择Command Line Tool. 单击Choose...按钮。
  3. 在弹出的窗口中,选好保存项目的位置,并在Save As中输入XcodeGlutDemo作为项目名称。
  4. 在 Xcode的Groups & Files列表框中,选中XcodeGlutDemo项目的图标,按右键,选Add -> Existing Frameworks..., 选中GLUT.framework及OpenGL.framework,单击Add.
  5. 将main.c的内容改为如下内容:
    1. #include <GLUT/GLUT.h>  
    2. void display()  
    3.  {  
    4.     glClear(GL_COLOR_BUFFER_BIT);  
    5.     glBegin(GL_POLYGON);  
    6.         glVertex2f(-0.5, -0.5);  
    7.         glVertex2f(-0.5, 0.5);  
    8.         glVertex2f(0.5, 0.5);  
    9.         glVertex2f(0.5, -0.5);  
    10.     glEnd();  
    11.     glFlush();  
    12. }  
    13. int main(int argc, char ** argv)  
    14. {  
    15.     glutInit(&argc, argv);  
    16.     glutCreateWindow("Xcode Glut Demo");  
    17.     glutDisplayFunc(display);  
    18.     glutMainLoop();  
    19. }  
  6. 按command + R键,运行应用程序。

  7. 按command + Q键,退出应用程序。

OpenGL应用程序就是如此简单。呵呵。


 附:Xcode 4.0 添加OpenGL及GLUT框架的方法:

在左栏选择XcodeGlutDemo项目图标,中间一栏选择TARGETS XcodeGlutDemo,右栏选择Build Phases标签页,点击Link Binary With Libraries窗格下面的+号,可添加OpenGL.framework及GLUT.framework。


转载于:https://my.oschina.net/rockbaby/blog/102732

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号