Commons Collections僥楼永芝?匯? - 園殻秘壇利
高了。
简单的球绘制程序只使用一个 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |