OpenGL環境搭建

GLFWphp

  GLFW是一個OpenGL的C語言庫,它提供了渲染物體所須要的最低限度的接口,它容許用戶建立OpenGL上下文,定義窗口參數以及用戶的輸入。html

構建GLFWgit

  GLFW能夠從它的官方網站下載,目前官網上有Visual Studio2015及以前版本的預編譯二進制版本和相應的頭文件,我這裏是下載了源代碼本身進行編譯的。(推薦下載32版本,64版本可能會出現不少問題)github

  本身編譯能夠保證生成的庫是兼容你的操做系統以及CPU的,若是直接下載預編譯的二進制文件會出現各類兼容性的問題。app

CMake編輯器

  CMake是一個工程文件生成工具。用戶可使用預約義好的CMake腳本,根據本身的選擇(像是Visual Studio, Code::Blocks, Eclipse)生成不一樣IDE的工程文件。這容許咱們從GLFW源碼裏建立一個Visual Studio 2017工程文件,以後進行編譯。首先,咱們須要從這裏下載安裝CMake。我選擇的是Win32安裝程序。 ide

  當咱們的CMake安裝完成後,能夠從命令行或者GUI進入程序,我這裏選擇GUI。CMake須要一個源代碼目錄和一個存放編譯結果的目標文件目錄,源代碼目錄是咱們選擇GLFW的源代碼根目錄,編譯目錄咱們能夠本身新建。  函數

  在設置完代碼目錄和目標根目錄後,點擊Configure(設置)按鈕,而後讓CMake讀取設置和源代碼,因爲我使用的是Visual Studio 2017 ,最終我選擇VS2017,CMake會顯示可選編譯選項用來配置最終生成的庫。這裏使用默認設置,並在此點擊工具

Configure(設置)按鈕保存設置。最後點擊Generate(生成按鈕),生成文件夾會在你設置的Bulid目錄下面。網站

編譯

  在Build文件夾裏面選擇GLFW.sln文件,用VS2017打開,而後本身手動編譯一下。

  編譯完成後,咱們須要讓IDE知道庫和頭文件的位置

  這裏我建立了兩個文件夾分別是:lib文件夾include文件夾。將源代碼下的include/GLFW文件夾放到新建的include文件夾下,編譯出來的glfw3.lib放在新建的lib文件夾下。

         

建立工程

  打開,VS2017,建立一個新的C++項目,以後就開始建立第一個OpenGL程序吧!

連接

  爲了讓程序使用GLFW,咱們須要把GLFW庫連接進工程中,這能夠經過連接器設置裏指定咱們要使用glfw3.lib來完成,可是因爲咱們將第三方庫放在另一個目錄中,咱們的工程還不知道在哪裏尋找這個文件 。因而咱們須要將咱們放第三方庫的目錄添加設置。

  要添加這些目錄,咱們首先進入工程屬性,在解決方案窗口裏右鍵項目,而後選擇VC++ 目錄(以下圖)。

 

如今VS能夠找到所需的全部文件了,最後須要在連接器選項卡里的輸入選項卡里添加glfw3.lib這個文件:

 

要連接一個庫咱們必須告訴連接器它的文件名,庫名字是glfw.lib。咱們把它加到附加依賴項中。這樣GLFW在編譯的時候就會被連接進來了。

Windows上的OpenGL庫

  opengl32.lib已經包含在Microsoft SDK 裏,它在Visual Studio 安裝的時候已經默認安裝了,因爲咱們這裏用的是VS編輯器,而且是在Windows操做系統上,咱們只須要將opengl32.lib添加進連接器設置裏就OK了。

GLAD

  到這裏尚未結束,由於OpenGL只是一個標準/規範,具體的實現是由驅動開發商針對特定顯卡實現的。因爲OpenGL驅動版本不少,因此大多數函數的位置都沒有辦法保證在編譯的時候肯定下來,須要在運行查詢。

開發者須要在運行時獲取函數地址並將其保存在一個函數指針中,方便之後使用。在Windows中是這樣的:

 

1 // 定義函數原型
2 typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*); 3 // 找到正確的函數並賦值給函數指針
4 GL_GENBUFFERS glGenBuffers  = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers"); 5 // 如今函數能夠被正常調用了
6 GLuint buffer; 7 glGenBuffers(1, &buffer);

咱們能夠看到代碼是比較複雜的,若是用的函數多了,複雜度就更多了。幸運的是,有些庫能簡化這個過程,其中GLAD是目前爲止最新的,也是最流行的庫。

 OpenGL版本查看

  工具地址:連接: https://pan.baidu.com/s/1i5koKBz 密碼: urga

  咱們能夠經過這個軟件來查看本身電腦的OpenGL版本。

配置GLAD

  GLAD是一個開源庫,他能解決咱們上面提到的這個複雜問題。GLAD的配置與大多數開源庫有些不一樣,GLAD使用了一個在線服務。將語言設置爲C/C++。在API選項中,選擇3.3以上的OpenGL(gl)版本,以後將模式(Profile)設置爲Core,而且保證生成加載器(Generate a loader)的選項是選中的。如今能夠先(暫時)忽略拓展(Extensions)中的內容。都選擇完以後,點擊生成(Generate)按鈕來生成庫文件。

   GLAD提供給一個Zip壓縮文件,包含兩個頭文件目錄,和一個glad.c文件。將兩個頭文件目錄複製到咱們剛纔新建的include目錄中,而且把glad.c文件添加到工程中。

  而後就能夠將一下指令加入到頭文件頂部了:

#include <glad/glad.h> 

  最後點擊編譯,應該就不會出現任何錯誤了。如今咱們OpenGL初步的環境已經搭建完成了。

 

 附加連接

相關文章
相關標籤/搜索