圖形引擎介紹
引擎
引擎,是借用機器工業的同名術語,表明在整個系統中的核心地位。也可以稱之為“支持套用的底層函式館”或者說是對特定套用的一種抽象。
產生背景
隨著科學技術的發展和社會生產力的提高,虛擬仿真技術得到人們的日益重視,並逐漸成為一個新的科學技術領域。目前虛擬仿真系統大多以圖形引擎為基礎,再封裝構建上層套用系統。圖形引擎中比較出色的有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引擎的場景管理結構如圖所示。
根節點(Root)是整個三維場景的入口點,用於配置系統內的其它對象,必須最先創建和最後釋放。渲染系統(Render System)設定場景的渲染屬性並執行渲染操作。場景管理器(Scene Manager)負責組織場景,生成並管理燈光、攝像機、場景節點、實體、材料等元素。燈光(Light)為場景提供照明,有點光源、聚光源和有向光源三種類型。攝像機(Camera)用來觀察所創建的場景,通過視口可將渲染後場景輸出到螢幕。實體(Entity)為場景中的幾何體,一般通過格線(Mesh)創建。材質(Material)為場景中幾何體的表面屬性,支持從多種格式的圖片檔案載入紋理(Texture),並可擁有足夠多的紋理層,每層紋理支持各種渲染特效,支持動畫紋理。場景管理器通過場景節點(Scene Node)來確定實體、攝像機、燈光等元素的位置和方向。OGRE場景組織原理是將場景劃分成抽象的多個空間,這些空間還可以劃分成多個子空間,每個空問由一個場景節點來管理,實體、燈光等場景元素本身並不負責與空間位置相關的行為,全部交給場景節點來做。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 處理的圖形源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)完成三層圖形層和一層視頻層的疊加輸出, 其中圖形層從記憶體中取出,視頻層由視頻處理模組輸入 疊加的順序由下至上依次為:視頻層、圖形層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)等。