Mac配置OpenGL环境
簡介
入門學習OpenGL,網上查詢OpenGL的配置環境相關,配置的樣式多種多樣。
但總的來說,無非如下幾個步驟:
- 下載gltools、glew、glfw、glut、 glad、glm等庫文件
- Xcode中配置Build Settings內的Search Header Paths和Search Libary Paths
- Xcode中配置Build Phases內的Link Binary With Libraries
在Mac中,openGL、glut的包,已經自帶,無需關注。
入門學習使用: Learn OpenGL
環境:Mac: 10.14.6 Xcode: 11.3.1
語言: C/C++
個人Demo:OpenGLDemo
brew安裝cmake、glfw、glew
brew是Mac OS平臺下的軟件包管理工具, 通過終端命令可以實現包的安裝,卸載,更新等。
打開終端,輸入命令:
安裝成功后會提示你輸入密碼, 安裝成功后提示: “Installation successful”
常用的命令有:
倘若因為網絡不穩定,導致安裝失敗,需要對它進行卸載重裝,其命令為:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"成功安裝brew后, 可直接運行如下命令:
// 方式1 brew install cmake glfw glew// 方式2 brew install cmake brew install glfw brew install glewglfw和glew安裝成功后,路徑都在: /usr/local/Cellar 中
glfw的官網:GLFW
glew的官網:GLEW
glTools下載
它是《OpenGL 超級寶典》的作者對OpenGL接口的一些封裝,在Learn OpenGL上不會用到。下載
下載并解壓到任意目錄下, 通過終端命令進入該目錄:
cd build cmake .. make sudo make install如上命令主要做了兩件事:
- 對文件進行編譯生成庫文件: libgltools.dylib、libgltools.a
- 將include文件安裝到**/usr/local/include**中
- 將庫文件安裝到**/usr/local/lib**中
GLM下載
OpenGL Mathematics為OpenGL編寫的第三方數學算法庫
不依賴其他包, 不需要編譯,下載后直接將頭文件放入指定的目錄即可進行引用。
下載地址: glm
使用GLM時,類似示例:
#include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/type_ptr.hpp>void DebugGLM() {glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);// 譯注:下面就是矩陣初始化的一個例子,如果使用的是0.9.9及以上版本// 初始化編寫為:glm::mat4 trans = glm::mat4(1.0f);// 否則初始化編寫:glm::mat4 trans;// 如果方式不一致,就會出現結果是很大數字的顯示,切記glm::mat4 trans = glm::mat4(1.0f);trans = glm::translate(trans, glm::vec3(1.0f, 1.0f, 0.0f));vec = trans * vec;std::cout << vec.x << vec.y << vec.z << std::endl; // 210表示正確 }glad下載
參考: LearnOpenGL 配置GLAD
它是一個開源的庫, 需要打開glad的在線服務進行配置,生成后然后下載zip文件即可。在線服務
- Language選擇C/C++
- Specification選擇OpenGL
- gl選擇版本3.3即可
- 勾選Generate a loader
- 確認無誤后,勾選GENERATE
生成成功以后,如下圖:
點擊標記部分進行下載即可。
環境配置
點擊加號添加配置相關:
這些配置,主要用于項目Build Settings下的Header Search Paths和Library Search Paths的配置。比如:
- Header Search Paths, 配置glew, glfw相關include,可以使用:$(glew_header) $(glfw_header)
- Library Search Paths, 配置glew, glfw相關lib, 可以使用: $(glew_lib) $(glfw_lib)
配置項目Build Phases下的Link Binary With Libraries相關, 這些配置添加后,會添加到framework中。
mac系統的自帶有:GLUT.framework、OpenGL.framwork相關,直接搜索添加就可以
其他的比如glew、glfw相關, 可以點擊Add Other…,選擇add Files…
通過快捷鍵Command+Shift+G或者前往文件夾進入到/usr/local/目錄,選擇對應包的lib目錄下的.dylib文件。
至此基本的環境配置算是配置結束, 在main.cpp粘貼如下代碼:
效果圖,如下:
Learn OpenGL GitHub環境配置
學習OpenGL的過程中,參考資料是:
- LearnOpenGL 教程
- LearnOpenGL Code
關于Code的生成步驟:
- 下載Code
- 打開終端命令,進入到目錄中,運行命令:
- 如果Xcode生成項目工程文件的時候報錯,類似如下:
官方示例提供了教程當中的所有示例demo相關, 可用于我們學習,參考。
建議
在學習OpenGL的過程,我們會在Xcode項目創建多個示例程序,用于學習查看各種各樣的效果。
步驟是: 右上角選擇File -> New -> Target…后, 選擇Command Line Tool新建示例。
在每個CLT示例中,需要重復做如下幾件事:
- 需要在Build Settings中配置Header Search Paths和Library Search Paths所需要的文件相關
- 需要在Build Phases中配置Link Binary With Libraries所需要的庫文件相關
這樣的配置,固然是可以的,但是會有幾個問題出現:
- OpenGL的某些實現需要引用一些頭文件相關,他們并不是在usr/local中放置,比如:glad、glm等
- 配置庫文件,需要記住一些常用庫的路徑
為避免這些問題,可以參考著官方示例的目錄結構:
- 將編寫的Command Line Tool的示例文件放置到src對應的章節目錄中
- 將第三方的.a、.dylib從usr/local中拷貝放到libs目錄文件下
- 將第三方的.h、.cpp文件分別放置到includes和src目錄中
- 將資源,shader相關放置到Resources目錄中
優點:
- 解決引用庫文件進行繁瑣的操作的步驟
注意:
如果項目運行報錯,一般是沒有獲取到對應的庫文件
記得使用命令: brew install glew glfw, 下載成功后,就對應的**.dylib和.a**文件放置到libs目錄內
本人新手,能力有限,如果文章對您引起了誤導,請及時告知,避免影響更多的人
總結
以上是生活随笔為你收集整理的Mac配置OpenGL环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度剖析5款主流杀毒软件
- 下一篇: 安卓手机修改ip软件_为什么苹果手机不用