然后出现了JOGL
java也许是最流行的真正的面向对象的编程语言。有许多用Java去结合OpenGL的尝试,但是第一个被大家认可并注重的是Java对于OpenGl的绑定(Java Bindings for OpenGL), 或者称为JOGL.理由是它得到Sun(Java的创建者)和SGI(OpenGL的创建者)的支持。
如今,Sun的游戏开发小组正在开发JOGL.它是以肯。拉塞尔和克里斯。克兰开发的Jungle开始的。拉塞尔是Sun的员工,研发“HotSpot虚拟机”,拥有多年的三维经验。克兰则研发“荒谬的游戏”,对三维图形学也相当有经验。
我个人对他们以及所有其它工作在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的知识,你就可以完成一些相当复杂的事了。现在你需要扫视一下的类有:*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到本机的接口的代码的尝试,是非常困难的。
新闻热点
疑难解答