質問

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 パッケージ。

Java3D 「Java3Dプロジェクトホーム」 ソース

私は行ってきました 学ぶ 発達、 , 、20年間。専門的には 8 回くらい可能かという問題は一度もありませんでしたが、どれくらいの期間、そして/またはそれだけの価値があるのでしょうか...それが質問です。

幸運であれ友よ!

何か助けが必要な場合は、Java 用の DirectX ラッパーを作成することに興味があるので、

シャウトしてください!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top