freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于opengl的虛擬校園開發(fā)(已修改)

2025-07-04 01:18 本頁(yè)面
 

【正文】 基于OpenGL的虛擬校園開發(fā)結(jié)題報(bào)告1 用到的開發(fā)工具介紹OpenGL:嚴(yán)格講,OpenGL被定義為“圖形硬件的一種軟件接口”。從本質(zhì)上說,它是一個(gè)3D圖形和模型庫(kù),具有高度可移植性,并且具有非??斓乃俣?。OpenGL并不像c或c++一樣是門編程語言,它更像一個(gè)C運(yùn)行時(shí)的函數(shù)庫(kù),提供一些預(yù)包裝的功能。事實(shí)上并不存在像“OpenGL程序”之類的東西,而是開發(fā)人員所編寫的程序恰好使用了OpenGL作為它的應(yīng)用程序編程接口之一。一般而言,OpenGL是供那些專門設(shè)計(jì)用來顯示和操縱3D圖形的計(jì)算機(jī)硬件所用的。也可以實(shí)現(xiàn)純軟件的OpenGL泛型。OpenGL是獨(dú)立于視窗操作系統(tǒng)或其它操作系統(tǒng)的,亦是網(wǎng)絡(luò)透明的。它最早是SGI為圖形工作站開發(fā)的。隨著OpenGL成為高性能圖形與交互式視景處理的工業(yè)標(biāo)準(zhǔn),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植, OpenGL 幫助程序員實(shí)現(xiàn)在 PC、工作站、超級(jí)計(jì)算機(jī)等硬件設(shè)備上的高性能、極具沖擊力的高視覺表現(xiàn)力圖形處理軟件的開發(fā)。目前幾乎所有的3D圖形顯示卡都已經(jīng)支持OpenGL。OpenGL的應(yīng)用范圍已經(jīng)從游戲開發(fā)、三維設(shè)計(jì)等逐步擴(kuò)展到3D圖形、圖像處理、廣告、動(dòng)畫、虛擬現(xiàn)實(shí)、科學(xué)計(jì)算可視化、仿真等多種領(lǐng)域多個(gè)層面。OpenGL可以與Visual C++緊密接口,而且使用簡(jiǎn)便,效率高。3ds max:3D Studio Max,常簡(jiǎn)稱為3ds Max或MAX,是Autodesk公司開發(fā)的基于PC系統(tǒng)的三維動(dòng)畫渲染和制作軟件。其前身是基于DOS操作系統(tǒng)的3D Studio系列軟件,最新版本是2011。是目前市場(chǎng)上最流行的三維造型和動(dòng)畫制作軟件之一,也是當(dāng)前世界上銷售量最大的三維建模、動(dòng)畫及渲染解決方案之一。在當(dāng)今的數(shù)字化時(shí)代,3ds max為用戶提供了極為強(qiáng)大的三維制作解決方案,在諸如建筑,工業(yè)機(jī)械設(shè)計(jì),電影特效制作等方面,3ds max都能為人們提供完善的三維制作和實(shí)現(xiàn)引擎在影視特效方面也有一定的應(yīng)用。而在國(guó)內(nèi)發(fā)展的相對(duì)比較成熟的建筑效果圖和建筑動(dòng)畫制作中,3ds max的使用率更是占據(jù)了絕對(duì)的優(yōu)勢(shì)。根據(jù)不同行業(yè)的應(yīng)用特點(diǎn)對(duì)3ds max的掌握程度也有不同的要求,建筑方面的應(yīng)用相對(duì)來說要局限性大一些,它只要求單幀的渲染效果和環(huán)境效果,只涉及到比較簡(jiǎn)單的動(dòng)畫;片頭動(dòng)畫和視頻游戲應(yīng)用中動(dòng)畫占的比例很大,特別是視頻游戲?qū)巧珓?dòng)畫的要求要高一些;影視特效方面的應(yīng)用則把3ds max的功能發(fā)揮到了極至。VC++:MicrosoftVisual C++,(簡(jiǎn)稱Visual C++、MSVC、VC++或VC)微軟公司的C++開發(fā)工具,具有集成開發(fā)環(huán)境,可提供編輯C語言,C++以及C++/CLI等編程語言。VC++整合了便利的除錯(cuò)工具,特別是整合了微軟視窗程式設(shè)計(jì)(Windows API)、三維動(dòng)畫DirectX API,Microsoft .NET框架。它是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開發(fā)多種程序等優(yōu)點(diǎn),而且通過簡(jiǎn)單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫(kù)接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。2項(xiàng)目實(shí)施步驟: OpenGl的學(xué)習(xí):通過對(duì)OpenGL的理論學(xué)習(xí),我們了解了OpenGL的圖形生成原理,通常來講在計(jì)算機(jī)上生成三維圖形一般需要經(jīng)過以下幾個(gè)步驟:①建立模型;②選擇有利的視角;③顏色處理;④光照和材質(zhì)處理;⑤紋理貼圖;⑥圖形增強(qiáng);⑦繪制和顯示?,F(xiàn)對(duì)此過程一一進(jìn)行描述。真實(shí)世界里的多數(shù)物體都可以在計(jì)算機(jī)中用簡(jiǎn)單的點(diǎn)、線、多邊形及過程式方法來描述。在OpenGL中提供了豐富的基本圖元繪制命令,從而可以方便地繪制物體。此外,還提供復(fù)雜的三維物體,如球、錐、多面體、茶壺以及復(fù)雜曲線和曲面(例如B233。zier、NURBS等曲線或曲面)的繪制函數(shù)。1)繪圖的一些基本操作① glClear*語句的作用是用當(dāng)前緩沖區(qū)清除值,也就是glClearColor或者glClearDepth等函數(shù)所指定的值來清除指定的緩沖區(qū)。比如:  glClearColor(,,)?! lClear(GL_COLOR_BUFFER_BIT)?! 〉谝粭l語句表示清除顏色設(shè)為黑色,第二條語句表示把整個(gè)窗口清除為當(dāng)前的清除顏色,glClear*的唯一參數(shù)表示需要被清除的緩沖區(qū)。②glutMainLoop,進(jìn)行一個(gè)消息循環(huán)。③使用void glFlush( void )。和void glFinish( void )。兩個(gè)函數(shù)強(qiáng)制完成繪圖操作。2)繪制基本的幾何圖形OpenGL繪制的基本幾何圖元由函數(shù)void glBegin( GLenum mode)。void glEnd( void)。 完成。mode指定圖元的類型,如下圖。另外OpenGL的工具庫(kù)GLUT還提供了一些繪制三維物體的函數(shù):在繪制過程中可以設(shè)置線寬,虛線實(shí)線,法線等狀態(tài),另外還可以使用頂點(diǎn)數(shù)組繪制幾何圖形。3)面和體① 對(duì)于多邊形的面(三角形,四邊形同樣適用),OpenGL定義了與線型相似的填充模式??梢杂胓lPolygonMode*函數(shù)實(shí)現(xiàn)。② 一般約定為“頂點(diǎn)以逆時(shí)針順序出現(xiàn)在屏幕上的面”為“正面”,另一個(gè)面即成為“反面”。 可以通過glFrontFace函數(shù)來交換“正面”和“反面”的概念。glFrontFace(GL_CCW)。//設(shè)置CCW方向?yàn)椤罢妗?,CCW即CounterClockWise,逆時(shí)針glFrontFace(GL_CW)。//設(shè)置CW方向?yàn)椤罢妗?,CW即ClockWise,順時(shí)針③ 在三維空間中,一個(gè)多邊形雖然有兩個(gè)面,但我們無法看見背面的那些多邊形,而一些多邊形雖然是正面的,但被其他多邊形所遮擋。如果將無法看見的多邊形和可見的多邊形同等對(duì)待,無疑會(huì)降低我們處理圖形的效率。在這種時(shí)候,可以將不必要的面剔除。首先,使用glEnable(GL_CULL_FACE)。來啟動(dòng)剔除功能(使用glDisable(GL_CULL_FACE)可以關(guān)閉之)然后,使用glCullFace來進(jìn)行剔除。glCullFace的參數(shù)可以是GL_FRONT,GL_BACK或者GL_FRONT_AND_BACK,分別表示剔除正面、剔除反面、剔除正反兩面的多邊形。④ 多邊形可以進(jìn)行鏤空,使用glEnable(GL_POLYGON_STIPPLE)。來啟動(dòng)鏤空模式(使用glDisable(GL_POLYGON_STIPPLE)可以關(guān)閉之)。然后,使用glPolygonStipple*來設(shè)置鏤空的樣式。voidglPolygonStipple(constGLubyte*mask)。 其中的參數(shù)mask指向一個(gè)長(zhǎng)度為128字節(jié)的空間,它表示了一個(gè)32*32的矩形應(yīng)該如何鏤空。OpenGL圖形庫(kù)的變換包括基本變換和投影變換,基本變換有平移、旋轉(zhuǎn)、縮放三種種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。1)幾何變換物體是相對(duì)遠(yuǎn)點(diǎn)定義與繪制的,所以移動(dòng)坐標(biāo)原點(diǎn)就相當(dāng)于物體的平移運(yùn)動(dòng)。① 平移變換:void glTranslatef (x, y, z)void glTranslated (x, y, z)函數(shù)分別采用浮點(diǎn)數(shù)和整數(shù),將原點(diǎn)移動(dòng)到(x, y, z)位置。② 旋轉(zhuǎn)變換:Void glRotatef (angle, x, y, z)Void glRotated (angle, x, y, z)函數(shù)分別采用浮點(diǎn)數(shù)與整數(shù),繞著從原點(diǎn)指向(x, y, z)的射線,逆時(shí)針旋轉(zhuǎn)angle(單位:度)。③ 縮放變換:Void glScalef (a, b, c)Void glScaled (a, b, c)函數(shù)分別采用浮點(diǎn)數(shù)與整數(shù),將坐標(biāo)系的x軸、y軸、z軸分別縮放a、b、c倍。坐標(biāo)系中的物體將同步縮放。2)投影變換平行投影使用函數(shù)void
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1