opengl編程輕松入門(mén)

opengl編程輕松入門(mén)

ID:33885912

大?。?.04 MB

頁(yè)數(shù):45頁(yè)

時(shí)間:2019-03-01

opengl編程輕松入門(mén)_第1頁(yè)
opengl編程輕松入門(mén)_第2頁(yè)
opengl編程輕松入門(mén)_第3頁(yè)
opengl編程輕松入門(mén)_第4頁(yè)
opengl編程輕松入門(mén)_第5頁(yè)
資源描述:

《opengl編程輕松入門(mén)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、OpenGL編程輕松入門(mén)先編譯運(yùn)行一個(gè)簡(jiǎn)單的例子,這樣我們可以有一個(gè)直觀的印象先編譯運(yùn)行一個(gè)簡(jiǎn)單的例子,這樣我們可以有一個(gè)直觀的印象。從這個(gè)例子我們可以看到OpenGL可以做什么,當(dāng)然這個(gè)例子只做了很簡(jiǎn)單的一件事--繪制一個(gè)彩色的三角形。除此以外,我們還可以看到典型的OpenGL程序結(jié)構(gòu)及openGL的運(yùn)行順序。例1:本例在黑色的背景下繪制一個(gè)彩色的三角形,如圖一所示。#include#includevoidbackground(void){glClearCol

2、or(0.0,0.0,0.0,0.0);//設(shè)置背景顏色為黑色}voidmyDisplay(void){glClear(GL_COLOR_BUFFER_BIT);//buffer設(shè)置為顏色可寫(xiě)glBegin(GL_TRIANGLES);//開(kāi)始畫(huà)三角形glShadeModel(GL_SMOOTH);//設(shè)置為光滑明暗模式glColor3f(1.0,0.0,0.0);//設(shè)置第一個(gè)頂點(diǎn)為紅色glVertex2f(-1.0,-1.0);//設(shè)置第一個(gè)頂點(diǎn)的坐標(biāo)為(-1.0,-1.0)glColor3f(0.

3、0,1.0,0.0);//設(shè)置第二個(gè)頂點(diǎn)為綠色glVertex2f(0.0,-1.0);//設(shè)置第二個(gè)頂點(diǎn)的坐標(biāo)為(0.0,-1.0)glColor3f(0.0,0.0,1.0);//設(shè)置第三個(gè)頂點(diǎn)為藍(lán)色glVertex2f(-0.5,1.0);//設(shè)置第三個(gè)頂點(diǎn)的坐標(biāo)為(-0.5,1.0)glEnd();//三角形結(jié)束glFlush();//強(qiáng)制OpenGL函數(shù)在有限時(shí)間內(nèi)運(yùn)行}voidmyReshape(GLsizeiw,GLsizeih){glViewport(0,0,w,h);//設(shè)置視口glM

4、atrixMode(GL_PROJECTION);//指明當(dāng)前矩陣為GL_PROJECTIONglLoadIdentity();//將當(dāng)前矩陣置換為單位陣if(w<=h)gluOrtho2D(-1.0,1.5,-1.5,1.5*(GLfloat)h/(GLfloat)w);//定義二維正視投影矩陣elsegluOrtho2D(-1.0,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5);glMatrixMode(GL_MODELVIEW);//指明當(dāng)前矩陣為GL_MODELVIEW}

5、intmain(intargc,char**argv){/*初始化*/glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE

6、GLUT_RGB);glutInitWindowSize(400,400);glutInitWindowPosition(200,200);/*創(chuàng)建窗口*/glutCreateWindow("Triangle");/*繪制與顯示*/background();glutReshapeFunc(myReshape);glutDispla

7、yFunc(myDisplay);glutMainLoop();return(0);}首先創(chuàng)建工程,其步驟如下:1)創(chuàng)建一個(gè)Win32ConsoleApplication。2)鏈接OpenGLlibraries。在VisualC++中先單擊Project,再單擊Settings,再找到Link單擊,最后在Object/librarymodules的最前面加上OpenGL32.libGLu32.libGLaux.lib3)單擊ProjectSettings中的C/C++標(biāo)簽,將Preprocessorde

8、finitions中的_CONSOLE改為_(kāi)_WINDOWS。最后單擊OK?,F(xiàn)在你可以把下面的例子拷貝到工程中去,編譯運(yùn)行。你可以看到一個(gè)彩色的三角形。我們先看看main函數(shù)。函數(shù)中以glut開(kāi)頭的函數(shù)都包含在glut.h中。GLUT庫(kù)的函數(shù)主要執(zhí)行如處理多窗口繪制、處理回調(diào)驅(qū)動(dòng)事件、生成層疊式彈出菜單、繪制位圖字體和筆畫(huà)字體,以及各種窗口管理等任務(wù)。·glutInit用來(lái)初始化GLUT庫(kù)并同窗口系統(tǒng)對(duì)話協(xié)商?!lutInitDisplayMode用來(lái)確定所創(chuàng)建窗口的顯示模式。本例中的參數(shù)GLUT_S

9、INGLE指定單緩存窗口,這也是缺省模式,對(duì)應(yīng)的模式為GLUT_DOUBLE雙緩存窗口。參數(shù)GLUT_RGB指定顏色RGBA模式,這也是缺省模式,對(duì)應(yīng)的模式為GLUT_INDEX顏色索引模式窗口?!lutInitWindowSize初始化窗口的大小,第一個(gè)參數(shù)為窗口的寬度,第二個(gè)參數(shù)為窗口的高度,以像素為單位?!lutInitWindowPosition設(shè)置初始窗口的位置,第一個(gè)參數(shù)為窗口左上角x的坐標(biāo),第二個(gè)參數(shù)為窗口左上角y的坐標(biāo),

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。