• mac下使用glew库,方法


     

    mac下使用glew库,方法

    分类: OpenGL
     

    目录(?)[+]

     

    主要参考http://www.cnblogs.com/openxxs/p/4055916.html

    整理自之前使用的163博客原创文章。

    GLSL项目中需要使用GLEW库,因此先要安装GLEW库和在Xcode中配置GLEW。要使GLEW在Xcode中被正确链接,又需要通过MacPorts来安装GLEW。下文以MacPorts-->GLEW-->GLSL的顺序来阐述。
    环境:系统 OS X 10.9.2 (13C64),工具 Xcode 5.1,图形卡 Intel Iris 1024 MB

    1 MacPorts安装

    MacPorts是与apt-get和yum类似的软件管理包,下载与系统对应的安装包后进行安装(安装过程中会联网进行更新,导致安装过程很久,建议断网安装)。安装之后打开终端运行
    $ sudo port -v selfupdate
    进行更新。如果更新时在如下状态下卡的时间很久,
    --->  Updating the ports tree
    Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar
    receiving file list ... done
    ports.tar

    使用control+z终止更新,终端输入

    $ sudo vim /opt/local/etc/macports/sources.conf

    打开配置文件,更改最后一行的默认下载地址(参考“解决安装macports,不能更新的问题”,参考下载网址列表),如可修改为韩国镜像:

    #rsync://rsync.macports.org/release/tarballs/ports.tar [default]
    #http://www.macports.org/files/ports.tar.gz [default]
    rsync://cjj.kr.rsync.macports.org/macports/release/tarballs/ports.tar

    改好后wq保存退出,再次运行

    $ sudo port -v selfupdate

    进行更新,更新成功后会显示如下信息:

    --->  MacPorts base is already the latest version
    The ports tree has been updated. To upgrade your installed ports, you should run  port upgrade outdated

    安装过程中遇到其它问题请戳:

    Mac OS X Lion安装MacPorts(让你在Mac的Shell下更加游刃有余)

    Mac中MacPorts安装和使用

    Mac OS X中MacPorts安装和使用

    2 GLEW库安装

    glew库主要有如下三种安装方式:1)在Xcode中直接导入framework(下载地址);2)编译glew源代码进行安装(参考“Installing GLEW in Mac OS X (Leopard)”);3)通过MacPorts进行安装。

    实测了三种方式,均可成功安装glew库,但前两种方式在Xcode中链接不成功,本文通过MacPorts进行安装(参考“GLEW: Apple Mach-O Linker (Id) Error”)。

    终端输入

    $ sudo port install glew

    进行安装,安装成功后显示:

    复制代码
    --->  Installing glew @1.10.0_0
    --->  Activating glew @1.10.0_0
    --->  Cleaning glew
    --->  Updating database of binaries: 100.0%
    --->  Scanning binaries for linking errors: 100.0%
    --->  No broken files found.
    复制代码

    安装过程中遇到其它问题请戳

    cannot link glew under xcode4, macosx lion

    3 Xcode中GLSL的配置

    Mac系统中已内置openGL、GLUT和GLSL,无需安装。

    启动Xcode,新建Cocoa Application工程,删除“TriangleAppDelegate.*”文件、“*main.m”文件和“MainMenu.xib”文件。右键单击"Supporting Files"添加新文件,选择"C++ File"。添加后,删除对应的头文件。右键单击"Frameworks",添加"OpenGL.framework"和"GLUT.framework"(参考“MAC OS X And Win7 vs2010 搭建OpenGL”,参考“在Xcode中使用GLUT开发OpenGL应用程序”)。

    下面是添加对GLEW库的链接,在build setting中添加如下参数即可:

    other linker flags: -lGLEW
    header search paths: /opt/local/include/
    library search paths: /opt/local/lib/

    4 Hello World

    在supporting files下添加basic.vert:

    1 void main(){
    2     gl_Position = ftransform();
    3 }

    在supporting files下添加basic.frag:

    1 void main() {
    2     gl_FragColor = vec4(0.4,0.4,0.8,1.0);
    3 }

    在supporting files下添加textfile.h:

    复制代码
     1 #ifndef macGL_textfile_h
     2 #define macGL_textfile_h
     3 
     4 #include <stdio.h>
     5 #include <stdlib.h>
     6 #include <string.h>
     7 
     8 char *textFileRead(const char *fn);
     9 int textFileWrite(char *fn, char *s);
    10 unsigned char *readDataFromFile(char *fn);
    11 #endif
    复制代码

     在supporting files下添加textfile.cpp:

     View Code

    在supporting files下添加GLSLTest.cpp。其中display函数中的glutWireTeapot()是glut内置的画茶壶的函数。注意MAC下特有的glBindVertexArrayAPPLE,glBindVertexArrayAPPLE,glGenVertexArraysAPPLE:

     View Code

    运行成功后的效果图:

    说明:

    1、在安装mac ports的时候,会很慢,感觉像卡死了,网上有人说断网会加速,但根据我的实际跟是否断网没关系,耐心等待,大概15分钟。

    2、终端下:

    sudo port -v selfupdate
    
    
    
    
    
    3、
    $ sudo port install glew
    
    
    最后显示:

    .packages.macports.org/sites/packages.macports.org/glew

    --->  Attempting to fetch glew-1.11.0_0.darwin_14.x86_64.tbz2.rmd160 from http://mse.uk.packages.macports.org/sites/packages.macports.org/glew

    --->  Installing glew @1.11.0_0

    --->  Activating glew @1.11.0_0

    --->  Cleaning glew

    --->  Updating database of binaries

    --->  Scanning binaries for linking errors

    --->  No broken files found.

    按照参考文章可行,谢谢!

    http://www.glfw.org/faq.html

    http://stackoverflow.com/questions/19865463/opengl-4-1-under-mavericks

  • 相关阅读:
    UITableViewCell 获取当前位置
    iOS图片拉伸
    TCP/IP基础
    AFNetworking报错"_UTTypeCopyPreferredTagWithClass", referenced from: _AFContentTypeForPathExtens
    iOS 后台处理
    统计iOS项目的总代码行数的方法
    iOS自定义model排序
    iOS开发 适配iOS10
    中文 iOS/Mac 开发博客列表
    C#--静态构造函数
  • 原文地址:https://www.cnblogs.com/cci8go/p/4328509.html
Copyright © 2020-2023  润新知