0

Windows のリモート デスクトップで Java3D を使用すると、奇妙な問題が発生します。リモート マシンは仮想化されたサーバーであり、(物理) サーバーのグラフィック カードを使用できません。アプリを実行すると、次のエラーが表示されます。

Unable to create DirectX D3D context.
Neither Hardware and Software Renderer are available.
Please update your video card drivers
and get the latest DirectX available at http://microsoft.com/directx

OpenGL に切り替えた後 (で JVM を起動-Dj3d.rend=ogl)、同じエラーが表示されます。何が起こっている可能性がありますか?エラーが表示されたときに、OpenGL または DirectX を使用してソフトウェア レンダリングにフォールバックするにはどうすればよいですか?

編集:ネイティブの DLL の代わりに Mesa3D の DLL を使用して、別の OpenGL ベンダーを使用してみましたが、違いはありませんでした。また、DirectX SDK をインストールし、参照ドライバー ( ) で Java3D を起動しようとしました-Dj3d.d3ddevice=referenceが、どちらも機能しませんでした。

4

2 に答える 2

0

OpenGL が失敗した場合、Java3D は DirectX を使用しようとするため、同じエラーが表示されます。それも失敗した場合は、ポップが表示されます。

リモートサーバーで物事を変更しようとする代わりに、ビデオドライバーを無効にして自分のマシンで問題をエミュレートしようとしたため、なんとか解決できませんでした。両方の問題が同等ではない理由はまだわかりませんが、サーバーでの作業に戻り、DirectXd3dref9.dllを Javaに配置したところ、うまくいき\binました。

java.library.pathJVM が DLL をTomcat または Tomcatに配置すると、DLL を見つけることができないため、まったく新しい問題が発生しました\bin:) 問題は存在しません。

于 2012-04-27T02:12:28.827 に答える