OpenGL作為當前主流的圖形API之一,它在一些場合具有比DirectX更優(yōu)越的特性。 OpenGL官方網(wǎng)站(英文) http://www.opengl.org 然后設置編程的一些環(huán)境,及其安裝必備文件的步驟如下: 第一步:選擇一個編譯環(huán)境 現(xiàn)在Windows系統(tǒng)的主流編譯環(huán)境有Visual Studio,Broland C++ Builder,Dev-C++等,它們都是支持OpenGL的。但這里我們選擇VC++ 6.0作為學習OpenGL的環(huán)境。 第二步:安裝GLUT工具包 GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的方便,推薦安裝。 Windows環(huán)境下的GLUT下載地址:(大小約為150k) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 無法從以上地址下載的話請使用下面的連接: http://upload.programfan.com/upfile/200607311626279.zip Windows環(huán)境下安裝GLUT的步驟: 1、將下載的壓縮包解開,將得到5個文件 2、以我的安裝目錄為例: (1)“d:\Program Files\Microsoft Visual Studio\VC98\include\GL文件夾”。把解壓得到的glut.h放到這個GL文件夾里。沒有GL文件夾可以自己建一個,一般都有的。 (2)“d:\Program Files\Microsoft Visual Studio\VC98\lib文件夾”)。把解壓得到的glut.lib和glut32.lib放到靜態(tài)函數(shù)庫所在文件夾,即lib文件夾。 (3)把解壓得到的glut.dll和glut32.dll放到操作系統(tǒng)目錄下面的system32文件夾內(nèi)。(典型的位置為:C:\Windows\System32)這是非常重要的動態(tài)鏈接庫設置! 第三步,創(chuàng)建工程,其步驟如下: (1)創(chuàng)建一個Win32 Console Application。(以我創(chuàng)建的為例,工程名為simpleGL) (2)鏈接OpenGL libraries:在Visual C++中先單擊Project,再單擊Settings,再找到Link單擊,最后在Object/library modules 的最前面加上opengl32.lib Glut32.lib Glaux.lib glu32.lib 。 (3)單擊Project Settings中的C/C++標簽,將Preprocessor definitions 中的_CONSOLE改為__WINDOWS。最后單擊OK。 現(xiàn)在,準備工作基本上完成了,可不要輕視這一步,如果你沒有設置好在編譯及運行過程中總會出錯的。 第四步,創(chuàng)建一個最簡單的opengl程序 1、在stdafx.h文件中加入: #include <windows.h> #include <GL/glu.h> #include <GL/gl.h> #include <GL/glut.h> #include <GL/glaux.h> 2、在工程主程序中加入:(以我的程序為例,在simpleGL.cpp中) #include <windows.h> #include <gl\glut.h>
//Called to draw scene void RenderSence(void) { //Clear the window with current clearing color glClear(GL_COLOR_BUFFER_BIT); //Flush drawing commands glFlush(); } //Set up the rendering state void SetupRC(void) { glClearColor(0.0f,0.0f,1.0f,1.0f); //此時背景色為藍色 } 對main添加: glutInitDisplayMode(GLUT_SINGLE|GLUT_SINGLE|GLUT_RGB); glutCreateWindow("Simple"); //窗口名為“Simple” glutDisplayFunc(RenderSence); SetupRC(); glutMainLoop(); 注意:main函數(shù)原先自己的返回調(diào)用 ruturn 0; 這句不能刪除,否則會出錯。 3、調(diào)試結果,如圖(略) 注:背后黑色的為控制臺,關閉前面的窗口,控制臺中出現(xiàn)“Press any key to continue” 此時按任意鍵,控制臺也將關閉。
|