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

正文內(nèi)容

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

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

下一頁面
  

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