在 Xcode 中使用 GLEW/GLFW

来源:互联网 发布:异星工厂 mac 0.14 编辑:程序博客网 时间:2024/05/05 21:15

在 Xcode 中使用 GLEW/GLFW

http://blog.msrlab.org/chinese/using-glewglfw-with-xcode/
11/25/2013

(如果你不想听我废话的话,你可以直接跳到粗体字行。)

我很喜欢音乐游戏,但是现在 PC 上没什么能让我满意的音乐游戏。

  • VOS 是经典中的经典,但是显然,它太过时了。
  • O2Jam 的官方服务器已关闭了很多年。
  • O2Mania 是离线版本的 O2Jam,它支持 vos, bms, ojm/ojn 等等文件类型。但它已经很多年没人维护,也许是因为不开源。
  • KrazyRain 在内测的时候就流产了…… (魂淡我的世界一位记录就这么没了!

PC 上还有很多同种类型的音乐游戏,比如 Ruvit 和 Beatmania,但这些也无法让我满意。

最近,开发了 Cytus 的公司 Rayark 在 iOS 上发布了 Deemo。我在第一时间购买了 app,那时我被这款游戏所深深震慑:凄美的故事,优美的音乐,还有那完美的特效。

所以我准备在 PC 上开始动手设计实现一款新的音乐游戏。

事实上,我已经考虑这件事情快一年了,我买了计算机图形学的书,在网上找了很多教程,比如 NeHe (不过不得不承认,NeHe 早已过时……

但是对于我来说,独立学习 OpenGL 还是显得有些困难,所以我想找些框架来帮助我。

GLFW 是一个开源多平台,能够使用 OpenGL 创建窗口并管理输入和事件的的库。

  • 在官方网站, 或者使用 Git 克隆它在 GitHub 上托管的源。
  • 打开命令行,转到 GLFW 所在目录。
    • vim src/config.h.in  // 配置文件的名字更换得很频繁,如果你没有这个文件,你应该去自己找找,在我写这篇文章时,GLFW 的版本为 3.0.3
      • 设置旗帜 _GLFW_COCOA, _GLFW_NSGL, _GLFW_BUILD_DLL, _GLFW_USE_OPENGL 为 1
    • mkdir build  // 为了保持根目录的清洁
    • cd build
    • cmake -D BUILD_SHARED_LIBS=ON ..  // 为了得到动态链接库,这样比较方便……
    • make  // 因为 Apple 在 OS X 10.9(Xcode 5)上新的 OpenGL 封装,会出现一些弃用警告,别去管了
    • sudo make install  // 头文件和链接库会被拷贝到 /usr/local/…  你还需要 Doxygen 来生成 HTML 文档, 使用 Homebrew/MacPorts/… 来安装 Doxygen,或者访问它的主页获得源代码,然后自己编译安装
  • 现在 GLFW 已经配置完成了。

 

OpenGL 扩展封装库是一个基于 C/C++ 的跨平台扩展加载库。

  • 再写这篇博客时,我没办法编译它在 GitHub 上的源代码 (可能我比较笨吧),所以我在它的官方网站上直接下载了 glew-1.10.0 的源代码。
  • 转到 GLEW 源码所在目录。
    • sudo make GLEW_DEST=/usr/local  // 耐心等着,也会有很多警告
    • sudo make GLEW_DEST=/usr/local install  // 头文件和链接库同样会被拷贝到 /usr/local/…
  • 现在 GLEW 也已经配置完成了。

然后建立一个 Xcode 命令行工程来做个测试。

  • 转到 Build Settings,搜索 Other Linker Flags, 添加 -lglfw 和 -lglew 来链接链接库。
  • 查找 User Header Search Paths,然后添加 /usr/local/include 来引用头文件。
  • 在 Library Search Paths 中添加 /usr/local/lib。
  • 把 Always Search User Paths 调整为 Yes。
  • 然后用这个测试 GLFW。
  • 再用这个测试 GLEW。
  • 如果编译成功,那么你已经得到了这个更加方便的 OpenGL 开发环境。

就说这么多吧。

希望我以后能够写出一个很好的音乐游戏……

0 0