前段时间我读到关于 Java 3D 集成到 Java FX 中的文章,该文章报告说主要的 Java 3D 项目因为将 3D 引擎重写为 FX 是“死的”。
2 回答
Sun 已经表示他们不再专注于对 Java3D API 的改进。官方公告在:
https://java3d.dev.java.net/servlets/NewsItemView?newsItemID=5689 http://forums.java.net/jive/thread.jspa?threadID=36022
如您所见,Sun 本身正在将注意力转移到新的 3D 场景图形 API 上,该 API 最终将成为 JavaFX 的一部分。
否则,有许多可用于 Java 的高质量 3D API(例如JMonkeyEngine或Ogre3D),或者您始终可以使用低级 API,例如JOGL和LWJGL。
Sun Microsystems 于 2004 年夏季将 Java 3D 作为社区源项目发布,并于 2008 年 1 月 29 日放弃了它(正如 jsight 在上面的回答中所写的那样)。它在 2008 年 2 月 28 日发布了 GPL 2 下的全部源代码,但类路径异常。第一个社区版本是 Java 3D 1.5.2。
哈维多年来一直在维护它。我在 2012 年 2 月 10 日启动了 JOGL 渲染器的移植,从 JOGL 1 到 JOGL 2,它已经成为 JogAmp 社区的一个项目。它在 2015 年仍然活跃。它的公共 API 被冻结,它基本上保持不变。许多错误已得到修复。非常感谢 Harvey 和其他主要贡献者 :) Java 3D 1.6.0 可在此处获得,安装说明在此处。
Java 3D 1.6.0 是可靠的,但不是面向未来的。它依赖于固定的管道,它不能与 OpenGL ES 一起工作,它不支持任何向前兼容的配置文件。我们只修复错误,我们不会在其中实现任何新功能。
有许多替代方案,包括JogAmp 的 Ardor3D Continuation、JMonkeyEngine、LibGDX、JavaFX 3D 图形功能……大多数主要的场景图形 API 都使用JOGL作为访问硬件加速的手段,但如果您寻找较低级别的东西,您可以直接使用它比Java 3D。
PS:一个新的贡献者在 Java3D 1.7.0 上工作,它将添加 Android 支持 :)