移植www.opengl-tutorial.org的教程到Mac OS X

最近学习OpenGL编程时发现了一个不错的教程网站:http://www.opengl-tutorial.org/zh-hans/beginners-tutorials-zh/。这里的教程提供了多种语言的版本,包括中文版。可惜写作这些教程时,Mac OS还不支持OpenGL 3.3,所以作者只提供了2.1移植版的课程代码。

因为自己平时主要使用Mac,虽然有Windows和Linux的虚拟机,但毕竟没有本机方便,于是考虑能否将这些代码移植到Mac上。经过一番研究后,按照如下步骤移植成功,暂时未发现异常。

  1. 首先下载源码包(http://www.opengl-tutorial.org/download/,下载OpenGL 3.3的即可,2.1的不需要),解压到目录OpenGL-tutorial_v0014_33中;
  2. 进入OpenGL-tutorial_v0014_33。以后如无特殊说明,使用到的相对目录都是相对于此目录。
  3. 删除目录external/glfw-2.7.6和external/glfw-3.0.3。
  4. http://www.glfw.org/下载最新的源码包glfw-3.1.2,解压到external/glfw-3.1.2。
  5. 打开CMakeLists.txt,查找glfw-3.0.3替换为glfw-3.1.2,查找GLFW_303替换为glfw。
  6. 打开external/CMakeLists.txt,查找glfw-3.0.3替换为glfw-3.1.2。
  7. 安装CMake GUI版本,输入目录选择OpenGL-tutorial_v0014_33,输出目录选择和OpenGL-tutorial_v0014_33平级的目录如Xcode即可。如果这个目录不存在CMake会自动创建。
  8. 点击Configure按钮,询问Generator时从列表中选择Xcode,然后等待执行完毕。
  9. 点击Generate,将自动生成Xcode工程文件Tutorials.xcodeproj。
  10. 打开Xcode工程文件Tutorials.xcodeproj,将当前schema设置为tutorial01_first_window,然后打开tutorial01.cpp,做如下修改并保存:

  11. 点run,不出意外的话应该可以正常运行了。
  12. 后续教程中,如果运行时遇到错误提示:Invalid call of undeclared identifier 'texture2D',只需要把着色器代码的texture2D改为texture即可。

阅读:46

发表回复