精彩專題

文檔資料

九遊會客戶端app3D遊戲引擎主要技術特點

九遊會客戶端app3D遊戲引擎主要技術特點

2015-10-31 10:25:39

摘要:本文對九遊會客戶端app3D遊戲引擎主要技術特點進行簡要介紹

 

新一代圖形圖像技術都是基於不斷升級的顯示硬件可編程技術上實現的,新一代的顯示硬件程序代碼形式已經由匯編代碼升級到高級語言代碼,D3D使用的稱為HLSLHigh Level Shader Language),OpenGL使用的稱為GLSLOpenGL Shader Language),利用該技術,開發人員可以對整個三維圖形圖像流水線的每一個環節做細致的控製。本引擎的圖形圖像模塊基於OpenGL圖形API,采用GLSL著色程序控製輸出圖像。
新一代的圖形圖像技術有一個共同的特點,就是越來越多將圖形處理工作從CPU轉移到GPU上進行,令圖形圖像運算獲得高度的硬件加速,同時使CPU有更多空閑去進行物理運動、人工智能等圖形圖像之外的數據運算。越來越多的技術脫離了幾何框架的限製,轉而采用渲染成貼圖材質的方式來實現,這使得很多原先依靠CPU計算,隻能用於離屏渲染的圖像技術能夠轉入GPU進行,獲得顯示硬件的加速,從而達到實時渲染的性能。
引擎還使用了一些硬件優化技術來提升渲染性能:
1.         頂點緩存對象(Vertex Buffer Object)技術,使用該技術將三維幾何數據直接放入顯示硬件的存儲器,省去了大量數據從主存到顯存的傳輸消耗,大大提高渲染性能。
2.         幀緩存對象(Frame Buffer Object)技術,以往渲染的結果都是保存在默認的幀緩存中,要實現後加工特效必須截屏成貼圖材質。使用該技術可以直接將渲染結果輸出到貼圖材質中,就省去了以往截屏的像素填充消耗;該技術還支持設置多個渲染目標緩存,結合硬件編程技術可以在一次渲染中同時向多個目標輸出色彩,使得原先需要渲染多個層次才能實現的特效隻需要一次渲染就能實現。本引擎的HDR效果、陰影貼圖以及各種後加工特效都是通過FBO技術實現的
2.1.    DOT3凹凸映射貼圖技術
預生成精細法線圖,利用頂點著色程序(Vertex Shader Program)進行DOT3矩陣變換,將其映射到粗糙三維模型的表麵,通過片斷著色程序(Fragment Shader Program)應用精細法線圖和Phong光照算法模型進行光照處理,從而在低精度的模型表麵實現高細節度的光照效果。這是降低幾何細節度要求,實現高細節圖像效果的代表技術之一。
擴展:在此基礎上引入高度圖,結合視點位置對輸出紋理作進一步的調整,可實現更加立體的效果,該技術稱為視差貼圖技術(Parallax Mapping)。如果對高度圖作進一步應用,在頂點著色程序中根據高度圖內容進行相關運算,生成並向幾何流水線中加入新的幾何信息,同時對幾何和像素細節度進行雙管齊下的充實,甚至可為平麵紋理生成相應的自身投影(Self Shadow),實現更為真實的光照效果,該技術稱為位移貼圖技術(Displacement Mapping)。
隨著計算機硬件的發展,由於計算量龐大而一直無法實現實時渲染的光線跟蹤模型,如今也逐漸成為實時三維光照算法模型的選擇之一。光線跟蹤算法以計算光能傳遞為思路,遵循直線傳播、反射及折射等物理規律,以一定密度跟蹤光源發射出的光線路徑,近似計算所有幾何表麵接受到的光線能量,從而獲得每個幾何表麵被照亮的程度。該技術能夠實現全局光照(Global Illumination),間接光照(Indirect Lighting),區域光照(Area Lighting),近似的無限反射(Infinite Light Bounces),光線透射(Light Bleeding),並能自然的實現柔和陰影,從而獲得最接近真實的光照效果。這是下一步準備加入引擎的技術之一。
 
未使用凹凸映射貼圖的圖像      使用了凹凸映射貼圖的圖像
 

[1] [2] [3] [4] [5] [下一頁]