• 沒有找到結果。

虛擬實境建構

在文檔中 第一章 導論 (頁 32-36)

系統實現

3.1 軟體實現

3.1.1 虛擬實境建構

虛擬實境的特性是,必須是一個由電腦產生的三維立體空間,使用者可以 和這個空間的物件進行互動,或是操作其中的部分物件,並可在空間中任意移動 進而產生相當的融入感及參與感。藉由模擬得到的感受,使用者可以和虛擬實境 中的虛擬物件作互動而有身歷其境的效果,然而人類感官刺激的呈現,有賴虛擬 實境軟體的快速運算,而使用者與虛擬環境的各項互動,則需要倚靠各項特別設 計的裝置或設備的配合。接下來我們將介紹 3D 繪圖與模型函式庫,並比較各種 虛擬實境軟體技術。

在本論文的實驗中,需要使用到電腦繪圖[6]的工具以製作場景的影像,現 今電腦繪圖的運算環境,如圖3-3所示,使用者透過 I/O 設備與視窗系統互動,

常見的視窗系統如 Microsoft Windows系列的作業系統及 UNIX上的 X window 環境,應用程式及其模型則建構在圖學函式庫(Graphics library)之上,所謂圖學 函式庫是一個常式(routine)的工具集,包含低階的程式碼,雖然工作與圖形的硬

體設備很密切,但通常不會限定設備(Device-independent),顯示設備包括顯示卡 和其驅動程式以及顯示器等部分,常見的圖學函式庫有OpenGL、WTK等。以下 就較知名的虛擬實境應用軟體做整理與比較 [10,11,22,35]:

1. WTK ( World Tool Kit )

WTK是一套開發時間較早的圖學函式庫,它所能支援的周邊軟體 相當完善,亦可在多種不同的作業系統平台上運作。然而其本身並不提 供視覺化的模型編修工具,必須由其他的模型建構軟體建立所需的物 件,再利用WTK的程式去呼叫物件並建立虛擬場景;因此撰寫與開發 WTK程式相當花費時間,為使用上較不便之處。

應用模型

I/O 設備

視窗系統

應用程式

圖學函式庫 (Graphics library)

顯示設備

圖 3-3 電腦繪圖之運算環境

2. World Up

World Up與WTK為同一家公司所開發的虛擬實境應用軟體開發工 具,其所能支援的周邊硬體數量亦相當眾多。與WTK不同之處在於其 已具備簡單的模型編修功能,並提供了開放性的資料庫連接(Open DataBase Connectivity, ODBC)功能。World Up的使用者介面設計良好,

即使是不熟悉程式設計者都可以輕易開發所需要的虛擬世界。然而 World Up對電腦的硬體要求較高,尤其在圖形的處理能力上,除了中央 處理器(CPU)和隨機記憶體(RAM)外,一般需要搭配較好的繪圖加速卡。

3. Division

Division原本只能在高階繪圖工作站上運作,因為個人電腦的快速 發展,也開發了個人電腦的版本。與WTK一樣,Division本身不提供編 修功能,需藉由其他軟體來建構虛擬場景所需的物件;但也提供了相當 多的物理特性函式庫,設計者毋需特別撰寫即可使用。Division的個人 電腦版本對於硬體要求相當高,一些工作站上的功能還是無法在個人電 腦上使用。

4. VRT ( SuperScape )

VRT亦為一套開發較早的虛擬實境應用軟體,除了可以提供基本的 物件編修功能外,亦可接受其他模型建構軟體所支援的檔案格式,擴充 性頗佳;然而透過VRT所表現的虛擬實境場景畫面在顏色的表現上受到 相當大的限制,為其主要的缺點所在。

5. OpenGL

OpenGL的正式定義是「繪圖硬體的軟體介面」,它是3D繪圖與模 型函式庫,既迅速又可移植;OpenGL是一個文件完備的應用程式設計 介面( Application Programming Interface, API ),提供許多包裝好的功能 函數;除此之外,更具有穩定、可靠、可攜性高等特性,尤其是OpenGL 的程式可攜性,不論在Windows或是UNIX上皆可使用,使得用OpenGL

所開發出來的程式在未來更具有發展性。

綜合以上的比較,我們決定選用穩定且可攜性高的OpenGL圖學函式庫作為 我們的電腦繪圖工具;OpenGL已在1992年已成為工業標準,由獨立的OpenGL ARB( Architecture Review Board )管理其規範,其中的成員包括SGI( Silicon Graphics )、Digital、IBM、Intel、以及Microsoft等大廠,很多影像顯示卡和作業 系統也都支援OpenGL。圖3-4為 OpenGL 成像流程,當應用程式發出OpenGL API 函數呼叫時,指令會放到指令緩衝區中。緩衝區最終會填滿指令、座標點資料、

材質資料等等。當緩衝區清空(Flush)時,不管是經由程式指令或驅動程式本身的 設計,指令與資料都會被傳到下一個階段。座標點資料會先被轉換並進行燈光運 算,其中用以描述物體幾何位置的座標點會針對物體的位置與方向進行運算,同 時也會進行光影計算,以得出每個點上的顏色該有多亮,完成這個程序後,就把 資料提供給掃描顯像部份。掃描顯像器將依幾何位置、顏色與材質資料建立影 像,然後影像會放到圖形緩衝區內。圖形緩衝區是圖形顯示裝置的記憶體如:繪 圖卡、顯示卡,到了這個階段會把影像顯示到螢幕上。

圖 3-4 OpenGL 成像流程 OpenGL

指令緩衝 區 OpenGL

API 函數 呼叫

轉換與打光

掃描 顯像

圖形緩 衝區

在文檔中 第一章 導論 (頁 32-36)

相關文件