天天看點

VS2005下OpenGL的配置及簡單執行個體

學習OpenGL前的準備工作

第一步,選擇一個編譯環境

選擇Visual Studio 2005作為學習OpenGL的環境。

第二步,配置OpenGL環境

具體做法在前一篇中。建議将相應檔案放到VC的檔案夾下,而不是PlatformSDK中。

第三步,安裝GLUT工具包

GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的友善,推薦安裝。

Windows環境下的GLUT下載下傳位址:(大小約為150k)

http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

無法從以上位址下載下傳的話請使用下面的連接配接:

http://upload.programfan.com/upfile/200607311626279.zip

Windows環境下安裝GLUT的步驟:

1、将下載下傳的壓縮包解開,将得到5個檔案

2、在“我的電腦”中搜尋“gl.h”,并找到其所在檔案夾(如果是VisualStudio2005,則應該是其安裝目錄下面的“VC/PlatformSDK/include/gl檔案夾”)。把解壓得到的glut.h放到這個檔案夾。

3、把解壓得到的glut.lib和glut32.lib放到靜态函數庫所在檔案夾(如果是VisualStudio2005,則應該是其安裝目錄下面的“VC/lib”檔案夾)。

4、把解壓得到的glut.dll和glut32.dll放到作業系統目錄下面的system32檔案夾内。(典型的位置為:C:/Windows/System32)

第四步,建立一個OpenGL工程

這裡以VisualStudio2005為例。

選擇File->New->Project,然後選擇Win32 Console Application,選擇一個名字,然後按OK。

在談出的對話框左邊點Application Settings,找到Empty project并勾上,選擇Finish。

然後向該工程添加一個代碼檔案,取名為“OpenGL.c”,注意用.c來作為檔案結尾。

VS2005下使用opengl的配置問題

項目 -->選擇屬性 C/C++-->preprocessor-->preprocessor definition添加GLUT_BUILDING_LIB,中間用分号隔開,然後點選linker--

>input--> additional dependencies添加glut32.lib Opengl32.lib Glu32.lib

一個簡單的OpenGL程式如下:

#include <GL/glut.h>  //需要包含頭檔案#include <GL/glut.h>,這是GLUT的頭檔案。本來OpenGL程式一般還要包含<GL/gl.h>和<GL/glu.h>,但GLUT的頭檔案中已經自動将這兩個檔案包含了,不必再次包含。

void myDisplay(void)

{

    glClear(GL_COLOR_BUFFER_BIT);

    glColor3f(0.0f,1.0f,0.0f);

    glRectf(-0.5f, -0.5f, 0.5f, 0.5f); //畫一個綠色的正方形

    glFlush();

}

int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

    glutInitWindowPosition(100, 100);

    glutInitWindowSize(400, 400);

    glutCreateWindow("第一個OpenGL程式");

    glutDisplayFunc(&myDisplay);

    glutMainLoop();

    return 0;

}

編譯執行就可以了。

轉載:

引用: 怎麼把那個DOS視窗去掉啊?

答:首先,那個視窗不叫DOS視窗,而叫“指令行視窗”。

     如果使用GLUT的話,最好還是保留那個視窗,因為如果在使用GLUT過程中有任何錯誤或者警告,都會直接顯示到指令行視窗——如果你繪制圖形失敗,多半可以根據指令行視窗中的資訊找到一點原因。這樣會給我們帶來友善。

     另外,使用GLUT可以做到平台無關。也就是說,雖然我們現在講的是Windows下面的程式設計,但這些代碼拿到Linux, Apple Macintosh,IBM OS/2或者其它的視窗系統,都可以被正确的編譯并執行(需要下載下傳并安裝相應版本的GLUT),不需要修改代碼。如果需要去掉“指令行視窗”

     如果你真的感到“指令行視窗”很不爽,可以在建立工程時選擇“Win32 Application”,而不是“Win32 Console Application”。(對于已經建好的工程,需要在Projcet->Properties-> Configuration Properties->Linker->System那個視窗裡面,把SubSystem選項由 Console改為Windows),并在程式開始時使用WinMain作為程式入口,而不是main。然後,你還需要一些Win32的程式設計基礎。如果你不介意的話,把下面的代碼抄下來也可以。

#include <windows.h>

#include <GL/glut.h>

void myDisplay(void)

{

     glClear(GL_COLOR_BUFFER_BIT);

     glRectf(-0.5f, -0.5f, 0.5f, 0.5f);

     glFlush();

}

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev,

                    PSTR CmdLine, int iCmdShow)

{

     int argc = 1;

     char *argv[] = {"OpenGL Application"};

     glutInit(&argc, argv);

     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

     glutInitWindowPosition(100, 100);

     glutInitWindowSize(400, 400);

     glutCreateWindow("第一個OpenGL程式");

     glutDisplayFunc(&myDisplay);

     glutMainLoop();

     return 0;

}

注意這個程式和前面的示例所不同的地方:

1、多加了頭檔案:#include <windows.h>。

2、main變成了WinMain,并且函數的參數有所不同。

3、在WinMain中,定義了假的argc和argv,友善使用glutInit函數。雖然看起來有些别扭,但總算是成功的将GLUT給初始化好了。

建議:GLUT在學習的開始時期會給查錯帶來友善,是以使用GLUT,并且打開指令行是比較好的做法。當我們不再需要GLUT,打算一切自己幹時,再來考慮如何寫一個不帶指令行的程式,這樣可能會比較合适。

VS 2005中配置OpenGL開發環境

VS中不需要自己拷貝一些opengl的.h .dll .lib、因為vs2005已經都把這些檔案都安裝好了。分别在下邊的目錄下:(注意:glut庫的部

分要自己copy到相應目錄下。)

[目錄]

include: <VCDIR>/PlatformSDK/Include/GL

lib: <VCDIR>/PlatformSDK/Lib

dll: <WINDIR>/system32

雖然這些目錄下已經有了,但是我在用console win32時,還是會出現很多錯誤,無法識别以gl開頭的函數。是以我把它們又copy到VC目錄的相應檔案夾下了,結果問題就沒有了,我感到很奇怪。我不知道該怎麼用PlatformSDK下的那些頭檔案。

[VS 2006 自帶的OpenGL檔案]

include: GL/gl.h GL/glu.h GL/glaux.h

lib: opengl32.h glu32.h glaux.lib(* Deprecated)

dll: opengl32.dll glu32.dll

[SGI OpenGL 檔案(* OPT)]

lib: opengl.lib glu.lib

dll: opengl.dll glu.dll

[GLUT utility toolkit 檔案(* download)]

include: GL/glut.h

lib: glut.lib glut32.lib

dll: glut.dll glut32.dll

GLUT 允許我們開發可移植的OpenGL視窗程式,它包裝了底層的視窗系統接口

    可以從www.opengl.org/resources/libraries/glut下載下傳

擷取對應檔案并放置到相應目錄下,

現在建立一個空的windows console application,加入:

#include <GL/glut.h>

VS2005下使用opengl的配置問題

項目 -->選擇屬性 C/C++-->preprocessor-->preprocessor definition添加GLUT_BUILDING_LIB,中間用分号隔開,然後點選linker--

>input--> additional dependencies添加glut32.lib Opengl32.lib Glu32.lib

就可以開發自己的OpenGL程式了

如果在老版本的VS 6.0 中開發,需要将連接配接庫添加在項目設定屬性中。

繼續閱讀