2014-05-18 63 views
4

我的问题是:如何使用OpenGL/DirectX的在Java中

  • 如何在Java中使用OpenGL或DirectX。
  • 当在Java中使用DirectX时,DirectX与Opengl相比有何优势?
  • 有没有办法这样做,而不使用API​​?
  • 我应该使用一个API,例如: JOGL LWJGL
  • 会的Java FX是制作3D的东西有用吗?

此外,我正在使用Windows。 有没有不同的方式绘制3D对象?

+2

您需要明确哪些可以跟原生界面的库,所以您不必在自己的代码来做到这一点。如果你使用OpenGL,你的程序很容易移植到其他平台上。 –

+0

我不知道你在试图达到什么目的,但是如果你只是想渲染一些简单的3D,你可能会给JavaFX一个镜头:https://www.youtube.com/watch?feature=player_detailpage&v = EBKHdV-_rIc – Veluria

回答

5

如何在Java中使用Opengl或DirectX。

有许多OpenGL绑定可用于Java。 Java本身似乎不支持DirectX,似乎也没有可用的库提供绑定。

的DirectX是否有任何大的优势超过Opengl的使用Java中的时候吗?

我想说DirectX与OpenGL相比,由于缺乏对Linux或OSX的支持,处于劣势。如果你想用Java编写跨平台游戏,我建议看看OpenGL。

有没有办法这样做,而不使用API​​?

我假设你是指图书馆在这里。 Java为绘图提供了一个API:Java2D。如果你想写游戏,并且一般用计算机图形开始,这可能是一个不错的起点。 Java不会为OpenGL或DirectX提供绑定作为标准库的一部分。

我应该使用一个API,例如:JOGL LWJGL

我有LWJGL很好的经验。因此,如果您想尝试使用OpenGL,我可以推荐使用它们的绑定。

Java FX可以用于3D制作吗?

根据我的经验,JavaFX仍然有点问题(尝试它时遇到了一些错误)。我不知道它在做3D图形方面效果如何。

3

JOGL是OpenGL和OpenGL ES API的Java绑定。我自2006年以来一直使用JOGL,我对此非常满意,安装非常简单,您可以看到here。它适用于桌面和嵌入式环境,它也支持Android,它几乎用于所有主要的中高级API,包括JogAmp's Ardor3D Continuation,JMonkeyEngine,Java3D,Xith3D,LibGDX,... GLG2D允许OpenGL在普通Java2D编码时受益而不必知道OpenGL。

我Bartvbl同意关于JavaFX 3D API是明显比我上面引述的API的更穷。

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

+0

我将不胜感激,只有投票反馈我答案的人告诉我为什么。 – gouessej

+0

我觉得这个答案有点偏颇。 “我对它很满意” 此外,它不回答整个问题。我仍然认为这个答案是有用的,答案通常比没有答案好。 – Stefnotch

+0

我回答了你的问题,我给了你一个详细教程的链接,解释如何安装JOGL,没有人可以简单地解释如何使用OpenGL,因为这不是几分钟内你可以学到的东西,而且有很多链接到我们wiki中的一些教程。你问是否有不同的方法来绘制3D对象,我提到了许多基于JOGL的3D引擎。我的回答并没有比Bartvbl更有偏见,我谈到了JavaFX 3D API,因为Veluria提到了它。 – gouessej