如何在Java中使用Opengl/DirectX

Ste*_*tch 4 java opengl directx

我的问题是:

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

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

Bar*_*vbl 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图形的效果如何.


gou*_*sej 5

JOGL是OpenGL和OpenGL ES API的Java绑定.我从2006年开始使用JOGL,我对它非常满意,安装非常简单,你可以在这里看到.它既适用于桌面环境又适用于嵌入式环境,它也支持Android,几乎所有主要的中高级API都使用它,包括JogAmp的Ardor3D Continuation,JMonkeyEngine,Java3D,Xith3D,LibGDX,... GLG2D允许在编码时使OpenGL受益普通的Java2D,无需了解OpenGL.

我同意Bartvbl关于JavaFX 3D API的信息,它明显比我上面引用的API更差.

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