然后出現了JOGL
java也許是最流行的真正的面向對象的編程語言。有許多用Java去結合OpenGL的嘗試,但是第一個被大家認可并注重的是Java對于OpenGl的綁定(Java Bindings for OpenGL), 或者稱為JOGL.理由是它得到Sun(Java的創建者)和SGI(OpenGL的創建者)的支持。
如今,Sun的游戲開發小組正在開發JOGL.它是以肯。拉塞爾和克里斯。克蘭開發的Jungle開始的。拉塞爾是Sun的員工,研發“HotSpot虛擬機”,擁有多年的三維經驗??颂m則研發“荒謬的游戲”,對三維圖形學也相當有經驗。
我個人對他們以及所有其它工作在JOGL上的人表示感謝。曾經有許多想通過友好的Java API來使用OpenGL的嘗試——其中包括Java 3D, OpenGL for Java Technology (gl4java)(用于Java技術的OpenGL),Lightweight Java Game Library (LWJGL)(輕量級的Java游戲庫)。JOGL是第一個使我感到滿足的。
JOGL是Sun支持的對于OpenGl的Java類綁定。哇!這句話說得太妙了。
OpenGL被用來展示三維模型。它強大、快速,而且可能是自Swing出現以來最棒的一樣東西。通過JOGL來使用OpenGL,你可以制作出很酷的游戲或是模型位置什么的,而在這之前創建它們需要非常昂貴的成本。有人寫了很厚很厚的書來描述OpenGL,當你熟悉了它們以后這些書會很有用,但現在不行。你必須學習展現在你面前的OpenGL是如何使用Java API的。同樣你還得看一下關于net.java.games.jogl.*的基礎介紹,可能還得補習一下數學知識。
獲取JOGL?
假如你想使用JOGL,你需要得到jogl.jar以及附帶的本機代碼。我希望有一天它可以成為Java的標準安裝,但現在它只是一個夢想。
第一步是要找到你的操作系統所對應的包,并進行解壓縮。我是在http://www.javaworld.com/javaworld/jw-02-2005/jw-0221-jogl.Html#resources上找到的。不同的操作系統有所區別,但需要安裝2個部分。系統的classpath里一定要有jogl.jar,而且binary庫必須放在和你操作系統的庫同一個地方。假如比較幸運的話,安裝程序可以為你完成這些。假如你沒有安裝程序而且不知道該上哪里去尋找關于設置計算機的信息的話,你可以從我提供一個鏈接Resources開始搜索。我們的第一篇代碼是非凡用來測試環境是否安裝正確的,所以對于測試安裝你不必緊張。
JOGL的Javadocs
同樣可以在和JOGL 的binary 發布版一樣的位置獲得Javadocs.Javadocs將會以類似jogl-1.0-usrdoc.tar的名字而命名。
假如你瀏覽一下net.java.games.jogl包,你很快會注重到有些類非常大。GL便是一個完美的例子。別被這個嚇跑了,你很快能發現只需一點點JOGL的知識,你就可以完成一些相當復雜的事了?,F在你需要掃視一下的類有:*GLDrawable *GLCanvas *GLJPanel *GLCapabilities *GLDrawableFactory
這些是連接圖形世界基本的接口。假如你還記得,前面我提到對于初學OpenGL的人來說,有一個很大的缺點,那就是缺乏窗口系統的標準。對應于C語言,GLUT起到了相當大的作用。而我們則有Swing和AWT(抽象窗口工具箱)。很可能你已經使用過AWT或者Swing了,所以你不會感到自己在從頭學起。這是件非常好的事情。在通過了非常簡短的關于把JOGL組件放置到屏幕上的介紹以后,我們不需要多長時間就可以運行出一個相當酷而且流行的程序了。
GlueGen……幾乎和JOGL一樣酷?
你應該意識到,OpenGL是為C程序員而寫的。這意味著Java想要利用它,必須要用到本機接口。不那么有趣的JNI(Java本機接口)必須用來進行此連接。OpenGL太大了,手寫所有的連接太費時。想稍微做出一點復雜的程序,有許多非凡出售的特性,OpenGL則保持改進,那意味著得有相應的變化來跟上OpenGL的步伐。簡而言之,對于任何試著寫與OpenGL保持同步,包含所有Java到本機的接口的代碼的嘗試,是非常困難的。
新聞熱點
疑難解答