Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to run Java3D applications on Nvidia 3D Vision hardware?

Is is possible to run a Java3D application on Nvidia 3D Vision hardware?

I've got an existing Java3D application that can run in stereoscopic 3D. In the past, I've always run the application on Quadro cards using the OpenGL renderer and quad buffered stereo.

I now have access to a laptop with the nVidia 3D Vision system (with a GeForce GTX 460M). From the documentation, it seems like it should be possible to run my application in stereo if I use the DirectX bindings and let the nVidia drivers take care of the stereo, however, this does not seem to be the case.

If I run a Java3D application with j3d.rend=d3d, the nVidia 3D Vision API doesn't seem to recognize it as a DirectX application.

How can I get the nVidia 3D Vision drivers to detect a Java3D application and render in stereoscopic 3D?

like image 708
JohnnyO Avatar asked Aug 10 '11 20:08

JohnnyO


1 Answers

I'm disappointed that so far everyone has dismissed this as impossible right out of the gate. I've been working on this for the past several days, and made some headway. So far, I've found that it is possible, but with a few caveats:

  1. You need the latest drivers from nVidia (280.29 as of this writing)
  2. You need to use the Direct3D renderer, not the OpenGL renderer (-Dj3d.rend=d3d)
  3. You need to force Direct3D to run in fullscreen mode. (-Dj3d.fullscreen=REQUIRED)
  4. You need to run using a ConfiguredUniverse in fullscreen mode (I'm using the provided j3d-1x1.cfg that is available in the Java3D documentation)

In order to get it working on a 64-bit machine, I had to use the 64-bit dlls for Java3D, which someone has helpfully provided on the Java3D forums (http://home.java.net/node/705510) This may or may not be required on a 32-bit system.

Future releases of the nVidia drivers promise improved support for windowed-mode stereo, so its possible that this will become easier in the future (possibly eliminating the need for option 3 and/or 4 above)

I'll also investigate if rebuilding the Java3D source with some additional nVidia bindings can eliminate the fullscreen requirement, and repost with the results.

like image 167
JohnnyO Avatar answered Nov 06 '22 01:11

JohnnyO