Java3D與其他三維技術的比較
JAVA3D可應用在三維動畫、三維游戲、機械CAD等多個領域。但作為三維顯示實現技術,它并不是唯一選擇而且是一個新面孔。在Java3D之前已經存在很多三維技術,這些三維技術在實現的技術、使用的語言以及適用的情況上各有不同,我們主要介紹與Java3D又密切關系的三種技術:OpenGL、DIRECT3D、VRML
OpenGL是業界最為流行也是支持最廣泛的一個底層3D技術,幾乎所有的顯卡廠商都在底層實現了對OpenGL的支持和優化。OpenGL同時也定義了一系列接口用于編程實現三維應用程序,但是這些接口使用C(C++)語言實現并且很復雜。掌握針對OpenGL的編程技術需要花費大量時間精力。
DIRECT3D是Microsoft公司推出的三維圖形編程API,它主要應用于三維游戲的編程。眾多優秀的三維游戲都是由這個接口實現。與OpenGL一樣,Direct3D的實現主要使用C++語言。
VRML2.0(VRML97)自1997年12月正式成為國際標準之后,在網絡上得到了廣泛的應用,這是一種比BASIC、JAVASCRIPT等還要簡單的語言。腳本化的語句可以編寫三維動畫片、三維游戲、計算機三維輔助教學。它最大的優勢在于可以嵌在網頁中顯示,但這種簡單的語言功能較弱(如目前沒有形體之間的碰撞檢查功能),與JAVA語言等其它高級語言的連接較難掌握,因而逐漸被淹沒在競爭激烈的網絡三維技術中。
表1是Java3D與其它三維技術的比較圖,可以從中直觀的看出他們相互間的區別:
技術 |
實現層次 |
開發技術(難度) |
擴展性 |
最適合應用領域 |
Java3D |
中層(JVM) |
Java(較易) |
J2SE標準擴展(好) |
網上三維顯示實現… |
OpenGL |
底層(顯卡) |
C\C++(難) |
各大廠商支持(較好) |
三維設計軟件… |
Direct3D |
底層(操作系統) |
C++(較難) |
Windows平臺(差) |
三維游戲… |
VRML |
上層(網頁) |
標記語言(容易) |
安裝插件支持(一般) |
網上虛擬現實… |
表1:3D技術對招表