2009-05-03 143 views
10

在Java中使用DirectX有沒有簡單的方法?特別是DirectX的視頻API。Java上可以使用DirectX嗎?

我知道C#可能是一個更自然的選擇,但我有我想要做某事這樣不正當的迂迴理由。

回答

3

我不知道簡單,但你總是可以使用JNI來加載DirectX庫並調用方法。

使用類似Swig的東西,你可以自動生成很多代碼。

不知道如何可行這樣的事情雖然。

2

似乎有一個standard API關於處理Java內部的3D。

它可能使用某種加速技術,甚至可能是DirectX。

但我不確定在此框架中的直接視頻支持。

+0

我相信Java3D的是OpenGL的 – 2009-05-03 14:43:31

+2

供電它同時支持OpenGL和DirectX:https://j3d-core.dev.java.net/j3d1_5_2/RELEASE-NOTES.html – McDowell 2009-05-03 15:03:09

+0

不過,雖然,這只是3D我主要對視頻API感興趣。 – izb 2009-05-04 07:48:24

0

要調查的包是Java媒體框架(JMF)。它的核心是純Java,每個平臺的「性能包」通過本地庫提供加速。它目前支持數據類型的wide variety中的A/V採集和回放,以及通過RTP和RTSP進行流式傳輸。

Sun的JMF home page

JMF SW/HW requirements

0

Minecraft是用Java編寫的LWJGL,但彌賽亞Andrew的Renderer Wrapper通過使用LWJGL庫的修改版本將OpenGL轉換爲DirectX。使用這些庫,您應該能夠在LWJGL中編寫代碼並讓遊戲運行DirectX。

0

似乎大多數人都忘記了JavaFX和Java3D同時支持DirectX和OpenGL,它們使用您所在機器的最佳環境......實際上,如果您在Windows上,它會嘗試加載DirectX,如果它比您的OpenGL版本。

我不告訴任何人使用Java3D或JavaFX,但如果你看看源代碼,你可以看到它是如何完成的。

GrepCode「好找的東西是如何實現」

Open JavaFX「打開JavaFX項目家園」 source

我要指出,你想看看com.sun.prism包。

Java3D 「Java3D的項目主頁」 sources

我一直學習發展,LOL,20年。從專業角度來看,大概有8種可能的問題從來都不是問題,但是需要多長時間和/或是否值得呢?這就是問題所在。

祝你好運我的朋友!

如果您需要任何幫助,我會興趣創建一個DirectX包裝爲Java這樣

給我留言!

相關問題