Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 如何回退到Java3D中的软件渲染?_Opengl_Windows Server 2008_Direct3d_Java 3d - Fatal编程技术网

Opengl 如何回退到Java3D中的软件渲染?

Opengl 如何回退到Java3D中的软件渲染?,opengl,windows-server-2008,direct3d,java-3d,Opengl,Windows Server 2008,Direct3d,Java 3d,我们在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 a

我们在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并用-Dj3d.rend=ogl启动JVM后,会出现相同的错误!可能发生了什么?当出现错误时,如何使用OpenGL或DirectX回退到软件渲染


编辑:我已经尝试过使用另一家OpenGL供应商,使用Mesa3D的DLL而不是本地DLL,但并没有什么不同。我还安装了DirectX SDK,并尝试使用引用驱动程序-Dj3d.d3ddevice=reference启动Java3D,但也不起作用。

同样的错误会出现,因为如果OpenGL失败,Java3D会尝试使用DirectX。如果同样失败,则显示pop

我没有设法解决这个问题,因为我没有试图在远程服务器上更改内容,而是试图通过禁用视频驱动程序在自己的机器上模拟这个问题。我仍然不知道为什么这两个问题并不相同,但在我重新开始服务器工作并将DirectX的d3dref9.dll放在Java的\bin中之后,它成功了

现在我遇到了一个全新的问题,因为如果我将DLL放在java.library.path或Tomcat的\bin,JVM将找不到DLL:问题根本不存在。

尝试以下操作: 在Windows下: 首先,在桌面屏幕上单击鼠标右键并在菜单中选择“属性”项,打开“显示属性”窗格。在该窗格中,显示“设置”选项卡,然后单击“高级”按钮。然后,在打开的窗格的“疑难解答”选项卡中,检查硬件加速光标是否已满,并确认您的选择,然后再次尝试运行程序


如果以前的操作无法解决您的问题,请使用最新的可用驱动程序更新图形卡的OpenGL和DirectX驱动程序,然后再次尝试运行Sweet Home 3D。

Java3D 1.5.2支持j3d.rend,但Java3D 1.6.0及更高版本不再支持j3d.rend,仅使用JOGL 2进行硬件加速。