圖形引擎

圖形引擎

引擎,是借用機器工業的同名術語,表明在整個系統中的核心地位。也可以稱之為“支持套用的底層函式館”或者說是對特定套用的一種抽象。 目前圖形引擎中比較出色的有OGRE、OpenGVS、Vtree、OSG等。而一個封裝了硬體操作和圖形算法、簡單易用、功能豐富的三維圖形開發環境,就可以稱作三維圖形引擎。

圖形引擎介紹

引擎

引擎,是借用機器工業的同名術語,表明在整個系統中的核心地位。也可以稱之為“支持套用的底層函式館”或者說是對特定套用的一種抽象。

產生背景

隨著科學技術的發展和社會生產力的提高,虛擬仿真技術得到人們的日益重視,並逐漸成為一個新的科學技術領域。目前虛擬仿真系統大多以圖形引擎為基礎,再封裝構建上層套用系統。圖形引擎中比較出色的有OGRE、OpenGVS、Vtree、OSG等。 而視頻壓縮技術的進步以及數位電視技術的成熟,使各種視頻解碼或處理晶片大量湧現,如MPEG-2 解碼 H.264 解碼等然而要使套用晶片的產品能具有良好的人機互動界面,就需要圖形引擎的支持。

三維圖形引擎

由於三維圖形涉及到許多算法和專業知識,要快速的開發三維應用程式是有一定困難的。當前在微機上編寫三維圖形套用一般使用OpenGL或DireetX,雖然OpenGL或DirectX在三維真實感圖形製作中具有許多優秀的性能,但是在系統開發中直接使用它們仍存在一些缺點:1、都是非面向對象的,設計場景和操作場景中的對象比較困難。2、主要使用基層圖元,在顯示比較複雜的場景時編寫程式相對困難。3、沒有與建模工具很好的結合。4、缺乏對一些十分重要的關鍵技術如LOD(Level of Detail)、動態裁剪等的支持。基於以上情況,應用程式開發人員非常需要一個封裝了硬體操作和圖形算法、簡單易用、功能豐富的三維圖形開發環境,這個環境可以稱作三維圖形引擎。

OGRE圖形引擎

OGRE是用C++開發的面向對象且使用靈活的3D圖形引擎,對底層Direct3D和OpenGL系統庫的全部使用細節進行了抽象,並提供了基於現實世界對象的接口,使用少量代碼就能構建一個完整的三維場景,使開發人員更方便、更直接地開發基於三維硬體設備的應用程式。

OGRE引擎採用可擴展的程式框架,擁有高效率和高度可配置的資源管理器,支持多種場景類型,支持高效的外掛程式體系結構,採用高效的格線資料格式儲存模型數據,並且具有清晰、整潔的設計以及全面的文檔支持。而且OGRE是一款開源引擎,更新迅速,功能日益強大,採用MIT授權,使用時不會產生授權費用,OGRE引擎在涉及到三維圖形繪製的仿真、遊戲等方面有著極為廣泛的套用前景。

OGRE引擎的場景管理結構如圖所示。

圖1 OGRE引擎場景管理結構圖 圖1 OGRE引擎場景管理結構圖

根節點(Root)是整個三維場景的入口點,用於配置系統內的其它對象,必須最先創建和最後釋放。渲染系統(Render System)設定場景的渲染屬性並執行渲染操作。場景管理器(Scene Manager)負責組織場景,生成並管理燈光、攝像機、場景節點、實體、材料等元素。燈光(Light)為場景提供照明,有點光源、聚光源和有向光源三種類型。攝像機(Camera)用來觀察所創建的場景,通過視口可將渲染後場景輸出到螢幕。實體(Entity)為場景中的幾何體,一般通過格線(Mesh)創建。材質(Material)為場景中幾何體的表面屬性,支持從多種格式的圖片檔案載入紋理(Texture),並可擁有足夠多的紋理層,每層紋理支持各種渲染特效,支持動畫紋理。場景管理器通過場景節點(Scene Node)來確定實體、攝像機、燈光等元素的位置和方向。OGRE場景組織原理是將場景劃分成抽象的多個空間,這些空間還可以劃分成多個子空間,每個空問由一個場景節點來管理,實體、燈光等場景元素本身並不負責與空間位置相關的行為,全部交給場景節點來做。OGRE將大量場景節點按照空間的劃分層次組織成樹狀結構,從而完成對整個場景的有序組織。

圖2 OGRE應用程式主程式偽代碼 圖2 OGRE應用程式主程式偽代碼

在利用OGRE引擎創建三維圖形系統時,首先需要創建根節點,然後對系統進行初始化並創建場景,之後處理輸入回響,進行幀循環更新圖形。主程式可見圖2所示,其中幀循環更新圖形一般由OGRE引擎自動完成,開發人員需要處理主要有創建場景和處理輸入回響兩部分。

圖形引擎

整體設計

圖形引擎的整體結構 圖形引擎的整體結構

HDTV SoC 圖形引擎主要由兩部分構成 一是BLT Biitter 模組 主要完成對圖形進行的各種編輯操作,另一塊是圖形顯示模組GDU( Graphic Dis-pIay Unit),主要完成三路圖形層顯示前的處理及混合 操作的指令和地址由Host IF 相關的暫存器提供,運算元據從系統匯流排讀入,BLT 根據暫存器提供的地址讀取SDRAM 指定位置的圖形, 進行操作然後寫至目標地址 GDU 根據三層圖形的目標地址分別讀取三層圖形,進行放大處理或直接與視頻層混合輸出。圖形引擎的整體結構如圖所示。

BLT 設計

BLT 是圖形引擎的核心處理模組, 由它提供的邏輯操作、矩形剪下、色鍵(COIOF Key)、固定顏色填充、單圖源複製、雙圖源操作、α混合,加上GDU 中的2 倍圖形放大操作,使得圖形引擎功能強大。

BLT 結構框圖 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 功能模組可以用來對圖形中特定顏色值範圍的像素進行選擇性操作,比如對! 分量大於R並且小於R的像素進行提取或者替換, 這種操作對於根據色度特徵提取圖形中的特定對象非常有效。矩形剪下模組對於圖形中的任意矩形區域(或者反向區域)進行選擇,並對選中區域中的像素提供寫使能信號 值得注意的是矩形操作也可以退化為對點和直線的操作,方便地滿足了對二維圖形任意像素點集的處理 顏色填充模組在其使能的情況下,顏色填充模組代替圖源2 產生連續固定的顏色值,對COIOF Key 或者矩形剪下選擇的區域(或反向區域)進行單色填充。

GDU 結構

GDU 結構設計框圖 GDU 結構設計框圖

圖形顯示單元(GDU)完成三層圖形層和一層視頻層的疊加輸出, 其中圖形層從記憶體中取出,視頻層由視頻處理模組輸入 疊加的順序由下至上依次為:視頻層、圖形層l、圖形層2、圖形層3 視頻層的輸入可以逐行也可以隔行, 格式為YCbCr4:2:2圖形層l1和圖形層2 都具有兩倍放大的功能,最大支持的顯示解析度為1920*1080。圖形層3 主要用作游標層,解析度一般為32*32 層之間的混合依舊採用BLT 中使用過的α混合,視頻層先和圖形層1混合,結果再與圖形層2 混合,最後是游標層,也可以產生覆蓋或半透明浮現等不同顯示效果。

三維圖形引擎

簡介

最能體現三維圖形引擎各方面技術的無疑是遊戲引擎,三維遊戲引擎總是各種最新圖形技術的嘗試者和表現者,總是站在圖形學技術的最高峰,並不斷通過更高的速度、更逼真的效果推動三維技術的發展。下面就簡要介紹一下遊戲引擎。

引擎的架構 引擎的架構

遊戲引擎猶如汽車的引擎,決定著遊戲的速度、真實感、吸引力等,玩家所體驗到的劇情、關卡、美工、音樂、操作等內容都是由遊戲的引擎直接控制的。按照3D引擎所要其有的功能,可以把3D引擎系統劃分為以下個功能模組:系統模組、底層渲染模組、控制台模組、數據存儲模組、遊戲接口模組與遊戲外掛程式模組。

研究意義和套用

遊戲娛樂、軍事、航空航天、地質勘探、實時模擬等方面有著十分廣泛的套用。特別是遊戲娛樂方面已經成為當今三維圖形發展的重要套用領域。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)等。

相關詞條

熱門詞條

聯絡我們