È possibile eseguire applicazioni Java3D su hardware Nvidia 3D Vision?


È possibile eseguire un'applicazione Java3D su Nvidia 3D Vision hardware?

Ho un'applicazione Java3D esistente che può essere eseguita in 3D stereoscopico. In passato, ho sempre eseguito l'applicazione su schede Quadro usando il renderer OpenGL e quad buffered stereo.

Ora ho accesso a un laptop con il sistema nVidia 3D Vision (con una GeForce GTX 460M). Dalla documentazione, sembra che dovrebbe essere possibile eseguire la mia applicazione in stereo se uso il Collegamenti DirectX e lasciare che i driver nVidia prendersi cura dello stereo, tuttavia, questo non sembra essere il caso.

Se eseguo un'applicazione Java3D con j3d.rend=d3d, l'API nVidia 3D Vision non sembra riconoscerla come un'applicazione DirectX.

Come posso ottenere i driver nVidia 3D Vision per rilevare un'applicazione Java3D e renderizzare in 3D stereoscopico?

Author: JohnnyO, 2011-08-11

4 answers

Sono deluso dal fatto che finora tutti abbiano liquidato questo come impossibile proprio fuori dal cancello. Ho lavorato su questo negli ultimi giorni e ho fatto alcuni progressi. Finora, ho scoperto che è possibile, ma con alcuni avvertimenti:

  1. Hai bisogno dei driver più recenti di nVidia (280.29 al momento della stesura di questo documento)
  2. È necessario utilizzare il renderer Direct3D, non il renderer OpenGL (- Dj3d.rend=d3d)
  3. È necessario forzare l'esecuzione di Direct3D in modalità a schermo intero. (- Dj3d. fullscreen = RICHIESTO)
  4. È necessario eseguire utilizzando un ConfiguredUniverse in modalità a schermo intero (sto usando il j3d-1x1 fornito.cfg disponibile nella documentazione Java3D)

Per farlo funzionare su una macchina a 64 bit, ho dovuto usare le dll a 64 bit per Java3D, che qualcuno ha fornito utilmente sui forum Java3D ( http://home.java.net/node/705510) Questo può o non può essere richiesto su un sistema a 32 bit.

Versioni future dei driver nVidia prometti un supporto migliorato per lo stereo in modalità finestra, quindi è possibile che questo diventi più facile in futuro (possibilmente eliminando la necessità dell'opzione 3 e/o 4 sopra)

Analizzerò anche se la ricostruzione dell'origine Java3D con alcuni binding nVidia aggiuntivi può eliminare il requisito a schermo intero e ripubblicare con i risultati.

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

Java3D utilizza qualcosa chiamato "Quadbuffer Stereo", cioè due framebuffer doppi distinti, uno per l'occhio sinistro e uno per l'occhio destro. NVidia considera questa cosa "di livello professionale", anche se è impossibile per una corretta stereoscopia senza un controllo accurato del contenuto di entrambi gli occhi.

3D Vision inserisce tuttavia alcuni shader per creare una separazione stereo in situ. Questo tuttavia funziona solo con programmi che danno alcuni suggerimenti attraverso l'API 3D Vision. Java3D non lo fa.

Speriamo solo che Microsoft effettivamente spingerà Quadbuffered Stereo come requisito principale della grafica DirectX 12, in modo che NVidia non abbia più scuse zoppo per mantenere questo da OpenGL "consumer grade".

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

Java3D non supporta l'api 3d vision ma potrebbe funzionare con qualsiasi programma direct x

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

Questo può essere obsoleto, ma ho le librerie DirectX binarie per Java3D 64. È il j3dcore-d3d.dll . Se qualcuno ne ha bisogno, mandami un messaggio.

Da leggimi.file txt :

======

LEGGIMI

Java3D DirectX 9.0 Renderer per 64 bit

Gennaio 2010

Ciao

Il compagno j3dcore-d3d.dll è un renderer Java3D per Microsoft DirectX D3D in 64bit. Questo usa esattamente stesso codice sorgente da 32 bit, ma compilato con Visual studio 2005 per Finestre 64 bit.

È stato testato con Windows XP Pro. edizione 64bit, Vista 64 e Finestre-7 64. In entrambi i driver nVidia e ATI.

Utilizzo

Rilasciare il j3dcore-d3d.dll nella stessa cartella hai j3dcore-ogl.DLL.

Dipendenza

Usalo con un JRE a 64 bit. Richiede Java3D per Windows AMD 64, disponibile presso https://java3d.dev.java.net/binary-builds.html

Ha anche bisogno di un aggiornamento del driver DirectX Si può ottenere http:\www.microsoft.com\directx Collegamento completo corrente per DirectX Web Setup : http://www.microsoft.com/downloads/details.aspx?familyid=2DA43D38-DB71-4 {

Quest'ultimo collegamento punta a un programma di aggiornamento Web molto piccolo per il runtime DirectX.

Disclaimer

Questo è solo a scopo di test. Usalo a tuo rischio e pericolo. Questo NON è approvato o supportato da Sun, Oracle o qualsiasi altra società.

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