OpenGL開發:官方GLUT庫的環境配置

GLUT,是指OpenGL Utility Toolkit,用于開發獨立于窗口系統的OpenGL程序,即該庫打包了很多的窗口操作,提供了獨立于具體操作系統的API,讓你快速的在OpenGL開發中完成窗口相關操作,如窗口顯示、輸入設備讀取、多級級聯菜單、多窗口管理等等便捷功能。

在windows中開發OpenGL,多基于VS環境,以VS 2015 社區版為例,介紹如何配置完整的GLUT開發環境。

GLUT相關二進制庫下載

除了官方GLUT,還有freeglut, 詳見:SourceforgeGITHUB倉庫

GLUT 3.7版本下載:下載連接

GLUT 下載列表頁面:下載列表,包含多種系統與版本,以及相關文檔

GLUT Windows庫內容

包含如下5個文件:

Paste_Image.png
  • glut.dll 動態鏈接庫
  • glut.h 頭文件
  • glut.lib 庫文件
  • glut32.dll 動態鏈接庫
  • glut32.lib 庫文件

兩個動態鏈接庫文件glut.dll, glut32.dll

需要放入到系統drive目錄內,

Windows 32位系統為:

C:\Windows\System32

Windows 64位系統為:

C:\Windows\SysWOW64

實際上,放在可執行文件同級目錄下,也是可以的,如,VS項目的Debug/,64位項目為x64/Debug/。為了方便起見,最好放置到系統drive目錄下,為了后期發布,則應當與項目放置在一起。

頭文件 glut.h

頭文件放置到系統頭文件放置的位置,這其中有多個選擇,目前VS安裝后,配置的相關開發平臺庫都具有OpenGL相關頭文件和庫,所以,只需要找到OpenGL的頭文件,放置到相同位置。OpenGL頭文件包括了:GL.h, GLU.h

具體的位置,結合VS項目,將很容易獲取到。
如:

  C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl

Lib庫文件 glut.lib, glut32.lib

Lib庫文件與頭文件放置位置差不多,只不過是放置到統一的Lib庫中。可以通過查看OpenGL的庫的位置,放置到相同位置。OpenGL庫文件包括了:GlU32.Lib, OpenGL32.Lib
如·:

C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64

通過VS提供的路徑進行配置

創建一個空的VS VC空項目:

創建Win32控制臺程序
空的項目

打開項目屬性面板:

Paste_Image.png

查看VC++目錄的相關內容:

Paste_Image.png

配置包括了:Debug/Release的32位和64位平臺的相關內容,需要根據具體的路徑,和項目類型,進行放置頭文件、Lib文件的位置。

注意:dll文件,是根據本機系統類型,而非項目類型,因此,64位機就放入到C:\Windows\SysWOW64,32位機就放到C:\Windows\System32

一個例程

#include<gl/glut.h>
#include<gl/glu.h>
#include<gl/gl.h>

void renderScene(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glBegin(GL_TRIANGLES);
    glVertex3f(-0.5, -0.5, 0.0);
    glVertex3f(0.5, 0.0, 0.0);
    glVertex3f(0.0, 0.5, 0.0);
    glEnd();
    glutSwapBuffers();
}

int main(int argc, char* argv[])
{
    glutInit(&argc, (char**)argv);
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(320, 320);
    glutCreateWindow("Hello OpenGL");
    glutDisplayFunc(renderScene);
    glutMainLoop();//enters the GLUT event processing loop.
    return 0;
}

運行之后,看到黑色背景上,一個三角形,這是一個空間三角形:

Paste_Image.png

OpenGL以點、線、三角形為基本元素類型,空間三角形是OpenGL中使用最多的基本類型。

為什么一定要這么配置

其實不一定要這么配置,尤其是GLUT,打開glut.h,可以看到這么一段:

#pragma comment (lib, "winmm.lib")     /* link with Windows MultiMedia lib */
#pragma comment (lib, "opengl32.lib")  /* link with Microsoft OpenGL lib */
#pragma comment (lib, "glu32.lib")     /* link with OpenGL Utility lib */
#pragma comment (lib, "glut32.lib")    /* link with Win32 GLUT lib */

這里,鏈接glut32.lib,并沒有指定具體的路徑位置,所以,鏈接器會在Include Lib目錄里找,因此需要放入到相應的Include目錄。修改這個為相對路徑或者絕對路徑后,則無需如此放置。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容