【摘 要】文章主要針對3D游戲圖形渲染引擎的實現(xiàn)進行分析,結(jié)合當前社會發(fā)展以及電子游戲的不斷革新等為出發(fā)點,積極從游戲圖形渲染引擎概述、3D游戲圖形渲染引擎具體設(shè)計、3D游戲圖形渲染引擎設(shè)計的應(yīng)用實現(xiàn)等方面進行深入研究探索,主要研究目的在于進一步加強電子游戲中3D游戲圖形渲染引擎技術(shù),更好的提高電子游戲設(shè)計質(zhì)量,促進電子游戲的革新進步。
【關(guān)鍵詞】3D游戲;圖形渲染引擎;實現(xiàn)分析
在科學技術(shù)不斷發(fā)展進步基礎(chǔ)上,電子游戲逐漸開始向數(shù)字游戲形式上靠攏,數(shù)字游戲成為計算機科學技術(shù)發(fā)展產(chǎn)業(yè)中潛力巨大的發(fā)展技術(shù)領(lǐng)域,在很多國家中,對這種技術(shù)形式非常重視,并且游戲產(chǎn)業(yè)的收入逐漸超出傳統(tǒng)的娛樂產(chǎn)業(yè)數(shù)倍。在游戲研究開發(fā)期間,游戲引擎非常重要,當前電子游戲中非常重視圖形渲染引擎的應(yīng)用以及革新,特別是在3D技術(shù)發(fā)展基礎(chǔ)下,游戲圖形渲染引擎越來越復雜,從客觀上來講,游戲圖形渲染引擎的應(yīng)用,對游戲畫面以及視覺具有直接影響。
一、淺析游戲引擎
游戲引擎對游戲的畫面非常重要,在電子游戲不斷發(fā)展基礎(chǔ)上,游戲玩家對游戲的畫面要求越來越嚴格,同時游戲畫面設(shè)計在也逐漸復雜,在這種發(fā)展基礎(chǔ)上,需要不斷提升游戲的實時響應(yīng)特點,游戲代碼的長度也在不斷增加,在不斷減少游戲研究開發(fā)成本基礎(chǔ)上,需要將游戲中一些常用代碼設(shè)置成模塊的形式,并且確定模塊的應(yīng)用接口,這樣就形成一種引擎,帶動游戲畫面的運行,這種方式被稱之為游戲引擎。在正常情況下,游戲的引擎可以為一個,也可以為多個,,模塊代碼能夠重復使用,對游戲中的一些功能進行處理,激發(fā)出不同游戲中的性能。不同的模塊數(shù)據(jù)庫中能夠包含不同功能上的模塊形式,每個模塊自身的程序包含一個程序接口,通過這個接口接受到模塊,將模塊中的模型、關(guān)卡以及動畫等數(shù)據(jù)進行處理,還能夠同時和其他的模塊同時運行,組成固定的游戲程序。從整體上來講,游戲的引擎在游戲中屬于重要的API。
游戲引擎的種類主要分為兩種,一種是根據(jù)代碼在程序中的編寫應(yīng)用為主,引擎主要是應(yīng)用在游戲硬件上。當然這種引擎方式在編寫以及運行上非常復雜,對代碼的要求也非常高,需要不同的硬件運行不同的程序代碼,這種引擎主要應(yīng)用在通用圖形驅(qū)動運行中。再者是在SDL技術(shù)的興起以及應(yīng)用到API中,引擎開始引入到數(shù)據(jù)庫中,這些代碼數(shù)據(jù)庫幫助代碼進行歸類,更理想的開展游戲,同時還能降低編碼編輯工作的壓力,提高整體的運行效率。
二、3D游戲圖形引擎的應(yīng)用實現(xiàn)分析
(一)游戲坐標變換
坐標變化應(yīng)用過程中,包含局部坐標變換、世界坐標變換、相機坐標變換、透視坐標變換四種。局部坐標變換期間主要是將其向世界坐標變換進行移動,這個過程中需要建立相應(yīng)的矩形函數(shù),將函數(shù)計算之后用作變換的參數(shù)。在建設(shè)局部坐標向世界坐標之間的函數(shù),保證局部坐標變換到世界坐標過程中能夠保持圖形渲染的穩(wěn)定,變化過程更加簡潔。具體函數(shù)形式如下所示:
void Modelse Toee Worldee OBJECT();
void Model Tora Worldse RENDERLIST();
利用這種函數(shù)形式,能夠幫助局部坐標向世界坐標轉(zhuǎn)變,并且在轉(zhuǎn)變過程中將具體的數(shù)據(jù)結(jié)構(gòu)進行固定,保證圖形渲染的穩(wěn)定。
再者是世界坐標向相機坐標變換。世界坐標從局部坐標變換之后還需要向相機坐標變換,這個變換過程主要包含兩個步驟,首先是平移,再者是旋轉(zhuǎn)。具體操作步驟為:設(shè)定相機坐標具體位置,將相機目標中的所有物件進行平移,在利用歐拉模型形式設(shè)定三個角,用這三個角作為項目目標的方向,朝著不同的角度分別進行移動,將其轉(zhuǎn)為矩形,這樣世界坐標的函數(shù)就會轉(zhuǎn)變?yōu)椋?/p>
void Init_ CAMERA();
void Build CAM4DV1 Matrixwe Euler();
void Buildse CAM4DV1 Matrix_ UVN();
再者是相機坐標向透視坐標之間進行變換,相機坐標向透視坐標變化期間,需要掌握透視坐標主要將物體自身的頂點進行投影,將其投影到平面中,確定平面的距離變化,計算出物體移動的速度與視覺感受之間的連線,保證能夠與平面產(chǎn)生交點。具體函數(shù)為:
void Camera Towe Perspective OBJECT();
void Camera_To_Perspectiveee_RENDERLIST();
最后是將透視坐標專向屏幕坐標中,在這次變化中主要的函數(shù)形式為:
void Camera Toee Screen_ OBJECT();
void Cameraes Tose Screen RENDERLIST(),
這其中需要注意,保證函數(shù)之間的變化,對數(shù)據(jù)形式的位置變向一定要及時進行確定,這樣才能保證變換的順利。
(二)游戲圖形物體剔除
對于游戲中的物體剔除主要指的是將包圍的球體進行測試,對游戲中的每個空間都進行測量,同時根據(jù)測量再次建立一個相應(yīng)的球體。針對球體中的球心進行確定,結(jié)合其中的單點,將坐標值進行變換,準確判定球體變化是否確定在玩家的視野中,若是球體變化不在視景體中,就需要充分進行確定,將其全部包圍起來,再次進行測試。
(三)背面消除應(yīng)用
背面消除技術(shù)主要是針對圖形的畫面處理為基礎(chǔ),利用統(tǒng)一的形式,進行逆時針或是順時針旋轉(zhuǎn),當然旋轉(zhuǎn)的順利以及方向一定要保證一致,對物體的變化以及多變運行進行標記,在根據(jù)標記內(nèi)容計算出多邊形的線條變化,結(jié)合線條變化觀察,這樣能夠理想的達到畫面處理的效果,提高畫面的清晰度。
三、結(jié)束語
綜上所述,文章中對游戲圖形渲染引擎進行了詳細介紹,在介紹游戲引擎基礎(chǔ)上,詳細闡述了其中的游戲圖形渲染技巧,以及怎樣將3D圖形處理技術(shù)融入到游戲中,提高游戲畫面清晰度,促進電子游戲的發(fā)展。
作者簡介:陳志敏(1986-),女,湖南益陽人,民族:漢族,職稱:助教,學歷:本科,研究方向:動畫。
參考文獻:
[1]劉祎瑋,張引,葉修梓.3D游戲引擎渲染內(nèi)核架構(gòu)及其技術(shù)[J].計算機應(yīng)用研究,2016,08:45-48+51.
[2]歐陽慧琴,陳福民.物理引擎與圖形渲染引擎綁定的研究與實現(xiàn)[J].計算機工程與設(shè)計,2016,21:5580-5582+5620.
[3]向俊,葉青,袁勛.基于網(wǎng)頁的可視化網(wǎng)絡(luò)醫(yī)學影像平臺設(shè)計[J].生物醫(yī)學工程學雜志,2017,02:233-238.
[4]張鵬,陳芝榮,安峰.3D游戲中“刀光劍影”特效的實現(xiàn)算法[J].計算機系統(tǒng)應(yīng)用,2014,07:192-194+243.