做三維重建需要用到OpenGL,開始看《OpenGL超級寶典》,新手第一步配置環境就折騰了一天,記錄下環境的配置過程。
《超級寶典》中的例子使用了GLEW,freeglut以及GLTools這三個庫。
1.GLEW
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
GLEW是一個跨平台的OpenGL的擴展庫,支持多個操作系統。下載地址:http://glew.sourceforge.net/ 提供了已編譯好的文件
解壓后將得到的文件分別進行復制:
include文件夾下是頭文件,將位於include文件夾下的GL文件夾復制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include 下
lib文件夾下Release\Win32的文件復制到:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
bin文件夾下Release\Win32的文件復制到:C:\Windows\System32
GLEW就配置完成了
2.freeglut
FreeGLUT is a free-software/open-source alternative to the OpenGL Utility Toolkit (GLUT) library。
最新的穩定版是3.0,其下載地址:http://freeglut.sourceforge.net/ ,沒有提供編譯好的包,需要使用CMake自行編譯。
CMake的配置
注意紅圈的兩個位置,第一個是生成的freeglut庫文件所在的位置,其默認是在C(系統盤),由於訪問C盤需要管理員權限,這里沒有使用默認值。
第二個是生成Static Lib,勾了這個選項在Install的時候會出現一個錯誤,由於不生成這個Static Lib也沒有多大影響,這里就取消了這個選項。配置好CMake選項后,Generate生成的visual studio2013的項目如下:
打開freeglut.sln
編譯,生成的庫文件在CMake配置的CMAKE_INSTALL_PREFIX下,有三個文件夾include、bin、lib,和GLEW類似,將其內容復制到相應的位置。
freeglu配置完成。
3.GLTools
GLTools的配置比較麻煩,主要是由於按照書中提供的網址(http://www.starstonesoftware.com/)下載不到源代碼。幸好在GitHub上找到一個GLTools的Linux的版本(地址:https://github.com/HazimGazov/GLTools),使用其源代碼編譯生成GLTools庫。
注意glew.c需要到GLEW的網站下其源代碼得到,另外就是其include文件需要放到VC\include文件夾下,而且需要GLEW和freeglut都已配置完成。
在編譯GLTools前需要更改其項目屬性 > C/C++ > 預處理器右邊的預處理器定義中添加 _CRT_SECURE_NO_WARNINGS
編譯生成以后將Debug文件夾下的GLTools.lib復制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib下
4.最后
設置項目的依賴項
忽略特定依賴庫
《超級寶典》的第一個例子: