複製鏈接
請複製以下鏈接發送給好友

圖形引擎

鎖定
引擎,是借用機器工業的同名術語,表明在整個系統中的核心地位。也可以稱之為“支持應用的底層函數庫”或者説是對特定應用的一種抽象。
圖形引擎中比較出色的有OGRE、OpenGVS、Vtree、OSG等。而一個封裝了硬件操作和圖形算法、簡單易用、功能豐富的三維圖形開發環境,就可以稱作三維圖形引擎。
中文名
圖形引擎
外文名
graphic engine
簡    稱
GPUs
應    用
虛擬仿真系統、視頻解碼等
三維引擎實質
三維圖形開發環境
引擎構成
BLT模塊和GDU模塊

圖形引擎圖形引擎介紹

引擎
引擎,是借用機器工業的同名術語,表明在整個系統中的核心地位。也可以稱之為“支持應用的底層函數庫”或者説是對特定應用的一種抽象。
產生背景
隨着科學技術的發展和社會生產力的提高,虛擬仿真技術得到人們的日益重視,並逐漸成為一個新的科學技術領域。虛擬仿真系統大多以圖形引擎為基礎,再封裝構建上層應用系統。圖形引擎中比較出色的有OGRE、OpenGVS、Vtree、OSG等。 [1]  而視頻壓縮技術的進步以及數字電視技術的成熟,使各種視頻解碼或處理芯片大量湧現,如MPEG-2 解碼 H.264 解碼等然而要使應用芯片的產品能具有良好的人機交互界面,就需要圖形引擎的支持。
三維圖形引擎
由於三維圖形涉及到許多算法和專業知識,要快速的開發三維應用程序是有一定困難的。當前在微機上編寫三維圖形應用一般使用OpenGL或DirectX,雖然OpenGL或DirectX在三維真實感圖形制作中具有許多優秀的性能,但是在系統開發中直接使用它們仍存在一些缺點:1、都是非面向對象的,設計場景和操作場景中的對象比較困難。2、主要使用基層圖元,在顯示比較複雜的場景時編寫程序相對困難。3、沒有與建模工具很好的結合。4、缺乏對一些十分重要的關鍵技術如LOD(Level of Detail)、動態裁剪等的支持。基於以上情況,應用程序開發人員非常需要一個封裝了硬件操作和圖形算法、簡單易用、功能豐富的三維圖形開發環境,這個環境可以稱作三維圖形引擎。

圖形引擎OGRE圖形引擎

OGRE是用C++開發的面向對象且使用靈活的3D圖形引擎,對底層Direct3D和OpenGL系統庫的全部使用細節進行了抽象,並提供了基於現實世界對象的接口,使用少量代碼就能構建一個完整的三維場景,使開發人員更方便、更直接地開發基於三維硬件設備的應用程序。
OGRE引擎採用可擴展的程序框架,擁有高效率和高度可配置的資源管理器,支持多種場景類型,支持高效的插件體系結構,採用高效的網格資料格式儲存模型數據,並且具有清晰、整潔的設計以及全面的文檔支持。而且OGRE是一款開源引擎,更新迅速,功能日益強大,採用MIT授權,使用時不會產生授權費用,OGRE引擎在涉及到三維圖形繪製的仿真、遊戲等方面有着極為廣泛的應用前景。
OGRE引擎的場景管理結構如圖1所示。
圖1 OGRE引擎場景管理結構圖 圖1 OGRE引擎場景管理結構圖
根節點(Root)是整個三維場景的入口點,用於配置系統內的其它對象,必須最先創建和最後釋放。渲染系統(Render System)設置場景的渲染屬性並執行渲染操作。場景管理器(Scene Manager)負責組織場景,生成並管理燈光、攝像機、場景節點、實體、材料等元素。燈光(Light)為場景提供照明,有點光源、聚光源和有向光源三種類型。攝像機(Camera)用來觀察所創建的場景,通過視口可將渲染後場景輸出到屏幕。實體(Entity)為場景中的幾何體,一般通過網格(Mesh)創建。材質(Material)為場景中幾何體的表面屬性,支持從多種格式的圖片文件加載紋理(Texture),並可擁有足夠多的紋理層,每層紋理支持各種渲染特效,支持動畫紋理。場景管理器通過場景節點(Scene Node)來確定實體、攝像機、燈光等元素的位置和方向。OGRE場景組織原理是將場景劃分成抽象的多個空間,這些空間還可以劃分成多個子空間,每個空問由一個場景節點來管理,實體、燈光等場景元素本身並不負責與空間位置相關的行為,全部交給場景節點來做。OGRE將大量場景節點按照空間的劃分層次組織成樹狀結構,從而完成對整個場景的有序組織。
圖2 OGRE應用程序主程序偽代碼
圖2 OGRE應用程序主程序偽代碼(2張)
在利用OGRE引擎創建三維圖形系統時,首先需要創建根節點,然後對系統進行初始化並創建場景,之後處理輸入響應,進行幀循環更新圖形。主程序可見圖2所示,其中幀循環更新圖形一般由OGRE引擎自動完成,開發人員需要處理主要有創建場景和處理輸入響應兩部分。 [1] 

圖形引擎圖形引擎

整體設計
圖3 圖形引擎的整體結構 圖3 圖形引擎的整體結構
HDTV SoC 圖形引擎主要由兩部分構成 一是BLT Biitter 模塊 主要完成對圖形進行的各種編輯操作,另一塊是圖形顯示模塊GDU( Graphic Dis-pIay Unit),主要完成三路圖形層顯示前的處理及混合 操作的指令和地址由Host IF 相關的寄存器提供,操作數據從系統總線讀入,BLT 根據寄存器提供的地址讀取SDRAM 指定位置的圖形, 進行操作然後寫至目標地址 GDU 根據三層圖形的目標地址分別讀取三層圖形,進行放大處理或直接與視頻層混合輸出。圖形引擎的整體結構如圖3所示。 [2] 
BLT 設計
BLT 是圖形引擎的核心處理模塊, 由它提供的邏輯操作、矩形剪切、色鍵(COIOF Key)、固定顏色填充、單圖源複製、雙圖源操作、α混合,加上GDU 中的2 倍圖形放大操作,使得圖形引擎功能強大。
圖4 BLT 結構框圖 圖4 BLT 結構框圖
BLT 處理的圖形源l1和2 的數據可以是8 Dpp,16Dpp,32 Dpp 的RGB 格式或32 Dpp 的YCDCF 格式, 這時需要進行CLUT 擴展或者YCDCF 到RGB的色度空間轉換(COIOF Space COnveFsiOn,CSC)統一到32 Dpp 的RGB 格式進行處理 BLT 可以對兩幅圖形進行操作, 也可以僅對一幅圖形進行操作算術邏輯運算單元(ALU)可以對兩幅圖源的對應像素進行與、或、非、異或等16種布爾運算(BOOIeanOpeFatiOn),也可以對它們進行α混合,使兩幅圖形產生相互覆蓋或者半透明浮現等效果 COIOF Key 功能模塊可以用來對圖形中特定顏色值範圍的像素進行選擇性操作,比如對! 分量大於Rmin並且小於Rmax的像素進行提取或者替換, 這種操作對於根據色度特徵提取圖形中的特定對象非常有效。矩形剪切模塊對於圖形中的任意矩形區域(或者反向區域)進行選擇,並對選中區域中的像素提供寫使能信號 值得注意的是矩形操作也可以退化為對點和直線的操作,方便地滿足了對二維圖形任意像素點集的處理 顏色填充模塊在其使能的情況下,顏色填充模塊代替圖源2 產生連續固定的顏色值,對COIOF Key 或者矩形剪切選擇的區域(或反向區域)進行單色填充。 [2] 
GDU 結構
圖5 GDU 結構設計框圖 圖5 GDU 結構設計框圖
圖形顯示單元(GDU)完成三層圖形層和一層視頻層的疊加輸出, 其中圖形層從內存中取出,視頻層由視頻處理模塊輸入 疊加的順序由下至上依次為:視頻層、圖形層l、圖形層2、圖形層3 視頻層的輸入可以逐行也可以隔行, 格式為YCbCr4:2:2圖形層l1和圖形層2 都具有兩倍放大的功能,最大支持的顯示分辨率為1920*1080。圖形層3 主要用作光標層,分辨率一般為32*32 層之間的混合依舊採用BLT 中使用過的α混合,視頻層先和圖形層1混合,結果再與圖形層2 混合,最後是光標層,也可以產生覆蓋或半透明浮現等不同顯示效果。 [2] 

圖形引擎三維圖形引擎

簡介
最能體現三維圖形引擎各方面技術的無疑是遊戲引擎,三維遊戲引擎總是各種最新圖形技術的嘗試者和表現者,總是站在圖形學技術的最高峯,並不斷通過更高的速度、更逼真的效果推動三維技術的發展。下面就簡要介紹一下游戲引擎。
圖6 引擎的架構 圖6 引擎的架構
遊戲引擎猶如汽車的引擎,決定着遊戲的速度、真實感、吸引力等,玩家所體驗到的劇情、關卡、美工、音樂、操作等內容都是由遊戲的引擎直接控制的。按照3D引擎所要其有的功能,可以把3D引擎系統劃分為以下個功能模塊:系統模塊、底層渲染模塊、控制枱模塊、數據存儲模塊、遊戲接口模塊與遊戲插件模塊。 [3] 
研究意義和應用
遊戲娛樂、軍事、航空航天、地質勘探、實時模擬等方面有着十分廣泛的應用。特別是遊戲娛樂方面已經成為當今三維圖形發展的重要應用領域。2003年,國家863計劃將三維遊戲引擎的研發納入了高技術發展計劃,這使得多年來倍受各界非議的遊戲產業獲得瞭解放,金山公司是承擔此項目的單位,他們已經在三維遊戲方面獲得了較大的進步。每年,遊戲產業帶動服務、互聯網、餐飲等行業獲得巨大的利潤,對國民經濟的發展起到了積極的作用。當前,三維圖形已在計算機輔助設計與製造(CAD/CAM)、動畫影視製作、
三維引擎是虛擬現實技術的基礎,作為虛擬現實技術的一部分,其應用領域主要有如下幾個方面:
①軍事訓練:軍事訓練應用為VR技術提供了最早的市場,主要集中在座艙式虛擬現實模擬器等方面的應用。座艙式虛擬現實模擬器可以是一個宇宙飛船模擬器、飛行模擬器、坦克模擬器、汽車模擬器、氣墊登陸艇模擬器、潛艇模擬器等。將其安裝在室內,用來培訓宇航員、飛行員、坦克手、汽車司機、船員和艇長等。飛行模擬器在室內訓練飛行員,不受外界氣象條件、場地和空域的限制,飛行員和飛機均無風險,可以節約訓練費用。同時,模擬器還可以生成各種險情和設備故障,例如模擬失火、大仰角失速、發動機停轉、與另一飛機擦身而過等,使飛行員得到真實飛行時難以得到的應急訓練。因此,國際航空界已把飛行模擬器作為正式的訓練方法。
②企業生產:虛擬現實在企業生產方面的應用主要體現在四個方面——虛擬生產、產品設計、培訓工人和產品促銷。虛擬生產通過建模和模擬的方法,使方案論證、設計、研製、生產、使用和維護等,都可以在人工合成的環境中進行模擬。這樣可以減少樣機生產數目,縮短設計週期,獲得性能更好的產品,降低成本,提高產品的市場競爭能力。為了滿足用户多樣化的需求,VR提供給用户參與設計的機會。使不懂設計也看不懂圖紙的用户也可以在虛擬的環境感受效果,通過用户的參與,真正體現了用户為上帝的原則,達到用户滿意的效果。Sun維繫統公司實現了可以進行車削加工的虛擬車牀系統,只需使用三維鼠標、頭盔式跟蹤器以及液晶立體顯示器,就可以用來培訓車工。IBM公司為福特公司設計了一種“虛擬現實經驗系統”,讓用户在新型福特汽車中進行虛擬駕駛,對促銷車輛、活躍市場起到了很好的作用。
③科研方面:VR應用於科研,其核心是建立數學模型和科學可視化技術。科學可視化技術將來自數據源的大量數據,按照數據模型轉換成容易理解的三維圖像,且允許研究者在可視場景中有一定的交互。例如,建立虛擬植物模型生成虛擬植物,預測真實植物在不同試驗條件下的生長情況,井以旋轉三維圖像來模擬顯示其結構生長動態,這一過程只需幾秒鐘就可以完成。虛擬植物實驗不需花數月、數年的時間去種植真實植物,科學家可以建立虛擬植物實驗室,創造新的人造植物品種。
④娛樂方面:利用VR技術創造的虛擬環境,可以逼真的模擬“太空旅行”,使人感到身臨其境,具有極強的趣味性、驚險性和知識性。該方面的應用是VR應用最豐富的領域。VR遊戲在室內進行,遊戲內容通過軟件可以無限的變換和翻新。我國於1996年研製成功“虛擬故宮”。將長961米、寬753米的真實故宮建築和景物,變成可以再現的數字化數據輸入電腦,對虛擬故宮賦予了色彩、音響特徵,遊客只需戴上頭盔顯示器,騎上固定的自行車,就可以在故宮中暢遊了。
⑤商業應用
VR技術商業領域最早也是最成功的應用是產品廣告宣傳。VR 廣告比傳統廣告更易於製作和更改,也更具有感染力。由此,許多公司已認識劍到率先使用VR技術使他們的產品領導潮流。已有的一些應用包括:
  • ·Maxus證券交易可視化系統,如哥倫比亞大學研製的n—Vision系統。
  • ·體驗廣告,這類廣告在美國多附着於公共場所的VR娛樂設施;在歐洲則獨立開發出不少獨立的VR廣告系統,如KingstonMicro Electronies、Callscan、Madrid City Council等。
  • ·室內裝潢設計,如Light—space Software公司丌發的燈飾可視化系統LVS(Lightcape Visualization System)和LEL模擬系統(The LivingEnvironmental System)等。 [3] 
參考資料
  • 1.    牛紅攀, 高勇, 侯忠明. 圖形引擎與物理引擎結合的研究與實現[J]. 計算機仿真, 2011, 28(6):299-303.
  • 2.    顧亮, 鄭世寶, 朱建清. HDTV SoC的圖形引擎設計與實現[J]. 電視技術, 2005(11):54-56.
  • 3.    張繼開. 三維圖形引擎技術的研究[D]. 北方工業大學, 2004.