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

正文內(nèi)容

基于opengl的臺(tái)球游戲的設(shè)計(jì)論文-全文預(yù)覽

2025-07-09 16:51 上一頁面

下一頁面
  

【正文】 3f()定義的頂點(diǎn),由函數(shù)glTexCoord2f()定義紋理坐標(biāo)。要完成桌面的紋理,還需要基本圖元繪制,在OpenGL中,所有的幾何物體最終都由有一定順序的頂點(diǎn)集來來描述。紋理圖像是方形數(shù)組,紋理坐標(biāo)通??梢远x成一、二、三或四維形式,稱為s、t、r和q坐標(biāo),以區(qū)別于物體坐標(biāo)(x,y,z,w)和其他的坐標(biāo)。因此,OpenGL提供了3種紋理映射的方式,函數(shù)如下所示:void glTexEnv{if}[v](GLenum target,GLenum pname,TYPE param);參數(shù)target必須是GL_TEXTURE_ENV;若參數(shù)pname是GL_TEXTUR E_ENV _MODE,則參數(shù)param可以是GL_DECAL、GL_MODULATE或GL_BLEND,以說明紋理值與原來表面顏色的處理方式;若參數(shù)pname是GL_TEXTURE_EN V_COLOR,則參數(shù)是包含了4個(gè)浮點(diǎn)數(shù)(分別是R、G、B、A分量)的數(shù)值,這些值只在采用GL_BLEND紋理函數(shù)時(shí)才有用。若選擇GL_NEAREST則采用坐標(biāo)最靠近像素中心的紋素,這有可能使圖像走樣;若選擇GL_LINEAR則采用最靠近像素中心的4個(gè)像素的加權(quán)平均值。 放大和縮小濾波方式Table magnification and deflation filter mode參數(shù)值GL_TEXTURE_WRAP_SGL_CLAMP,GL_REPEATGL_TEXTURE_WRAP_TGL_CLAMP,GL_REPAETGL_TEXTURE_MAG_FILTERGL_NEAREST,GL_LINEARGL_TEXTURE_MIN_FILTERGL_NEAREST, GL_NEAREST_MIPMAP_NEARESTGL_LINEAR,GL_NEAREST_MIPMAP_LINEARGL_LINEAR_MIPMAP_NEARESTGL_LINEAR_MIPMAP_LINEAR一般來說,紋理圖像為正方形或長方形。首次綁定一個(gè)紋理對(duì)象名(創(chuàng)建一個(gè)紋理對(duì)象)時(shí),參數(shù)target指定了維數(shù),其取值為GL_TEXTURE_1D、GL_TEXTURE_2D、GL_TEXTURE_3D或GL_TEXTURE_CUBE_MAP。被保存的紋理屬性包括縮小濾波方法和放大濾波方法、環(huán)繞模式、邊框顏色和紋理優(yōu)先級(jí)。參數(shù)pixels包含了紋理圖像數(shù)據(jù),這個(gè)數(shù)據(jù)描述了紋理圖像本身和它的邊界。參數(shù)width和height給出了紋理圖像的長度和寬度,參數(shù)border為紋理邊界寬度,它通常為0,width和height必須是2m+2b,這里m是整數(shù),長和寬可以有不同的值,b是border的值。臺(tái)球桌面的設(shè)計(jì)流程,:桌面使用圖形的繪制材質(zhì)和光照的設(shè)置紋理初始化和指定紋理桌面繪制 桌面流程圖Figure playground flowchart 根據(jù)OpenGL紋理映射繪制主桌面,桌角和桌邊。 在MFC中使用OpenGL設(shè)計(jì)臺(tái)球游戲根據(jù)上述三維虛擬臺(tái)球游戲的功能要求,將該游戲程序劃分為以下模塊,:場(chǎng)景模塊臺(tái)球界面模塊模型控制模塊運(yùn)動(dòng)模擬模塊窗口模塊幾何模型模塊數(shù)學(xué)模型模塊變換模塊桌面箭頭球體 界面流程圖Figure interface flowchart● 窗口模塊 創(chuàng)建windows窗口處理消息● 場(chǎng)景模塊 管理整個(gè)演示程序中的對(duì)象● 臺(tái)球界面模塊 用于游戲界面的顯示● 數(shù)學(xué)模型模塊 用于大量的矩陣運(yùn)算● 模型控制模塊 鍵盤鼠標(biāo)控制模型位置和方向及運(yùn)動(dòng)● 幾何模型模塊 幾何模型的繪制● 桌面 用于承載臺(tái)球的桌面的繪制(主桌面、桌角和桌邊)● 球體 用于運(yùn)動(dòng)球體的繪制(有一個(gè)母球、7個(gè)藍(lán)球和8個(gè)紅球)● 箭頭 用于控制力量的箭頭的繪制● 運(yùn)動(dòng)模擬模塊 解決球桿與球、球與球及球與球桌邊界的碰撞和運(yùn)動(dòng)● 變換模塊 用于實(shí)現(xiàn)觀察者的變換整個(gè)場(chǎng)景的繪制是程序的核心,主要包括靜態(tài)場(chǎng)景和動(dòng)態(tài)場(chǎng)景兩部分內(nèi)容的繪制;模型控制模塊用于實(shí)現(xiàn)球體的運(yùn)動(dòng),球體的碰撞的具體實(shí)現(xiàn),視角變換;幾何模型模塊是用于完成一些矢量計(jì)算和矩陣的計(jì)算。是臺(tái)球游戲核心框架。(2)控制力量框架,在這里可以顯示選擇的力量的大小,根據(jù)顯示線條的長短來調(diào)整對(duì)臺(tái)球球桿的力量的控制,利用鼠標(biāo)來改變箭頭的方向改變對(duì)球桿的方向的改變。主要使用BMP文件的數(shù)據(jù)格式完成對(duì)桌面繪制。例如,以透視投影方式觀察桌面時(shí),離視點(diǎn)遠(yuǎn)的磚塊的尺寸就會(huì)縮小,而離視點(diǎn)較近的就會(huì)大些。 紋理映射在三維圖形繪制中,紋理映射是廣泛使用的,同時(shí)紋理映射也是一個(gè)相當(dāng)復(fù)雜的過程,采用一般的技術(shù),紋理映射將是一個(gè)很浩大的工程,OpenGL提供了一種簡單的紋理映射的方法,它可以將掃描的物體,真實(shí)紋理映射到繪制的三維物體的表面,從而大大減少了紋理映射的工作。 光照與材質(zhì)的關(guān)系創(chuàng)建光源和材質(zhì)后,如果不啟用光照處理,頂點(diǎn)的顏色由當(dāng)前顏色值確定,啟用光照處理后,頂點(diǎn)顏色計(jì)算將在視覺坐標(biāo)系按光照計(jì)算公式進(jìn)行。如果一個(gè)物體在青色光的照射下呈現(xiàn)藍(lán)色,只需設(shè)定物體的環(huán)境色和擴(kuò)散色均為藍(lán)色即可。物體材質(zhì)影響物體的顏色、反光度、透明度等。定位光源的確定位置決定了場(chǎng)景中物體表面的入射方向。OpenGL中光源分為定向光源和定位光源兩種。其中l(wèi)ight指定所定義光源的名稱,OpenGL至多支持8個(gè)光源,分別為GL_LIGHTO,GL_ LIGHT1…GL_ LIGHT7。③漫反射光來自一個(gè)方向,但作用于物體表面上后將沿各個(gè)方向均勻散射。從物體表面反射出來的光的強(qiáng)度取決于光源的位置、光強(qiáng)、物體材質(zhì)、物體表面位置、物體表面法線和視點(diǎn)的位置。一束白光含有所有可見波長的光。OpenGL可以控制光照與物體的關(guān)系,產(chǎn)生多種不同的視覺效果。定義一個(gè)附加裁減平面的函數(shù)是glClipPlane()。用于增加圖形的真實(shí)感。OpenGL將物體的各個(gè)頂點(diǎn)通過各種變換矩陣的作用影射到屏幕上。圖形變換一般是指對(duì)圖形的幾何信息經(jīng)過幾何變換后產(chǎn)生的新圖形.主要包括幾何變換、裁減變換、投影變換和視區(qū)變換 。(4)景物模型光柵化把景物模型的數(shù)學(xué)描述以及色彩信息轉(zhuǎn)換至計(jì)算機(jī)屏幕上的像素,這個(gè)過程也就是光柵化(rasterization)。整個(gè)流程操作的最后,圖形片元都要進(jìn)行一系列的逐個(gè)片元操作,這樣最后的象素值BZ送入幀緩沖器實(shí)現(xiàn)圖形的顯示。整個(gè)OpenGL的基本工作流程如下圖: OpenGL基本工作流程圖Figure OpenGL basic of flaw chart其中幾何頂點(diǎn)數(shù)據(jù)包括模型的頂點(diǎn)集、線集、多邊形集,這些數(shù)據(jù)經(jīng)過流程圖的上部,包括運(yùn)算器、逐個(gè)頂點(diǎn)操作等;圖像數(shù)據(jù)包括象素集、影像集、位圖集等,圖像象素?cái)?shù)據(jù)的處理方式與幾何頂點(diǎn)數(shù)據(jù)的處理方式是不同的,但它們都經(jīng)過光柵化、逐個(gè)片元(Fragment)處理直至把最后的光柵數(shù)據(jù)寫入幀緩沖器。(6)加陰影和紋理的繪圖方式(shadows和textures):在模型表面貼上紋理甚至于加上光照陰影,使得三維景觀像照片一樣。(2)深度優(yōu)先網(wǎng)絡(luò)繪制方式(depth_cued):用網(wǎng)格線方式繪圖,模擬人眼看物體的方式,遠(yuǎn)處的物體比近處的物體要暗一些。用戶必須從點(diǎn)、線、面等最基本的圖形單元開始構(gòu)造自己的三維模型。第二章 OpenGL 3D游戲開發(fā)技術(shù) OpenGL 工作流程OpenGL實(shí)際上是一種圖形與硬件的接口。在Windows環(huán)境下安裝GLUT,首先要去下載一個(gè)GLUT庫的安裝包,然后解壓以后有五個(gè)文件,(這個(gè)GL一般是在自己安裝的Mircosoft Visual C++下面VC98 下面一個(gè)inlcude文件夾里面)。 VC++與OpenGL關(guān)系現(xiàn)在流行的主流操作系統(tǒng)是Windows 操作系統(tǒng),Windows操作系統(tǒng)主流的編譯環(huán)境Visual Studio,Broland C++ Builder,DevC++等,它們都是支持OpenGL的。例如:OpenGL提供一系列的三維圖形單元供開發(fā)者調(diào)用;OpenGL提供了一系列的圖形變換函數(shù);OpenGL提供了一系列的外部設(shè)備訪問函數(shù),是開發(fā)者可以方便的訪問鼠標(biāo)、鍵盤、空間球、數(shù)據(jù)手套等。與其他圖形程序程序接口不同,OpenGL提供了十分清晰明了的圖形函數(shù),因此初級(jí)的程序設(shè)計(jì)員也能利用OpenGL的圖形處理能力很快的設(shè)計(jì)出三維圖形以及三維交互軟件。 OpenGL基礎(chǔ)的介紹(1)采用OpenGL 的原因如下:①單純用VC++很難設(shè)計(jì)出高性能的三維圖形工具,目前圖形開發(fā)包DirectX適于游戲開發(fā)以及加強(qiáng)多媒體性能等方面,而OpenGL則可以制作出更順暢的3D效果,且OpenGL性能優(yōu)于DirectX;②由于Microsoft公司在Win95以后推出的Windows操作系統(tǒng)中提供OpenGL圖形標(biāo)準(zhǔn),尤其是OpenGL三維圖形加速卡和微機(jī)圖形工作站的推出,人們可以在微機(jī)上實(shí)現(xiàn)三維圖形應(yīng)用,如CAD設(shè)計(jì)。Mircrosoft Visual C++現(xiàn)在的版本比較多,比如有Mircrosoft Visual C++ ,Mircrosoft Visual C++ 2005,Mircrosoft Visual C++2008等等。 Visual C++ Visual C++ 提供了一個(gè)可視化編程的集成開發(fā)環(huán)境:Visual Studio(又名Developer Studio)。Windows讓這這一切成真,因?yàn)橐粋€(gè)應(yīng)用程序占據(jù)一個(gè)窗口,所有窗口都有相同的基本外觀和感覺。在視覺階段,借助計(jì)算機(jī)圖形學(xué)技術(shù)使人機(jī)交互能夠大量利用顏色、形狀等視覺信息,發(fā)揮人的形象感知和形象思維的潛能,提高了信息傳遞的效率。那圖形用戶界面是由窗口(Windows)、圖標(biāo)(Icons)、菜單(Menus)、指示器(PointingDevice)四位一體,形成桌面(Desktop)。所以該課題的應(yīng)用前景十分廣闊,不但鍛煉了三維圖形技術(shù)的實(shí)現(xiàn)能力,還提高了編程的總體思路,大大提高編程水平。鑒于時(shí)間、技術(shù)、設(shè)備、資源等各方面的原因,我現(xiàn)在還無法開發(fā)出一個(gè)完整的網(wǎng)絡(luò)游戲,只能研究其最基礎(chǔ)的部分,在這里我們將開發(fā)出一個(gè)小型的三維臺(tái)球游戲。場(chǎng)景的幾何描述直接影響了圖形的復(fù)雜性和圖形繪制的計(jì)算耗費(fèi),選擇合理的有效的數(shù)據(jù)表示和輸入手段是極其重要。軍事指揮員可以面對(duì)用三維圖形技術(shù)生成的戰(zhàn)場(chǎng)地形,指揮具有真實(shí)感的三維飛機(jī)、軍艦、坦克向目標(biāo)開進(jìn)并分析戰(zhàn)斗方案的效果。計(jì)算機(jī)三維動(dòng)畫技術(shù)被廣泛的應(yīng)用于許多方面。該游戲的一個(gè)重要特點(diǎn)是利用了OpenGL和VC++制作,通過模型建立、光源設(shè)置、材質(zhì)設(shè)置、紋理處理、碰撞檢測(cè)、運(yùn)動(dòng)模擬等將真實(shí)世界中的臺(tái)球游戲在計(jì)算機(jī)中再現(xiàn)?;贠penGL的臺(tái)球游戲設(shè)計(jì)摘要 2Abstract. 2引言 4第一章 開發(fā)平臺(tái)的選擇和OpenGL 6 開發(fā)平臺(tái)介紹 6 在開發(fā)平臺(tái)下選擇的開發(fā)工具 6 Visual C++ 6 OpenGL基礎(chǔ)的介紹 7 VC++與OpenGL關(guān)系 8第二章 OpenGL 3D游戲開發(fā)技術(shù) 9 OpenGL 工作流程 9 OpenGL 圖形操作步驟 10 OpenGL 游戲開發(fā)需要的技術(shù) 11 11 光照 11 材質(zhì) 12 光照與材質(zhì)的關(guān)系 13 紋理映射 13第三章 臺(tái)球游戲具體實(shí)現(xiàn) 15 在MFC中設(shè)計(jì)游戲顯示的框架 15 在MFC中使用OpenGL設(shè)計(jì)臺(tái)球游戲 15 使用OpenGL具體實(shí)現(xiàn)臺(tái)球桌面 16 使用OpenGL具體實(shí)現(xiàn)臺(tái)球球體 21 使用OpenGL具體實(shí)現(xiàn)繪制方向箭頭 25 利用OpenGL實(shí)現(xiàn)變換 27 數(shù)學(xué)模型實(shí)現(xiàn) 29 運(yùn)動(dòng)模型實(shí)現(xiàn) 31第四章 總結(jié)與展望 39 研究內(nèi)容總結(jié) 39 存在的不足和未來的工作 39參考文獻(xiàn) 39致 謝 40基于OpenGL的臺(tái)球游戲設(shè)計(jì)摘要:OpenGL被認(rèn)為是高性能圖形和交互式視景處理的標(biāo)準(zhǔn),可以制作出更順暢的3D效果。該游戲主要完成了游戲的界面的設(shè)計(jì),以及游戲中球體運(yùn)動(dòng),碰撞的實(shí)現(xiàn)。這種技術(shù)已經(jīng)把人和計(jì)算機(jī)的力量以一種直覺而自然的方式加以統(tǒng)一,這種革命性的變化無疑將極大地提高人們的工作效率。醫(yī)生可以從病人的三維掃描圖像分析病人的病狀。因此,所要解決的主要問題有四個(gè):一是如何用數(shù)學(xué)方法建立所需三維場(chǎng)景的幾何描述,并將它們輸入到計(jì)算機(jī)中,這部分工作由三維實(shí)體造型系統(tǒng)完成。四是計(jì)算機(jī)場(chǎng)景中所有可見面的顏色,這就需要根據(jù)基于光學(xué)物理的光照明模型計(jì)算機(jī)可見面投射到觀察者眼中的光亮度的大小和色彩組成,并將它換成適合圖形設(shè)備的顏色值,從而確定投影畫面上每一象素的顏色,最終生成圖形。以及如何利用跟蹤算法來跟蹤臺(tái)球,利用跟蹤算法求得球運(yùn)動(dòng)速度和方向,最終確定球是落袋還是靜止在桌面上某一個(gè)位置。我們?yōu)槭裁匆x擇Windows XP中文版作為開發(fā)平臺(tái),主要是由于XP操作系統(tǒng)是以圖形用戶界面的主要優(yōu)勢(shì)的操作系統(tǒng)。在符號(hào)階段,用戶面對(duì)的只有單一文本符號(hào),雖然離不開視覺的參與,但視覺信息是非本質(zhì)的,本質(zhì)的東西只有符號(hào)和概念。圖形用戶界面使得用戶不再需要花費(fèi)長的時(shí)間學(xué)習(xí)如何使用極速那就或掌握新程序。經(jīng)過認(rèn)真分析其優(yōu)缺點(diǎn),結(jié)合我們選擇的OpenGL硬件接口,我們選擇了Microsoft 公司推出的Visual C++ 作為3D游戲的開發(fā)工具。使用Developer Studio,可以完成創(chuàng)建、調(diào)試、修改應(yīng)用程序等的各種操作。齊全的功能使Visual C++ 。它包括一百多個(gè)圖形函數(shù),開發(fā)者可以用這些函數(shù)來簡歷三維模型和進(jìn)行三維實(shí)時(shí)交互。長期以來從事三維圖形開發(fā)的技術(shù)人員都不得不在自己的程序中編寫矩陣變換、外部設(shè)備訪問等函數(shù),為調(diào)用制這些與自己的軟件開發(fā)目標(biāo)關(guān)系不十分密切的函數(shù)費(fèi)腦筋,而OpenGL正是提供了一種直觀的編程環(huán)境,它提供了一系列函數(shù)大大地簡化了三維圖形程序
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1