摘要 網格技術與三維動畫技術是目前非常引人關注的兩大技術,而三維動畫的計算速度問題一直困擾著三維動畫技術的發展,運用網格技術可以提高三維動畫的計算速度,促進三維動畫技術的發展。
關鍵詞 網格 三維動畫 計算速度
1、引言
三維動畫又稱3D動畫,是近年來隨著計算機軟硬件技術的發展而產生的一種新興技術。三維動畫軟件在計算機中首先建立一個虛擬的世界,設計師在這個虛擬的三維世界中按照要表現的對象的形狀尺寸建立模型以及場景,再根據要求設定模型的運動軌跡、虛擬攝影機的運動和其它動畫參數。最后按要求為模型賦上特定的材質,并打上燈光。當這一切完成后就可以讓計算機自動運算,生成最后的畫面。三維動畫的特點是它完全在三維空間里制作,可真實地模擬客觀世界。并且通過制作虛擬的物體,設計虛擬的運動,可極大地豐富畫面的表現力,達到真實攝像無法達到的效果。三維動畫技術模擬真實物體的方式使其成為一個有用的工具。由于其精確性、真實性和無限的可操作性,目前被廣泛應用于醫學、教育、軍事、娛樂等諸多領域。尤其在影視廣告制作方面,三維動畫常被用于廣告產品展示和電影電視劇的特效制作(如爆炸、煙霧、下雨、光效等)、特技制作(撞車、變形、虛幻場景或角色等),甚至被廣泛應用于動畫電影的制作當中。
動畫電影是電影產業重要的組成部分,而三維動畫電影又是動畫電影目前最主要的組成部分。中國三維動畫電影產業在最近幾年中取得了比較顯著的成績,2006年推出我國第一部三維動畫電影《魔比斯環》,今年六月又將推出三維動畫電影《潛艇總動員》,但是我們還要看到中國的三維動畫電影產業仍然存在許多嚴重的制約因素或弱點。而國外的三維動畫發展迅速,像美國的三維動畫電影已經成為電影產業高收入的一面旗幟,1995年由迪斯尼發行的《玩具總動員》,這部純三維制作的動畫片取得了巨大的成功,三維動畫迅速取代傳統動畫成為最賣座的動畫片種:迪斯尼公司在其后發行的《玩具總動員2》、《恐龍》、《怪物公司》、《蟲蟲特工隊》都取得了巨大成功。另外,夢工廠發行的《蟻哥雄兵》、《怪物史瑞克》等三維動畫片,也獲得了巨大的商業成功。三維動畫在電影中的運用更是神乎其技《蜘蛛俠》《泰坦尼克號》、《終結者》、《魔界》。可以說電影已經不能離開三維動畫的參與了。
2、三維影視動畫中引入網格的原因
三維動畫的制作對計算機的總線帶寬計算速度等硬件要求越來越高,從高速磁盤陣列、海量內存、專業顯卡到視頻壓縮卡等專用芯片來提升制作時的實時性能。但用于生成最終效果的CPU,無論是單處理器的商用機還是雙處理器甚至四處理器的工作站在面對渲染處理中的龐大計算量時,其處理能力都是十分有限的,即便是多處理器的工作站使用數小時渲染一幀較復雜場景也是很平常的事情。那么對于一個數分鐘或者幾小時擁有上萬幀的片子,其渲染時間將是十分漫長的。這個過程究竟有多復雜呢?以大家熟悉的《玩具總動員》為例,如果僅使用1臺電腦(單一處理器),這部長達77分鐘影片的渲染時間將會是43年。如何繼續提高渲染的速度?如何向遠程用戶提供三維渲染服務?如何最大限度的降低成本?這個問題已經成為三維動畫制作的一大難題。因此,三維動畫渲染研究迫切需要新一代的網格計算技術解決計算資源和存儲資源問題,以便能在較短的時間內得到上萬幀的數字動畫。
3、網格的基本概念、意義和原理
網格的概念最早于20世紀90年代中期提出,“網格計算”這個詞來源于另一專業名詞“電力供應網”。網格的最終目的是希望用戶在使用網格計算能力時,就如同現在使用電力一樣方便。網格計算是伴隨著互聯網而迅速發展起來的專門針對復雜科學計算的新型計算模式,這種計算模式利用互聯網把分散在不同地理位置的計算機組織成一個虛擬的超級計算機,其中每一臺參與計算的計算機就是一個節點,而整個計算是由成千上萬個節點組成的一張網格,所以這種計算方式叫網格計算。這樣組織起來的虛擬超級計算機有三個優勢:一是數據處理能力超強:二是能充分利用網上的閑置處理能力:三是價格相對于超級計算機低廉。
網格概念的提出從根本上改變人們對“計算”的看法,因為網絡提供的是與以往根本不同的計算方式,它的核心就是突破了以往強加在計算資源之上的種種限制。將高速互聯網、高性能計算機、大型數據庫、遠程設備等融為一體,使人們可以以一種全新的更自由、更方便的方式使用計算資源,解決更復雜的問題。網格的本質特征是遠程高性能資源的共享,包括計算資源、存儲資源、軟件資源、信息資源、通信資源等。因此,網格計算受到世界各國和組織的高度重視,已經開展了許多實驗環境和研究項目。
網格計算實際上應歸屬于分布式計算(Distributed Computing)。網格計算系統一般由網格硬件、網格操作系統、網格界面、網格應用4層基本結構構成。任務的協同是網格計算的核心。要解決任務的協同,必須要解決好資源管理和任務管理。資源管理和任務管理的前提是通信和安全。所以網格計算系統的關鍵技術主要在于資源管理、任務管理、通信技術、安全機制、用戶界面等。資源管理:資源管理包括資源的發現、描述、定位、組織(注冊)、分配、監測(資源信息獲取)、更新和信息發布等。組織網格計算的資源,通常使用單一映像文件系統來實現。單一映像文件系統將地理上分散的異構資源映像成一個單一入口的虛擬機器。任務管理:網格計算的目標是分解一個應用為幾個任務(或子任務),并為每個任務匹配一個最適合執行的機器。任務管理完成任務提交、任務調度、任務查詢、刪除以及監測任務的運行狀態等工作。安全機制:安全機制負責網格用戶的身份驗證,以及對網格計算進行有序的控制和管理。目前,采用基于公鑰的網格安全基礎協議(GSI)來解決網格計算中的身份驗證問題。容錯和自動修復也是網格計算系統所必須要考慮的問題。當網格計算系統某個結點停止工作或掉電時,應該保存必要的現場信息,以便重新啟動時減少安裝,恢復系統的最新狀態,使用戶看到最近運行所帶來的系統變化。通信技術:通信技術是實現網格計算系統安全可靠地進行資源動態整合、任務分布協同的保證。通信能力的強弱對網格計算提供的性能影響甚大,要做到計算能力“即連即用”,則必須具備高質量的寬帶網絡系統支持。應用層的可視化工具:網格計算的主要領域是科學計算,它往往伴隨著海量的數據,面對浩如煙海的數據想通過人工分析得出正確的判斷十分困難。如果把計算結果轉換成直觀的圖形信息,就能幫助研究人員擺脫理解數據的困難。這就要研究能在網格計算中傳輸和讀取的可視化工具,并提供友好的用戶界面。
總之。網格計算是一種軟件和硬件結合的基礎底層結構,能夠可靠、一致、有普遍性以及代價較低地使用高層計算能力。通過基于網格計算的一個虛擬平臺,可以根據需要重新分配計算機資源。

4、網格體系結構
網格體系結構就是關于如何建造網格的技術。它給出了網格的基本組成與功能,描述了網格各組成部分的關系以及它們集成的方式或方法,刻畫了支持網格有效運轉的機制。它主要有兩種結構形式,即五層沙漏結構和開放網格服務結構。
五層沙漏結構根據結構中各組成部分與共享資源的距離,將對共享資源進行操作、管理和使用的功能分散在五個不同的層次,越向下層就越接近于物理的共享資源,因此該層與特定資源相關的成分就比較多:越向上層就越感覺不到共享資源的細節特征,也就是說上層是更加抽象共享資源的表示,因此就不需要關心與底層資源相關的具體實現問題。

在五層沙漏結構中,最底層是構造層(fab ric),構造層面對的是一個個具體的物理(也可以是邏輯的)資源,它通過對這些局部資源的管理,向上層提供對這些資源的管理和控制界面。構造層的上面是連接層(connectivity),主要是為下層的物理資源提供安全的數據通信能力,這是資源之間進行互操作的前提,連接層使得孤立的單個資源之間建立聯系。連接層的上面是資源層(resource),它反映的是抽象的局部資源的特征。而資源層上面的匯聚層(collective)完成的功能是如何將下面以單個資源形式表現出來的資源集中起來。協調解決多個資源之間的問題。最上面的應用層(application)和資源的距離最遠,它關心的是有什么樣的資源可以由下面提供給虛擬組織,解決不同虛擬組織的具體問題。為了便于理解,可以與TCP/IP網絡協議結構做簡單對比,如圖1所示:
開放網格服務結構OGSA(Open G ridServices Architecture)是Global Grid Forum4的重要標準建議,是繼五層沙漏結構之后最重要,也是目前最新的一種網格體系結構。被稱為是下一代的網絡結構。
OGSA是以服務為中心的“服務結構”。這里的服務是指具有特定功能的網絡化實體。在五層沙漏結構中,強調的是被共享的物理資源,而在OGSA中,服務所指的概念更廣,包括各種計算資源:存儲資源、網絡、程序、數據庫等等,簡而言之,一切都是服務。五層模型試圖實現的是對資源的共享,而OGSA實現的將是對服務的共享。從資源到服務,這種抽象,將資源、信息、數據等統一起來,十分有利于靈活的、一致的、動態的共享機制的實現,使得分布式系統管理有了標準的接口和行為。為了使服務的思想更加明確和具體,OGSA定義了“網格服務”的概念。網格服務是一種Web Service,該服務提供了一組接口,這些接口的定義明確,并且遵守特定的慣例,解決服務發現、動態服務創建、生命周期管理、通知等問題。簡單地說。網格服務=接口/行為+服務數據。
以網格服務為中心的模型具有如下好處:(1)由于網格環境中所有的組件都是虛擬的,因此,通過提供一組相對統一的核心接口,所有的網格服務都基于這些接口實現,就可以很容易地構造出具有層次結構的、更高級別的服務,這些服務可以跨越不同的抽象層次,以一種統一的方式來看待。(2)虛擬化也使得將多個邏輯資源實例映射到相同的物理資源上成為可能,在對服務進行組合時不必考慮具體的實現。可以以底層資源組成為基礎,在虛擬組織中進行資源管理。通過網絡服務的虛擬化。可以將通用的服務語義和行為,無縫地映射到本地平臺的基礎設施之上。

5、網格技術在三維動畫中的實際應用
數字媒體制作對計算機的總線帶寬計算速度等硬件要求越來越高,但用于生成最終效果的CPU。其處理能力都是十分有限的,即便是多處理器的工作站使用數小時渲染一幀較復雜場景也是很平常的事情。那么對于一個數分鐘或者幾小時擁有上萬幀的片子,其渲染時間將是十分漫長的,因此,三維動畫渲染研究迫切需要新一代的網格計算技術解決計算資源和存儲資源問題,以便能在較短的時間內得到上萬幀的數字媒體。
在我國,網格研究已列入“863計劃”。中國科學院計算技術研究所從1996年開始了網格技術的研究開發工作,2001年提出了織女星網格計劃。同濟大學從事基于OGSI的網格計算相應的理論研究:西安交通大學、中科院遙感重點實驗室也針對網格的Web service內容進行了深入研究。國防科技大學、中國科技大學針對網格安全問題及網格環境下文件傳輸的操作方法也有所開展。同時,清華大學、武漢大學、江南計算技術研究所及一些應用領域的單位,目前已經開始用Globusl具集來構建網格,并做一些工作流方面的網格性能研究。尤其值得關注的是,華中師大建成的高性能計算網格平臺及其三維動畫應用系統(如圖3所示)正是將網格技術和三維動畫技術相結合,為三維動畫提供了一個強大的網格應用服務系統,該系統的聚合計算能力達到5000億次/秒、存儲能力達到20TB,較好地解決了數字媒體渲染時間長的問題。利用高性能計算網格平臺及其三維動畫應用網格系統,對于三維動畫項目如動畫片“7攝氏度”、“孔子的故事”、“數字武當山”、“三峽考古數字展”等的研究及開發工作提供了良好的工作平臺。
三維動畫應用網格系統主要集成了專業網格平臺管理軟件License;Maya、3DMax等多種專業軟件:以及CCNUGrid大量異構的高性能計算資源。該系統具有統一的Web圖形化交互界面,注冊用戶經身份論證后。可以利用CCNUGrid整合的計算資源和三維動畫應用網格系統進行相關的應用研究,大大減少了數字媒體的制作周期。高性能計算網格渲染平臺將在原系統的基礎上擴大到規模為5個網格節點,250個AMD或Intel CPU,聚集能力達到每秒8000億次的計算能力。網格渲染應用系統將Platform軟件產品LSF HPC、Platform LSF MultiCluster和Platform LSFReports之上,采用高級編程語言通過三維建模軟件提供的SDK平臺與Platform軟件接口API開發而成。高性能計算網格渲染系統的網格結點集群將采用線性度的高性能擴展設計方案,在節點機增加一倍的情況下,其渲染速度幾乎增加一倍。
6、結語
網格技術是信息領域的新技術,它就是將各種資源連接起來,使得資源在物理上是分散的,邏輯上是整體的,用戶可以非常方便透明的使用各種資源。如何將網格技術應用于三維動畫當中,目前還處于摸索階段,而本文作者的創新點:將目前流行的網格技術和三維動畫技術進行結合。探討了網格技術應用于三維動畫中所帶來的優勢,展現了網格技術應用于三維動畫的光明前景。