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

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

有帮助吗?

解决方案

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

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

不确定这样的事情是否可行。

其他提示

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

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

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

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

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

请告诉我你开发的项目。

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

否则,有一个名为 JOGL 的java的OpenGL绑定。

您要调查的包是Java Media Framework(JMF)。它的核心是纯Java,每个平台的“性能包”和通过本机库提供加速。它目前支持在各种各样的数据类型以及通过RTP和RTSP进行流式传输。

Sun的 JMF主页

JMF SW / HW要求

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

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

我没有告诉任何人使用Java3D或JavaFX,但是如果你看一下源代码,就可以看到它是如何完成的。

GrepCode “非常适合查找实施方式”

Open JavaFX “Open JavaFX project home” 来源

  

我应该注意你要查看 com.sun.prism 包。

Java3D " Java3D project home" 来源

我已经学习开发, LOL ,已有20年。从专业角度来看大约8种可能从来就不是问题,但是多长时间,和/或是否值得......这些都是问题。

祝你好运我的朋友!

  

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

     

给我一个大喊大叫!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top