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

正文內容

論directx在游戲開發(fā)中的應用(doc畢業(yè)設計論文)(已修改)

2025-07-07 02:22 本頁面
 

【正文】 DirectX在游戲開發(fā)中的應用摘要:當游戲作為一種很重要的娛樂手段被大眾接受時,游戲產業(yè)就已經注定會帶巨大的經濟效益。文章針對目前市場上流行的Windows平臺下的主導開發(fā)工具DirectX對游戲開發(fā)進行初步的探討,以兩個不同類型的游戲的實現過程來研究DirectDraw、Direct3D 在二維和三維圖形處理方面的應用,同時也對DirectSound、DirectInput也進行了初步的研究。關鍵詞:游戲開發(fā) 游戲開發(fā)包 DirectDraw Direct3D DirectMusic DirectInput 游戲引擎Application of DirectX In Game DevelopmentHao xuefang(Department of Computer Science Hubei Normal University Huangshi 435002)Abstract: When Game was accepted by many people as a very important enterainment means,Gameindustry will bring to us enormous economic benefit indisputably. This dissertation aim to the most popular Operating System Windows and using the leading game development tools’ kits DirectX base it, discussing elementary how to develop a emphases is the use of DirectDraw and Direct3D in graphics processing in two dimension and three the simply introduce of DirectSound and DirectInput.Keywords: GameDevelopment DirectXSDK DirectDraw Direct3D DirectMusic DirectInput GameEngine目 錄一、引言…………………………………………………………...1二、游戲開發(fā)所需技術及DirectX簡介………………………….11.DirectX概述…………………………………………….…….12.開發(fā)平面游戲所需要的技術分析……………………………..23.開發(fā)3D游戲所需要的技術分析………………………………3三、平面游戲LeapMan的實現………………………………….41. DirectDraw在二維圖形處理方面的功能分析………………42.LeapMan游戲中圖片素材預置………………………………..73.概要設計與算法分析……………………………….. ………..74.LeapMan的詳細設計……………………………….. ………...10四、三維游戲Pool’s Up實現………………………………….121.三維模型的建立……………………………………………..122.碰撞算法分析………………………………………………..133.Direct3D在Pool’s Up中的應用……………………………15五、DirectInput與DirectSound在游戲開發(fā)中的應用…19六、結束語………………………………………………………..21致 謝………………………………………………………………...22參考文獻…………………………………………………………..23一、引言從2001年開始,游戲作為一種產業(yè)已經漸漸的為中國大眾接受,它所帶來的經濟效益和社會效益更是人們之前沒有估計到的。目前電子競技已經成為一個本科專業(yè),游戲開發(fā)也是“863計劃”中一個重要攻關方向。從事游戲行業(yè)對軟件開發(fā)的人員來說有著很廣闊的前景。游戲開發(fā)相對其他軟件開發(fā)來說特別復雜,它需要解決圖形顯示、網絡傳輸、聲音處理、I/O控制等問題,這些一般都必須借助游戲開發(fā)包(游戲引擎)來實現。圖形技術的解決方案有OpenGL和DirectX,OpenGL是三維圖形的API標準,但DirectX除了能解決三維圖形問題,而且支持2D圖形、音效管理、網絡互連、外設控制等,它作為一套完整的游戲開發(fā)包而成為事實上的行業(yè)標準。本文分別以一個二維游戲和一個三維游戲的開發(fā)過程來論述DirectX在游戲開發(fā)中的應用,向人們展示了各種商業(yè)游戲開發(fā)的基本方法和一般過程。二、游戲開發(fā)所需技術及DirectX簡介1.DirectX概述在Windows環(huán)境中,程序一般不能直接訪問硬件,對硬件功能的利用一般都只能通過能用GDI和MCI等設備接口來實現。游戲對實時性要求特別高,這使得稍大規(guī)模的游戲都無法在Windows GDI環(huán)境下運行。為了解決這個問題,微軟公司開發(fā)出了DirectX SDK。這是一些基于COM技術的組件。在調用DirectX函數或是Method的時候,其實是調用一些DirectX DLL,然后這些DLL再調用顯卡廠商所寫的驅動程序,也就是說真正驅動硬件的是廠商所寫的驅動程序[1],這就使得程序執(zhí)行效率非常高,并且能極大可能的把硬件的全部功能都發(fā)揮起來。同時,DirectX也具有各種硬件仿真功能,如果調用的功能硬件加速器不支持,DirectX就利用自己的仿真加速器來實現同樣的效果。這樣用DirectX編出的游戲不再擔心硬件功能不支持的問題了。DirectX的功能非常強大,它包括以下幾個組件:⑴ DirectDraw直接操縱顯卡,支持圖像的移動、拉伸等各種功能⑵ DirectSound提供低延時的聲音混合系統,支持硬件加速⑶ DirectPlay簡化游戲使用通訊設備的入口,提供通訊功能的集成和多種通訊協議統一接口功能⑷ Direct3D提供三維圖形顯示的支持⑸ DirectInput兼容所有的輸入外設,簡化游戲控制方法⑹ DirectSetup簡化游戲安裝過程,提供多用戶登陸的方法以運行程序⑺ DirectMusic支持MIDI音頻,支持運行時動態(tài)作曲。,新的組件DirectGraphics已經代替了DirectDraw與Direct3D。其他組件的功能也進行了進一步的擴展。DirectX在開發(fā)游戲方面的強大功能將會在本文的論述中看到。目前它的應用范圍已經遠遠的超過了游戲開發(fā)領域,Windows平臺下音頻與視頻的處理大部分也是利用DirectX來實現的。相信今后DirectX的領域會更加廣泛。2.開發(fā)平面游戲所需要的技術DirectDraw技術主要是為了解決二維平面游戲的問題而引入的。在DirectDraw的誕生之前,每個游戲廠商都不得不寫自己的游戲引擎,而這種游戲引擎過多的依賴機器硬件所提供的圖形功能,而且往往會局限在某一種硬件平臺,所以當時的游戲開發(fā)具有相當大的困難。但縱觀各種2D游戲引擎的功能,基本上都有如下幾點[5]:⑴ 直接移動內存中的數據(一般來說是移動圖片)。即可以把一張已經有的圖片從一個內存塊移動到另外一個地方,在游戲中看到的效果就是圖片由一個位置移動到了另外的一個位置⑵ 指定一張圖片中的某一部分顯示出來。很多時候游戲中都會出現一些圖形相同的地方,例如兩位游戲角色的衣服,如果能指定圖片的某一部分顯示在指定的位置,不僅可以提高開發(fā)的靈活性,還可以使游戲所使用的圖片大大減少,這對提高游戲的執(zhí)行效率是非常關鍵的。⑶ 支持ColorKey效果。多張圖片構成一個比較大的場景時,可以指定透明色,圖片中不想要的顏色不顯示出來,給人的感覺就是不同的角色之間的無縫接觸。⑷ 控制顯存中的主顯示區(qū)域(也叫可見區(qū)域)。在游戲中需要高頻率的切換場景時,如果通過不斷的調入內存、顯示、調出內存這樣一個反復的過程來切換圖片,效率將會變得很低。如果能夠控制顯卡中顯示出來的數據區(qū)域,切換時只更換主顯存基址即實現了動畫。有了這種功能后游戲中即使再高頻的切換角色也不會對畫面的流暢性造成任何影響。⑸ 支持多緩沖技術。充分發(fā)揮計算機的并行處理能力,在顯示器輸出圖像的同時,把下一幀將要顯示的圖形拷貝到在另個顯存區(qū)域處理好,顯示的時候只要改變顯卡的顯示區(qū)域基址即可。⑹ 支持字體顯示、調色板技術和繪圖功能。如果要更好的實現游戲的效果,游戲開發(fā)包最好能夠支持下列圖形功能:⑺ 支持半透明效果。⑻ 支持頁面覆蓋,即控制某一圖形始終顯示在最前方。⑼ 支持多種圖形格式。 開發(fā)3D游戲所需要的技術要開發(fā)一個三維游戲,首先要解決的問題就是構造一個虛擬的三維世界,給玩家的感覺如置身在現實世界一樣。當然,用戶能看到的就只有一個顯示平面,三維效果就是能夠觀察到三維世界中的不同的側面。在三維場景顯示出來之前需將三維世界中某一個觀察點看到的內容投影到顯存當中。能夠開發(fā)一個三維游戲的游戲開發(fā)包都具有以下功能[9]:⑴ 構造虛擬的三維世界。這是3D的前提,實際上就是在計算機中建立一個三維坐標系。三維世界中有每一個角色都有方向與位置的概念,這些都可以通過一個坐標系就可以確定。⑵ 支持平移、旋轉、縮放功能。這些功能都是基于坐標變換[14]的。⑶ 支持光照與投影。用算法來模擬現實生活中明暗效果,支持點光源,平行光和聚光燈,支持光線跟蹤與陰影⑷ 支持材質和貼圖?,F實中一個物體有其自身的表現狀態(tài),包括顏色,反光強度和表面的圖案,在計算機的三維世界中顏色與反光強度的需要有材質的支持,而物理表面的圖案則需要貼圖功能來支持。⑸ 支持觀察點與觀察角度。ViewPort決定程序顯示出三維場景的哪一部分,即看到計算機中的哪些場景。⑹ 支持渲染功能。把觀察點視線范圍內的場景投影到計算機屏幕。⑺ 支持外部模型。每一個三維游戲都需要很多物體,這里所述的物體不一定是玩家,它還包括場景中的房屋,樹木等三維物體,當物體太多的時候,每個角色不可能都靠軟件設計師計算得到,如果那樣的話工作量太大了。目前有很多的三維圖形軟件像3DSMAX、Maya等都可以直接建立三維模型,只有游戲開發(fā)包支持把外部的模型直接導入到程序中,在適當的時候把角色調出來顯示,這樣才可能開發(fā)大型的游戲。三、平面游戲LeapMan的實現1.DirectDraw在二維圖形處理方面的功能分析[4]DirectDraw的圖形處理功能非常強大,它可以評估視頻硬件的能力, 只要可能,它就會對其某一特性加以利用。例如,如果你的顯卡支持硬件 Blit, DirectDraw 就會將位圖映射這一操作分派給顯卡來完成,極大的提升運行速度。如果軟件中調用的功能硬件功能不支持時
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1