Partager via


Fonction gluPickMatrix

La fonction gluPickMatrix définit une région de sélection.

Syntaxe

void WINAPI gluPickMatrix(
   GLdouble x,
   GLdouble y,
   GLdouble height,
   GLdouble width,
   GLint    viewport[4]
);

Paramètres

x

Coordonnée de fenêtre x d’une région de sélection.

y

Coordonnée de la fenêtre y d’une région de sélection.

height

Hauteur de la région de sélection dans les coordonnées de fenêtre.

width

Largeur de la région de sélection dans les coordonnées de fenêtre.

Fenêtre

La fenêtre d’affichage actuelle (à partir d’un appel glGetIntegerv ).

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

La fonction gluPickMatrix crée une matrice de projection que vous pouvez utiliser pour limiter le dessin à une petite région de la fenêtre d’affichage.

  1. Utilisez gluPickMatrix pour limiter le dessin à une petite région autour du curseur.

  2. Entrez en mode de sélection (avec glRenderMode), puis réactivez la scène.

    Toutes les primitives qui auraient été dessinées près du curseur sont identifiées et stockées dans la mémoire tampon de sélection.

La matrice créée par gluPickMatrix est multipliée par la matrice actuelle comme si glMultMatrix était appelé avec la matrice générée.

  1. Appelez glLoadIdentity pour charger une matrice d’identité sur la pile de matrice de perspective.
  2. Appelez gluPickMatrix.
  3. Appelez une fonction (telle que gluPerspective) pour multiplier la matrice de perspective par la matrice de sélection.

Lorsque vous utilisez gluPickMatrix pour choisir Non-Uniform Rational B-Spline (NURBS), veillez à désactiver la propriété NURBS, GLU_AUTO_LOAD_MATRIX. Si GLU_AUTO_LOAD_MATRIX n’est pas désactivé, toute surface NURBS rendue est subdivisé différemment avec la matrice de sélection de la façon dont elle a été subdivisé sans la matrice de sélection.

Exemples

Lors du rendu d’une scène comme suit :

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

le code suivant sélectionne une partie de la fenêtre d’affichage :

glMatrixMode(GL_PROJECTION);  
glLoadIdentity( );  
gluPickMatrix(x, y, width, height, viewport);  
gluPerspective(. . .);  
glMatrixMode(GL_MODELVIEW);  
/* Draw the scene */

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Glu.h
Bibliothèque
Glu32.lib
DLL
Glu32.dll

Voir aussi

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective