![OpenGL編程實習(xí)報告_第1頁](http://file4.renrendoc.com/view11/M03/37/13/wKhkGWXUUDKAZaVeAABaRXJxPK8160.jpg)
![OpenGL編程實習(xí)報告_第2頁](http://file4.renrendoc.com/view11/M03/37/13/wKhkGWXUUDKAZaVeAABaRXJxPK81602.jpg)
![OpenGL編程實習(xí)報告_第3頁](http://file4.renrendoc.com/view11/M03/37/13/wKhkGWXUUDKAZaVeAABaRXJxPK81603.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
OpenGL編程實習(xí)報告班級:學(xué)號:姓名:專業(yè):攝影測量與遙感指導(dǎo)老師:實習(xí)目的:了解OPENGL繪圖原理;熟悉OPENGL的編程步驟;掌握在OPENGL中繪圖。實現(xiàn)在VC++6.0環(huán)境下在OPENGL中繪圖,繪制一個圓形或正方形;實現(xiàn)這個三維物體的變換。實習(xí)原理:OpenGL的基本工作流程為:OpenGL程序的基本結(jié)構(gòu)為定義窗口、清理窗口、繪制物體、結(jié)束運行。其基本操作有:描述圖元、繪制圖元、OpenGL變換。在Windows下用GDI作圖必須通過設(shè)備上下文(DeviceContext簡寫DC)調(diào)用相應(yīng)的函數(shù);用OpenGL作圖也是類似,OpenGL函數(shù)是通過"渲染上下文"(RenderingContext簡寫RC)完成三維圖形的繪制。Windows下的窗口和設(shè)備上下文支持"位圖格式"(PIXELFORMAT)屬性,和RC有著位圖結(jié)構(gòu)上的一致。只要在創(chuàng)建RC時與一個DC建立聯(lián)系(RC也只能通過已經(jīng)建立了位圖格式的DC來創(chuàng)建),OpenGL的函數(shù)就可以通過RC對應(yīng)的DC畫到相應(yīng)的顯示設(shè)備上。實習(xí)步驟:首先創(chuàng)建工程。用AppWizard產(chǎn)生一個MFC單文檔(SDI)的EXE文件。選中三維控制(3DControls),其余保持默認(rèn)值即可。將此工程所需的OpenGL文件和庫加入到工程中。在工程菜單中,選擇"Build"下的"Settings"項。單擊"Link"標(biāo)簽,選擇"General"目錄,在Object/LibraryModules的編輯框中輸入"OpenGL32.libglu32.libglaux.lib",選擇"OK"結(jié)束。然后打開文件"stdafx.h",將語句#include<gl\gl.h>和#include<gl\glu.h>插入到文件中。設(shè)置顯示設(shè)備DC的位圖格式(PIXELFORMAT)屬性。通過填充一個PIXELFORMATDESCRIPTOR的結(jié)構(gòu)來完成(關(guān)于PIXELFORMATDESCRIPTOR中各項數(shù)據(jù)的意義,請參照VC的幫助信息),該結(jié)構(gòu)決定了OpenGL作圖的物理設(shè)備的屬性,比如該結(jié)構(gòu)中的數(shù)據(jù)項dwFlags中PFD_DOUBLEBUFFER位如果沒有設(shè)置(置1),通過該設(shè)備的DC上作圖的OpenGL命令就不可能使用雙緩沖來做動畫。有一些位圖格式(PIXELFORMAT)是DC支持的,而有一些DC就不支持了。所以程序必須先用ChoosePixelFormat來選擇DC所支持的與指定位圖格式最接近的位圖格式,然后用SetPixelFormat設(shè)置DC的位圖格式。利用剛才的設(shè)備DC建立渲染上下文RC(wglCreateContext),使得RC與DC建立聯(lián)系(wglMakeCurrent)。調(diào)用OpenGL函數(shù)作圖。(1)定義一個窗口:auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);auxInitPosition(0,0,500,400);auxInitWindow("CreateYourOwnProgram");(2)清理窗口:glClearColor(0.0,0.0,0.0,0.0);glClearDepth(0.0);glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);(3)繪制物體:(包括和構(gòu)造幾何圖元)定義頂點:在OpenGL中,所有的幾何物體最終都由有一定順序的頂點集來描述。在實際應(yīng)用中,通常用一組相關(guān)的頂點序列以一定的方式組織起來定義某個幾何圖元,而不采用單獨定義多個頂點來構(gòu)造幾何圖元。允許在glBegin()與glEnd()之間調(diào)用的OpenGL命令為:glVertex*();glColor*();glIndex();glNormal();glEvalCoord*();glCallList(),glCallLists();glTexCoord();glEdgeFlag();glMaterial();設(shè)置圖元的顏色、大小、線段、線型、多邊形的繪制和填充(4)設(shè)置變換方式。有幾何變換、正射投影等。(5)結(jié)束運行。6、作圖完畢以后,先通過置當(dāng)前線程的RC為NULL(::wglMakeCurrent(NULL,NULL);),斷開當(dāng)前線程和該渲染上下文的聯(lián)系,由此斷開與DC的聯(lián)系。在后面刪除RC的時候要先判斷以下RC句柄的有效性(if(m_hrc)::wglDeleteContext(m_hrc);)。再根據(jù)情況釋放(ReleaseDC)或者刪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年污水處理廠自動控制系統(tǒng)項目可行性研究報告
- 2025年FOB合同:國際化妝品出口代理銷售合同
- 2025年度金融科技產(chǎn)品開發(fā)與應(yīng)用合同-@-1
- 2025年度建筑工地高空作業(yè)人員安全培訓(xùn)及考核合同
- 2025年中國光通信行業(yè)市場調(diào)查研究及投資前景預(yù)測報告
- 2025年數(shù)字經(jīng)濟時代股權(quán)收購與業(yè)務(wù)整合合同
- 2025年阻燃通風(fēng)軟管項目投資可行性研究分析報告
- 服務(wù)消費券的反饋與效果評估
- 2025年心榮膠囊項目可行性研究報告
- 2025年度城市公園建設(shè)工程施工合同框架協(xié)議
- 自動化儀表工程施工及質(zhì)量驗收規(guī)范
- 邵陽市職工勞動能力鑒定表
- 胎膜早破的護理PPT
- GB/T 308.1-2013滾動軸承球第1部分:鋼球
- 新員工入場安全教育培訓(xùn)課件
- 優(yōu)秀員工榮譽證書模板
- 2023機械工程師考試試題及答案
- 精選裝飾工程室內(nèi)拆除專項施工方案
- 2022年二年級生命安全教育教案
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 公共政策學(xué)(第三版)-課件
評論
0/150
提交評論