Est-il possible d'exécuter des applications Java3D sur du matériel Nvidia 3D Vision?


Est-il possible d'exécuter une application Java3D sur Nvidia 3D Vision matériel?

J'ai une application Java3D existante qui peut s'exécuter en 3D stéréoscopique. Dans le passé, j'ai toujours exécuté l'application sur des cartes Quadro en utilisant le moteur de rendu OpenGL et la stéréo quad buffered.

J'ai maintenant accès à un ordinateur portable avec le système nVidia 3D Vision (avec une GeForce GTX 460M). D'après la documentation, il semble qu'il devrait être possible d'exécuter mon application en stéréo si j'utilise le Les liaisons DirectX et laisser les pilotes nVidia prendre soin de la stéréo, cependant, cela ne semble pas être le cas.

Si j'exécute une application Java3D avec j3d.rend=d3d, l'API nVidia 3D Vision ne semble pas la reconnaître comme une application DirectX.

Comment puis-je obtenir les pilotes nVidia 3D Vision pour détecter une application Java3D et effectuer un rendu en 3D stéréoscopique?

Author: JohnnyO, 2011-08-11

4 answers

Je suis déçu que jusqu'à présent tout le monde ait rejeté cela comme impossible dès le départ. J'y travaille depuis plusieurs jours et j'ai fait des progrès. Jusqu'à présent, j'ai trouvé que c'est possible, mais avec quelques bémols:

  1. Vous avez besoin des derniers pilotes de nVidia (280.29 à ce jour)
  2. Vous devez utiliser le moteur de rendu Direct3D, pas le moteur de rendu OpenGL (- Dj3d.rend=d3d)
  3. Vous devez forcer Direct3D à s'exécuter en mode plein écran. (- Dj3d. fullscreen = REQUIS)
  4. Vous devez exécuter en utilisant un ConfiguredUniverse en mode plein écran (j'utilise le j3d-1x1 fourni.cfg qui est disponible dans la documentation Java3D)

Afin de le faire fonctionner sur une machine 64 bits, j'ai dû utiliser les DLL 64 bits pour Java3D, que quelqu'un a utilement fournies sur les forums Java3D (http://home.java.net/node/705510) Cela peut être requis ou non sur un système 32 bits.

Futures versions des pilotes nVidia promettez une prise en charge améliorée de la stéréo en mode fenêtré, il est donc possible que cela devienne plus facile à l'avenir (éliminant éventuellement le besoin d'option 3 et/ou 4 ci-dessus)

Je vais également enquêter si la reconstruction de la source Java3D avec des liaisons nVidia supplémentaires peut éliminer l'exigence de plein écran et republier avec les résultats.

 6
Author: JohnnyO, 2011-08-25 19:04:24

Java3D utilise quelque chose appelé "Quadbuffer Stereo", c'est-à-dire deux framebuffers à double tampon distincts, un pour l'œil gauche et un pour l'œil droit. NVidia considère cette chose "de qualité professionnelle", bien qu'il soit impossible de stéréoscopie appropriée sans un contrôle précis du contenu des deux yeux.

3D Vision insère cependant quelques shaders pour créer une séparation stéréo in-situ. Cela ne fonctionne cependant qu'avec des programmes lui donnant quelques conseils via l'API 3D Vision. Java3D ne fonctionne pas.

Espérons simplement que Microsoft poussera en effet Quadbuffered Stereo comme une exigence de base des graphiques DirectX 12, de sorte que NVidia n'a plus d'excuses boiteuses pour garder cela de "qualité grand public" OpenGL.

 1
Author: datenwolf, 2011-08-11 08:04:16

Java3D ne prend pas en charge l'api 3d vision mais peut fonctionner avec n'importe quel programme direct x

 0
Author: Olafgarten, 2011-08-25 13:34:06

C'est peut-être obsolète, mais j'ai les bibliothèques binaires DirectX pour Java3D 64. C'est le j3dcore-d3d.dll . Si quelqu'un en a besoin, envoyez-moi un message.

De readme.fichier txt :

======

LISEZ-MOI

Moteur de rendu Java3D DirectX 9.0 pour 64 bits

Janvier 2010

Salut

Le compagnon j3dcore-d3d.dll est un moteur de rendu Java3D pour Microsoft DirectX D3D en 64 bits. Cela utilise exactement même code source de 32 bits, mais compilé avec Visual studio 2005 pour Windows 64bits.

Il a été testé avec Windows XP Pro. Édition 64 bits, Vista 64 et Windows-7 64. Dans les pilotes nVidia et ATI.

Utilisation

Déposer le j3dcore-d3d.dll dans le même dossier, vous avez j3dcore-ogl.DLL.

Dépendance

Utilisez-le avec un JRE 64 bits. Il nécessite Java3D pour Windows AMD 64, disponible à https://java3d.dev.java.net/binary-builds.html

Il a également besoin d'une mise à jour du pilote DirectX Vous pouvez l'obtenir http:\www.microsoft.com\directx Lien complet actuel pour la configuration Web DirectX : http://www.microsoft.com/downloads/details.aspx?familyid=2DA43D38-DB71-4 ...

Ce dernier lien pointe vers un très petit programme de mise à jour Web pour DirectX runtime.

Avertissement

Ceci est uniquement à des fins de test. Utilisez à votre propre risque. Ceci N'EST PAS approuvé ou soutenu par Sun, Oracle ou toute autre société.

 0
Author: Alex Byrth, 2015-08-17 14:46:42