Exemples de méthodes d'affichage stéréoscopique

De Ensiwiki
Aller à : navigation, rechercher

Principe

La salle d'imersion de l'ARV est équipée de deux projecteurs équipés de filtres polarisants permettant l'affichage simultané de deux points et ainisi la visualsation de scènes en 3D grâce à des lunettes polarisantes. Il suffit pour celà de générer les images correspondantes au point de vue de chaque oeil qui seront ensuite affichées par le projecteur correspondant afin de permettre une vision stéréoscopique.

Logiciel

Nous vous proposons, pour l'instant, deux méthodes pour générer ces deux points de vue, elles sont toutes deux basées sur l'emploi d'OpenGL.

  • La première consiste à déclarer un contexte stéréoscopique dans votre programme OpenGL au moyen de :
 glutInitDisplayMode( ... | GLUT_STEREO);

Puis de gérer indépendement la création des images pour chaque oeil dans leur buffer respectif:

 //positionement et paramètrage du point de vue de l'oeil droit.
 glMatrixMode(GL_PROJECTION);
 ...
 glMatrixMode(GL_MODELVIEW);
 ...
 //sélection du buffer correspondant à l'oeil droit.
 glDrawBuffer(GL_BACK_RIGHT);
 DrawScene();
 
 //positionement et paramètrage du point de vue de l'oeil gauche.
 glMatrixMode(GL_PROJECTION);
 ...
 glMatrixMode(GL_MODELVIEW);
 ...
 //sélection du buffer correspondant à l'oeil gauche.
 glDrawBuffer(GL_BACK_LEFT);
 DrawScene();
  • L'autre possibilité consiste à utilisé la surcouche QGlViewver.

Pour cela, il faut instancier votre viewver avec un contexte OpenGL stéréoscopique:

 QGLFormat format;
 format.setStereo( TRUE );
 Viewer viewer(format);

Et activer l'affichage stéréoscopique dans le constructeur de classe de votre viewver:

 setStereoDisplay(true);

Exemples

Un exemple pour chacune des deux méthodes est disponible dans le répertoire /SOURCE/LOWLEVEL/DISPLAY/STEREO/.

  • pulsar donne un éxemple de la mise en place d'un mode stéréoscopique dans un contexte OpenGL.
Arv-pulsar.jpg
  • stereoViewer consiste en une implémentation d'un QGlViewver avec affichage stéréoscopique.
Arv-stereoviewer.jpg