在vc++60中配置OpenGL環(huán)境_第1頁
在vc++60中配置OpenGL環(huán)境_第2頁
在vc++60中配置OpenGL環(huán)境_第3頁
在vc++60中配置OpenGL環(huán)境_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、OpenGL入門學習寫給想用計算機畫圖的朋友OpenGL作為當前主流的圖形API之一,它在一些場合具有比DirectX更優(yōu)越的特性。1、與C語言緊密結合。OpenGL命令最初就是用C語言函數(shù)來進行描述的,對于學習過C語言的人來講,OpenGL是容易理解和學習的。如果你曾經(jīng)接觸過TC的graphics.h,你會發(fā)現(xiàn),使用OpenGL作圖甚至比TC更加簡單。2、強大的可移植性。微軟的Direct3D雖然也是十分優(yōu)秀的圖形API,但它只用于Windows系統(tǒng)。而OpenGL不僅用于Windows,還可以用于Unix/Linux等其它系統(tǒng),它甚至在大型計算機、各種專業(yè)計算機(如:醫(yī)療用顯示設備)上都有

2、應用。并且,OpenGL的基本命令都做到了硬件無關,甚至是平臺無關。3、高性能的圖形渲染。OpenGL是一個工業(yè)標準,它的技術緊跟時代,現(xiàn)今各個顯卡廠家無一不對OpenGL提供強力支持,激烈的競爭中使得OpenGL性能一直領先。OpenGL官方網(wǎng)站(英文)下面將對Windows下的OpenGL編程進行簡單介紹。 學習OpenGL前的準備工作 第一步,選擇一個編譯環(huán)境現(xiàn)在Windows系統(tǒng)的主流編譯環(huán)境有Visual Studio,Broland C+ Builder,Dev-C+等,它們都是支持OpenGL的。這里我們選擇VC+6.0作為學習OpenGL

3、的環(huán)境。 第二步,安裝GLUT工具包GLUT下載地址:(大小約為150k)/resources/libraries/glut/glut_downloads.php/glutdlls37beta.zipWindows環(huán)境下安裝GLUT的步驟:1、將下載的壓縮包解開,將得到5個文件(glut.h glut.lib glut32.lib glut.dll glut32.dll)2、把解壓得到的glut.h復制到VC的“includegl”文件夾下。3、把解壓得到的glut.lib和glut32.lib復制到靜態(tài)函數(shù)庫所在文件夾 “VClib”文件夾。4、把解壓

4、得到的glut.dll和glut32.dll復制到操作系統(tǒng)目錄下面的system32文件夾內(nèi)。(典型的位置為:C:WindowsSystem32)第三步,建立一個OpenGL工程1、啟動VC+6.0程序2、選擇File->New->Project,然后選擇Win32 Console Application,選擇一個工程名稱并設置好工程所在位置,然后按OK。在彈出的對話框右邊點Empty project,選擇Finish。3、然后向該工程添加一個代碼文件,文件擴展名為.c(注意用.c來作為文件結尾。)添加代碼文件的方法:方法一:添加已經(jīng)存在的.c文件。在FileView 管理器中,選

5、擇Source Files文件夾-右擊-Add Files to Folder?;蛘邚摹肮こ獭辈藛?“增加到工程”-“文件”。方法二:添加不存在的.c文件。從“文件”菜單-“新建”-選擇“文件”選項卡-C+ Source File,將右邊的“添加到工程”打勾,在“文件名”處輸入擴展名為.c的文件名(記住一定輸入擴展名 .c !)-“確定”,然后在.c文件中輸入代碼。第四步,編譯連接。在菜單“Build”中選擇Compile或Build。第五步,執(zhí)行程序。在菜單“Build”中選擇Execute執(zhí)行。(說明:以上創(chuàng)建的是一個Win32控制臺程序,包含一個控制窗口和OpenGL窗口。如果只需要一個

6、OpenGL窗口的應用程序,則將上面的第三步中的2小步改為:2、選擇File->New->Project,然后選擇Win32 Application,選擇一個工程名稱并設置好工程所在位置,然后按OK。在彈出的對話框右邊點Empty project,選擇Finish。同時,在第四步編譯連接前,要先進行編譯和連接選項的設置:選擇 Project -> settings ->選擇 Link 選項卡: 從 Category(分類)中選擇 Output(輸出),在 Entry-point synmbol(入口點)文本框中鍵入 mainCRTStartup ;從 Category(

7、分類)中選擇 “常規(guī)”,在Object/library modules(對象/庫模式)一欄中添加: opengl32.lib glu32.lib glut32.lib這三個OpenGL的鏈接庫。)(說明: 對于已存在的控制臺工程, 有一個簡單的辦法將它轉換成Win32應用程序: 根據(jù)上面的步驟修改入口點 在 Project options 文本框中用 subsystem:windows 覆蓋 subsystem:console或者你可以直接在你的源代碼開頭處添加一行代碼:#pragma comment( linker, "/subsystem:"windows"

8、/entry:"mainCRTStartup"" ) 如此一來,應用程序就不會出現(xiàn)控制臺窗口,而只是一個OpenGL窗口了。)第一個OpenGL程序一個簡單的OpenGL程序如下:(注意,如果需要編譯并運行,需要正確安裝GLUT,安裝方法如上所述)/ OpenGl.c #include <GL/glut.h>void myDisplay(void)glClear(GL_COLOR_BUFFER_BIT);glRectf(-0.5f, -0.5f, 0.5f, 0.5f);glFlush();int main(int argc, char *argv)g

9、lutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(100, 100);glutInitWindowSize(400, 400);glutCreateWindow("第一個OpenGL程序");glutDisplayFunc(&myDisplay);glutMainLoop();return 0;該程序的作用是在一個黑色的窗口中央畫一個白色的矩形。下面對各行語句進行說明。 怎么樣?代碼還不算長吧?首先,需要包含頭文件#include&l

10、t;GL/glut.h>,這是GLUT的頭文件。本來OpenGL程序一般還要包含<GL/gl.h>和<GL/glu.h>,但GLUT的頭文件中已經(jīng)自動將這兩個文件包含了,不必再次包含。然后看main函數(shù)。int main(int argc, char *argv),這個是帶命令行參數(shù)的main函數(shù),各位應該見過吧?沒見過的同志們請多翻翻書,等弄明白了再往下看。注意main函數(shù)中的各語句,除了最后的return之外,其余全部以glut開頭。這種以glut開頭的函數(shù)都是GLUT工具包所提供的函數(shù),下面對用到的幾個函數(shù)進行介紹。1、glutInit,對GLUT進行初始化

11、,這個函數(shù)必須在其它的GLUT使用之前調用一次。其格式比較死板,一般照抄這句glutInit(&argc, argv)就可以了。2、glutInitDisplayMode,設置顯示方式,其中GLUT_RGB表示使用RGB顏色,與之對應的還有GLUT_INDEX(表示使用索引顏色)。GLUT_SINGLE表示使用單緩沖,與之對應的還有GLUT_DOUBLE(使用雙緩沖)。更多信息,請自己Google。當然以后的教程也會有一些講解。3、glutInitWindowPosition,這個簡單,設置窗口在屏幕中的位置。4、glutInitWindowSize,這個也簡單,設置窗口的大小。5、g

12、lutCreateWindow,根據(jù)前面設置的信息創(chuàng)建窗口。參數(shù)將被作為窗口的標題。注意:窗口被創(chuàng)建后,并不立即顯示到屏幕上。需要調用glutMainLoop才能看到窗口。6、glutDisplayFunc,設置一個函數(shù),當需要進行畫圖時,這個函數(shù)就會被調用。(這個說法不夠準確,但準確的說法可能初學者不太好理解,暫時這樣說吧)。7、glutMainLoop,進行一個消息循環(huán)。(這個可能初學者也不太明白,現(xiàn)在只需要知道這個函數(shù)可以顯示窗口,并且等待窗口關閉后才會返回,這就足夠了。)在glutDisplayFunc函數(shù)中,我們設置了“當需要畫圖時,請調用myDisplay函數(shù)”。于是myDisplay函數(shù)就用來畫圖。觀察myDisplay中的三個函數(shù)調用,發(fā)現(xiàn)它們都以gl開頭。這種以gl開頭的函數(shù)都是OpenGL的標準函數(shù),下面對用到的函數(shù)進行介紹。1、glClear,清除。GL_COLOR_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論