2011-09-20 1 views
7

Nous avons envisagé d'acheter un moniteur LCD 3D compatible avec une machine dotée d'une carte graphique compatible 3D pour la vision stéréoscopique (ATI Radeon 5870 ou supérieure). Ceci est pour afficher des données scientifiques que nous rendons en 3D en utilisant OpenGL. Maintenant, pouvons-nous nous attendre à ce que le GPU, le moniteur et les lunettes à obturateur prennent soin de l'affichage stéréoscopique ou devons-nous modifier le programme de rendu? S'il existe des techniques spécifiques pour la programmation graphique pour les affichages stéréoscopiques 3D, certains liens tutoriels seront très appréciés.Le rendu OpenGL peut-il être utilisé pour les moniteurs 3D?

Répondre

9

Dispositions Techically OpenGL pour l'affichage stéréoscopique. Le mot clé est "Quad Buffered Stereo". Vous pouvez changer le rendu des yeux gauche-droit avec glDrawBuffer(GL_BACK_LEFT); /* render left eye view */; glDrawBuffer(GL_BACK_RIGHT); /* render right eye view */;.

Malheureusement, la chaîne stéréo Quadbuffer est considérée comme une fonctionnalité professionnelle par les fournisseurs de GPU. Vous avez donc besoin d'une carte graphique NVidia Quadro ou AMD/ATI FireGL pour en bénéficier.

Le rendu stéréoscopique ne se fait pas en inclinant les yeux, mais en appliquant un "décalage de lentille" dans la matrice de projection. Les détails sont un peu compliqués, cependant. J'ai fait une discussion l'an dernier à ce sujet, mais apparemment, le lien avec mes diapositives de présentation a disparu.

Le diagramme clé est celui-ci (il est de mes notes de mon patch pour Blender pour soutenir directement le rendu stéréoscopique) Stereoscopy parameters

+0

C'était des informations très utiles. La spécification Radeon HD5870: "affichage 3D stéréoscopique/support de lunettes" m'a confondu. Après avoir parcouru le tampon opengl pour Linux, je suppose que cela n'est même pas possible sur linux. D'autre part [ceci] (http://www.gali-3d.com/archive/articles/StereoOpenGL/StereoscopicOpenGLTutorial.php) parle d'un moyen d'afficher la stéréo sans tampon quadruple. Toute idée si cela est possible sur les GPU grand public? – subhacom

+0

Qu'en est-il des tampons de rendu? Comment les échanger en synchronisation avec le moniteur? La seule solution pour ce cas est l'utilisation de 2 projecteurs? – Luca

+0

@Luca Piccioni: La chaîne stéréo Quadbuffer délègue le travail d'échange/d'obturation au conducteur; Synchronisation à l'obturateur dans le code d'un propre est possible, mais pas fiable. – datenwolf