快速业务通道

Commons Collections僥楼永芝?匯? - 園殻秘壇利

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
高了。

简单的球绘制程序只使用一个 pbuffer 和 0 个显示列表来用 500 个不同的帧绘制 500 个球,在 Linux 环境下大约花了 50s 的时间。使 用显示列表来实现同样的程序却只花了12s,所以我们决定将显示列表集成到项目中来使它更容易。

将显示列表添加到 3D-XplorMath-J 相当简单。其思想是将渲染对象的代码放入显示列表中,在渲染程序需要绘制到屏幕时,通过调用显示 列表来实现。这意味着,当对象仅需要转换时,如在旋转对象时,我们只需将转换应用到列表中,而不是使用对象新的方向来重新渲染它。

使用显示列表能大大提高旋转曲面的速度,但使用显示列表后还是比较慢。我们发现,这是因为我们使用 glBegin(GL_POLYGON) 来绘制单 个多边形。使用 glBegin(GL_QUAD_STRIP) 来绘制曲面后,速度就提高了。GL_QUAD_STRIP 是一个几何原型,是一次由两个顶点定义的多边形 闭边。这点微小的改动使得与绘制单个对变形相比,速度大大提高了。

了解将这两项技术实现到项目所带来的速度提高后,使用 pbuffer 付出的代价相比而言就很小了。现在我们就有了一个能很快执行实时渲 染的程序,甚至对复杂的几何对象也是如此。

快速了解 Java 6 和 OpenGL

在 Java SE 6 中,JOGL 和 Java 2D 可以直接同时使用。Java 6 现在允许 Swing 对象覆盖 OpenGL 渲染。现在,渲染 3D OpenGL 图形可 以直接在 Java 2D 图形上完成,类似地,Java 2D 图形也可以直接在 3D OpenGL 图形上绘制。到目前为止,3D-XplorMath-J 项目会继续使用 Java 5,但将来转向 Java 6 会有更多设计选项来集成 OpenGL 渲染,这会更可靠和可有效。Java 6 使得使用 GLJPanel 或 GLCanvas 相当自 然,这意味着无需再依赖从 pbuffer 获取缓冲图像来获得一点小小的速度提高了。不使用 pbuffer 将避免不能在一些计算机上使用 pbuffer 的麻烦,使 OpenGL 渲染能被更多人利用。Java 6 在图形和 Java 编程语言方面无疑是一大进步,应该通过它来结合使用 OpenGL 和 Java。 但对于仍然需要 Java 5 的程序而言,在转向 Java 6 之前,pbuffer 是使用 OpenGL 和 Java 2D 的选择。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号