資源描述:
《試析3d游戲引擎的研究與實現》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、武漢理工大學碩士學位論文3D游戲引擎的研究與實現姓名:諶顯申請學位級別:碩士專業(yè):計算機應用技術指導教師:楊克儉20080501武漢理工大學碩士學位論文摘要近幾年來,我國游戲產業(yè)發(fā)展迅猛。3D游戲引擎則是整個游戲產業(yè)的核心技術。3D游戲引擎技術是-I'-J綜合技術,涉及了計算機圖形學、網絡、人工智能等領域,是當前研究的熱點之一。本文將游戲引擎分為底層引擎和高層引擎。底層引擎主要提供內存管理、資源管理、數學庫、日志管理等基本功能。高層引擎則實現場景的管理和渲染、角色動畫、圖形用戶界面(GUI)以及反映游戲世界中的規(guī)律的規(guī)則系統(tǒng)
2、。本文依照這個框架,對3D游戲引擎的各個模塊做了研究和探討,并實現了其中的部分功能。本文所做的主要研究工作和創(chuàng)新性體現在以下幾個方面:1)設計并實現了一個基于內存管理的資源管理器。資源管理器負責將各種游戲資源從磁盤載入到內存,并管理這些資源占用的內存空間。此外,本文實現了LRU的資源調度策略。21傳統(tǒng)的地形渲染算法著重于如何更快、更真實的渲染一塊地形,而沒有考慮到超大規(guī)模地形不太可能單獨作為一塊地形載入內存并渲染。對于超大規(guī)模地形的渲染,本文采用了分塊渲染的方法并提出了“可視區(qū)域快速定位方法”以及“基于掃描線填充的地形渲染算
3、法”。3)本文分析了場景圖在場景管理中的缺點,提出了先對場景均勻分塊,然后用場景圖來管理每個分塊的方法。這種方法能夠在碰撞檢測的初步檢測階段排除大量不相交的物體對。此外,它能夠和分塊地形系統(tǒng)有機結合起來。鍆本文深入研究了A·尋路算法,并在此基礎上提出了二維平面上的矢量尋路算法,將A幸算法的應用范圍從二維網格拓展到二維的矢量圖。5)設計并實現了一個由婦腳本語言控制的GUI系統(tǒng)。此外,在研究分析的基礎上,本文對一些關鍵問題提出了一些可能改進或實現的假設。本文實現了游戲引擎中的部分模塊,經過測試,這些模塊的性能基本滿足實時性的要求
4、。本文的研究工作分別得到下述項目的資助:1.國家自然科學基金項目“分布交互三維視景行為一特征建模方法研究",批準號60073057。2.國家科技型中小企業(yè)技術創(chuàng)新基金項目“分布式交互三維視景開發(fā)平臺",立項代碼:04c26214201285,批準文號:國科發(fā)計字(2004)460號。關鍵詞:三維游戲引擎,資源管理,場景管理,A+尋路算法,圖形用戶界面武漢理工大學碩士學位論文AbstractGameindustryhasrapidlydevelopedinChinarecentyears.3Dgameengineisthepi
5、votaltechniqueofthewholeindustry.3Dgameengineisasynthesistechniqueofcomputergraphics,networking,artificialintelligence,etc,whichmakesitahotsubjectofresearch..Gameengineisdividedintotwopartsinthisthesis:low-levelengineandhigh-levelengine.啊1cformeroneprovidesthebasic
6、functionsofmemorymanagement,ra$ourcemanagement,mathlib,logmanagement,etc.Thelateroneimplementsscenemanagementandrendering,animation,GUIsystemand‘‘Rules-System”whichrepresentstheorderlinessesofthevirtualgameworld.Themainworksandinnovationsofthisthesisarelistbelow:1)
7、Designandimplementaresourcemanagerbasedonmemorymanagement.There爆oul'cemanagerloadsgameresougc矗$intomemoryandtakeschargeofthememoryspaceoccupiedbytheseresollrees.Moreover,LRUschedulestrategyisimplemented.2)Mostoftraditionalterrainrenderingalgorithmsfocusonhowtorende
8、rablockofterrainfasterandgetmorerealisticimagewhileignorethefactthatalarge-scaleterrainCall’tbeloadedintomemorya8awholeatonce.Tosolvethisproblem,