質問したいのですが、私はJavaを初めて使用し、実際の3Dおよびマルチプラットフォームアプリケーションを作成したいと思います。初めから、私はそのマルチプラットフォーム性のためにJavaだけが好きでした。しかし、3Dに関しては、最初にJOGLを試しました。OK、なんとかしてOpenGLドライバーに接続しているので、マルチプラットフォームにすることはできません。しかし、なぜ3D APIの真のマルチプラットフォーム(したがってJVMのみに依存する)バージョンがないのかについても考えました。私がJava3Dを見つけたより。まず、探しているものだと思いました。しかし、私が知ったよりも、それはネイティブライブラリにも依存しています。
それで、純粋にJavaで書かれたJava用の3D APIはありますか?そしてもちろん、少なくとも少しのハードウェアアクセラレーションはありますか?JVMがネイティブコードライブラリの代わりにハードウェアアクセラレーション機能を提供できなかった理由はわかりません。ありがとう。
編集:こんにちは。さて、私はあなたの答えを読みました、加速された3Dグラフィックスのプラットフォームに依存しない方法はあり得ないことについて。しかし、なぜですか?つまり、JVMは、プラットフォームに依存しないようにする必要があるということですよね?彼らがする必要があるのは、ネイティブライブラリをJVMに直接埋め込むことだけです。たとえば、JVMがOSですべてのIOを実行する場合、そのプラットフォームに依存します。Swingが描画したい場合、JVMはネイティブコードを使用して、たとえばWinAPI、X Systemなどにアクセスする必要があります。それで、私が本当に尋ねるのは、それについて何が違うのかということです。たとえば、OpenGLバインディングをJVMに追加しますか?他のOSルーチンを呼び出すのと同じように?違いはありません。