如何在Java中使用Opengl / DirectX

时间:2014-05-18 11:19:21

标签: java opengl directx

我的问题是:

  • 如何在Java中使用Opengl或DirectX。
  • 在Java中使用它时,DirectX是否比Opengl有任何主要优势?
  • 有没有办法在不使用API​​的情况下这样做?
  • 我应该使用API​​,例如: JOGL LWJGL
  • Java FX对制作3D内容有用吗?

另外,我正在使用Windows。 绘制3D对象有不同的方法吗?

2 个答案:

答案 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 ContinuationJMonkeyEngineJava3D,Xith3D,{{3 }},... LibGDX允许在普通Java2D编码时使OpenGL受益,而无需了解OpenGL。

我同意Bartvbl关于JavaFX 3D API的信息,它明显比我上面提到的API更差。

JOGL是OpenGL和OpenGL ES API唯一统一的Java绑定。它适用于游戏和其他应用程序(CAD,...),因为它支持多个显示器,多个屏幕,多个显示器。如果要支持操纵杆,可以将它与JInput一起使用。