Java 上で DirectX は可能ですか?
質問
Java で DirectX を使用する簡単な方法はありますか?特に、DirectX のビデオ API。
C# の方が自然な選択かもしれないことはわかっていますが、これほど倒錯的なことをしたいのには私なりの理由があります。
解決
簡単なことはわかりませんが、いつでも JNI を使用して DirectX ライブラリをロードし、メソッドを呼び出すことができます。
次のようなものを使用して スウィッグ 多くのコードを自動生成できます。
ただし、そのようなものがどれほど機能するかはわかりません。
他のヒント
Java内での3Dの処理に関する標準API があるようです。
おそらく、何らかの種類の加速テクノロジを使用します。DirectXである場合もあります。
しかし、このフレームワークでの直接的なビデオサポートについてはわかりません。
BridJ( https://bridj.googlecode.com )を使用して、DirectXクラスをラップするライブラリを作成します。 C ++の例とほぼ同じコードを使用できます。
ライブラリは https://bitbucket.org/fourthskyinteractive/directx-for-にあります。 java 。
開発中のプロジェクトについて教えてください。
http://java-direct3d.sourceforge.netで利用可能なJava用のDirect3Dバインディングのセットがあります。 / しかし、DirectX 9では2006年に開発が停止したようです。
それ以外の場合、 JOGL というJava用のOpenGLバインディングがあります。
調査するパッケージは、Java Media Framework(JMF)です。その中心は、純粋なJavaとプラットフォームごとの「パフォーマンスパック」です。ネイティブライブラリを介して高速化を提供します。現在、さまざまなデータタイプ、RTPおよびRTSPを介したストリーミング。
Sunの JMFホームページ
JMF SW / HW要件
MinecraftはJavaでLWJGLとコーディングされていますが、Messiah AndrewのRenderer Wrapperは、LWJGLライブラリの修正バージョンを使用してOpenGLをDirectXに変換します。これらのライブラリを使用すると、LWJGLでコーディングし、ゲームでDirectXを実行できるようになります。
ほとんどの人は、JavaFX と Java3D が、使用しているマシンに最適なコンテキストを使用して DirectX と OpenGL の両方をサポートしていることを忘れているようです...実際、Windows を使用している場合、OpenGL バージョンより新しい場合は DirectX をロードしようとします。
私は誰にも Java3D か JavaFX のどちらかを使用するようにと言っているわけではありませんが、ソースを見れば、それがどのように行われるかがわかります。
Grepコード 「物事がどのように実装されているかを調べるのに適しています」
JavaFXを開く 「JavaFX プロジェクトのホームを開く」 ソース
注意していただきたいのは、
com.sun.prism
パッケージ。
私は行ってきました 学ぶ 発達、 笑, 、20年間。専門的には 8 回くらい可能かという問題は一度もありませんでしたが、どれくらいの期間、そして/またはそれだけの価値があるのでしょうか...それが質問です。
幸運であれ友よ!
何か助けが必要な場合は、Java 用の DirectX ラッパーを作成することに興味があるので、
シャウトしてください!