13

有没有一种在 Java 中使用 DirectX 的简单方法?特别是 DirectX 的视频 API。

我知道 C# 可能是一个更自然的选择,但我想要做一些如此反常的事情有我不正当的理由。

4

7 回答 7

4

我不知道容易,但你总是可以使用 JNI 来加载 DirectX 库并调用方法。

使用Swig之类的东西,您可以自动生成大量代码。

不过,不确定这样的事情有多可行。

于 2009-05-08T14:51:35.330 回答
3

似乎有一个关于在 Java 中处理 3D的标准 API 。

它可能使用某种加速技术,甚至可能是 DirectX。

但我不确定这个框架中的直接视频支持。

于 2009-05-03T14:37:51.983 回答
3

我使用包装 DirectX 类的 BridJ ( https://bridj.googlecode.com ) 创建了一个库,因此您可以使用与 C++ 示例几乎相同的代码。

您可以在https://bitbucket.org/fourthskyinteractive/directx-for-java中找到该库。

请让我知道您开发的项目。

于 2013-06-14T16:48:01.853 回答
2

在http://java-direct3d.sourceforge.net/上有一组用于 Java 的 Direct3D 绑定,但似乎在 2006 年 DirectX 9 停止了开发。

否则,有用于 java 的 OpenGL 绑定,称为JOGL

于 2009-05-03T14:48:53.203 回答
1

您要研究的包是 Java Media Framework (JMF)。它的核心是纯 Java,每个平台的“性能包”通过本机库提供加速。它目前支持多种数据类型的 A/V 捕获和播放,以及通过 RTP 和 RTSP 进行的流式传输。

Sun 的JMF 主页

JMF软件/硬件要求

于 2009-05-08T16:04:28.027 回答
1

Minecraft 是使用 LWJGL 用 Ja​​va 编写的,但 Messiah Andrew 的 Renderer Wrapper 使用 LWJGL 库的修改版本将 OpenGL 转换为 DirectX。使用这些库,您应该能够在 LWJGL 中编写代码并让游戏运行 DirectX。

于 2014-01-18T16:36:56.663 回答
1

似乎大多数人都忘记了 JavaFX 和 Java3D 支持 DirectX 和 OpenGL,使用您所在机器的最佳上下文......实际上,如果您在 Windows 上,它会尝试加载 DirectX,如果它比您的 OpenGL 版本更新。

我没有告诉任何人使用 Java3D 或 JavaFX,但如果您查看源代码,您会看到它是如何完成的。

GrepCode “非常适合查找事物是如何实现的”

打开 JavaFX “打开 JavaFX 项目主页”

我应该注意到你想看一下com.sun.prism包裹。

Java3D “Java3D 项目主页”

20 年来,我一直在学习发展,哈哈。专业上大约 8 种可能从来都不是问题,但要花多长时间,和/或值得……这些都是问题。

祝你好运,我的朋友!

如果您需要任何帮助,我将有兴趣为 java 创建一个 DirectX 包装器,所以

给我一声呐喊!

于 2016-07-12T14:09:29.473 回答