是否可以在Nvidia 3D Vision硬件上运行Java3D应用程序?

可以在Nvidia 3D Vision硬件上运行Java3D应用程序吗?

我有一个可以在立体3D中运行的现有Java3D应用程序。 在过去,我总是使用OpenGL渲染器和四缓冲立体声在Quadro卡上运行应用程序。

我现在可以使用nVidia 3D Vision系统(带有GeForce GTX 460M)的笔记本电脑。 从文档中可以看出,如果我使用DirectX绑定并让nVidia驱动程序处理立体声,应该可以在立体声中运行我的应用程序,但是,似乎并非如此。

如果我使用j3d.rend = d3d运行Java3D应用程序,则nVidia 3D Vision API似乎不会将其识别为DirectX应用程序。

如何让nVidia 3D Vision驱动程序检测Java3D应用程序并以立体3D渲染?

我很失望到目前为止所有人都认为这是不可能的。 过去几天我一直在研究这个问题,并取得了一些进展。 到目前为止,我发现这是可能的,但有一些警告:

  1. 您需要nVidia的最新驱动程序(撰写本文时为280.29)
  2. 您需要使用Direct3D渲染器,而不是OpenGL渲染器(-Dj3d.rend = d3d)
  3. 您需要强制Direct3D以全屏模式运行。 (-Dj3d.fullscreen = REQUIRED)
  4. 您需要在全屏模式下使用ConfiguredUniverse运行(我使用的是Java3D文档中提供的j3d-1×1.cfg)

为了让它在64位机器上运行,我不得不使用64位dll for Java3D,有人在Java3D论坛上提供了帮助( http://home.java.net/node/705510 )在32位系统上可能需要也可能不需要。

nVidia驱动程序的未来版本承诺改进对窗口模式立体声的支持,因此未来可能会变得更容易(可能不需要上面的选项3和/或4)

我还将研究是否使用一些额外的nVidia绑定重建Java3D源可以消除全屏要求,并重新发布结果。

Java3D使用称为“Quadbuffer Stereo”的东西,即两个不同的双缓冲帧缓冲区,一个用于左侧,一个用于右眼。 NVidia认为这个东西是“专业级”,虽然没有准确控制双眼内容就不可能进行适当的立体视觉。

然而,3D Vision会插入一些着色器以创建原位立体声分离。 但这仅适用于通过3D Vision API提供一些提示的程序。 Java3D没有。

让我们只希望微软确实推出Quadbuffered Stereo作为DirectX 12 Graphics的核心要求,这样NVidia就不再有蹩脚的借口来保持这种“消费级”的OpenGL。

java3D不支持3d vision api,但它可以与任何直接的x程序一起使用

这可能已经过时,但我有Java3D 64的二进制DirectX库。它是j3dcore-d3d.dll。 如果有人需要,请给我发消息。

从readme.txt文件:

======

自述

适用于64位的Java3D DirectX 9.0渲染器

2010年1月

你好

配套j3dcore-d3d.dll是64位微软DirectX D3D的Java3D渲染器。 它使用完全相同的32位源代码,但使用Visual Studio 2005 for Windows 64bits编译。

它是使用Windows XP Pro测试的。 64位版本,Vista 64和Windows-7 64.在nVidia和ATI驱动程序中。

用法

将j3dcore-d3d.dll放在j3dcore-ogl.dll所在的文件夹中。

依赖

与64位JRE一起使用。 它需要适用于Windows AMD 64的Java3D,可从https://java3d.dev.java.net/binary-builds.html获取。

它还需要DirectX驱动程序更新您可以获取它http:\ http://www.microsoft.com \ directx DirectX Web Setup的当前完整链接: http : //www.microsoft.com/downloads/details.aspx? familyid = 2DA43D38-DB71 -4 …

最后一个链接指向DirectX运行时的非常小的Web更新程序。

放弃

这仅用于测试目的。 需要您自担风险使用它。 这未得到Sun,Oracle或任何其他公司的认可或支持。