Learn OpenGl (一) mac 下的環境搭建
opengl中文地址https://learnopengl-cn.github.io/
opengl 3.2之前採用的是立即渲染模式(也叫固定渲染模式)
在3.2之後採用核心模式
不說原理了 我也不懂 等後面熟悉了在總結一下吧
首先準備一些必須或者可選的庫glfw
,glew
,soil
,準備好這三個庫,就能跟着官網敲到紋理那一章了
然後Xcode肯定必備的,偷懶的在準備cmake的應用,安裝文件就是dmg,雙擊即可
可以參考https://zhuanlan.zhihu.com/p/24529016 這個鏈接,寫的比較詳細 ,當中注意一點的就是 在編譯glfw
的時候 要勾選BUILD_SHARED_LIBS
其次就是在Xcode配置路徑的時候,路徑選擇的必須正確 Header Search Paths
是 /usr/local/include
Library Search paths
是 /usr/local/lib
上面介紹了 glfw
和 glew
的安裝方式 ,下面介紹比較繁瑣的soil
安裝
-
下載soil壓縮包不是官網上的,官網上是已經經過cmake編譯過後的,我們需要dylib(類似Android上so文件),所以需要自己重新cmake,(我是這樣弄的,如果有人知道怎麼make dylib,也麻煩告知) 鏈接https://github.com/DeVaukz/SOIL
-
下載下來後按照編譯glfw的方式編譯,因爲現在的mac 普遍都是64位機器了,編譯前 我們先修改一下CMakeList.txt 將
SET(CMAKE_OSX_ARCHITECTURES x86_64;i386)
和SET(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS "i386 x86_64")
隱藏或者刪除 然後在進行 同理也要將dylib配置到Xcode中
Hello Triangle
需要知道的是opengl 只有點,線,三角形
因爲mac 默認支持的可能只是opengl2.1的版本 所以需要按照官網上的教程指定opengl版本 這裏直接指定4.1吧 也就是Major 指定4 ,Minor 指定1,着色器語言指定410 ,對應的蘋果電腦和支持的版本可以查閱 https://support.apple.com/zh-cn/HT202823
最重要的一點是 在macos 10.14 之後的版本 果子已經不支持opengl 轉向metal了 所以我們需要在做初始化的時候 加一句 glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRUE);
最後按照網站上一步一步敲 應該就能出險可愛的三角形了