我的问题是:
另外,我正在使用Windows。 绘制3D对象有不同的方法吗?
答案 0 :(得分:5)
如何在Java中使用Opengl或DirectX。
有许多可用于Java的OpenGL绑定。 Java似乎本身并不支持DirectX,似乎也没有可用的库提供绑定。
在Java中使用它时,DirectX是否比Opengl有任何重大优势?
我说DirectX与OpenGL相比处于劣势,因为它缺乏对Linux或OSX的支持。如果你想用Java编写跨平台游戏,我建议你去看看OpenGL。
有没有办法在不使用API的情况下这样做?
我认为你的意思是图书馆。 Java提供了一个绘制API:Java2D。如果您想编写游戏并且通常以计算机图形开始,这可能是一个不错的起点。 Java不为OpenGL或DirectX提供绑定,作为标准库的一部分。
我应该使用如下的API:JOGL LWJGL
我对LWJGL有很好的经验。因此,如果您想尝试使用OpenGL,我建议您使用它们的绑定。
Java FX对制作3D内容有用吗?
就我的经验而言,JavaFX仍然有些错误(尝试时遇到了几个错误)。我不知道它对3D图形的效果如何。
答案 1 :(得分:5)
JOGL是OpenGL和OpenGL ES API的Java绑定。我从2006年开始使用JOGL,我对它非常满意,安装起来非常简单here。它适用于桌面和嵌入式环境,它也支持Android,几乎所有主要的中高级API都使用它,包括JogAmp's Ardor3D Continuation,JMonkeyEngine,Java3D,Xith3D,{{3 }},... LibGDX允许在普通Java2D编码时使OpenGL受益,而无需了解OpenGL。
我同意Bartvbl关于JavaFX 3D API的信息,它明显比我上面提到的API更差。
JOGL是OpenGL和OpenGL ES API唯一统一的Java绑定。它适用于游戏和其他应用程序(CAD,...),因为它支持多个显示器,多个屏幕,多个显示器。如果要支持操纵杆,可以将它与JInput一起使用。