gluPickMatrix-Funktion

Die gluPickMatrix-Funktion definiert einen Auswahlbereich.

Syntax

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

Parameter

x

Die x-Fensterkoordinate eines Auswahlbereichs.

y

Die y-Fensterkoordinate eines Auswahlbereichs.

height

Die Höhe des Auswahlbereichs in Fensterkoordinaten.

width

Die Breite des Auswahlbereichs in Fensterkoordinaten.

Ansichtsfenster

Der aktuelle Viewport (wie bei einem glGetIntegerv-Aufruf).

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Bemerkungen

Die gluPickMatrix-Funktion erstellt eine Projektionsmatrix, mit der Sie das Zeichnen auf einen kleinen Bereich des Viewports beschränken können.

  1. Verwenden Sie gluPickMatrix, um das Zeichnen auf einen kleinen Bereich um den Cursor zu beschränken.

  2. Wechseln Sie in den Auswahlmodus (mit glRenderMode),und rerendern Sie die Szene erneut.

    Alle Primitive, die in der Nähe des Cursors gezeichnet worden wären, werden identifiziert und im Auswahlpuffer gespeichert.

Die von gluPickMatrix erstellte Matrix wird mit der aktuellen Matrix multipliziert, als ob glMultMatrix mit der generierten Matrix aufgerufen würde.

  1. Rufen Sie glLoadIdentity auf, um eine Identitätsmatrix in den Perspektivmatrixstapel zu laden.
  2. Rufen Sie gluPickMatrix auf.
  3. Rufen Sie eine Funktion (z. B. gluPerspective) auf, um die Perspektivmatrix mit der Auswahlmatrix zu multiplizieren.

Wenn Sie gluPickMatrix zum Auswählen einer nicht einheitlichen rationalen B-Spline (NURBS)verwenden, deaktivieren Sie die NURBS-Eigenschaft GLU _ AUTO LOAD _ _ MATRIX. Wenn GLU AUTO LOAD MATRIX nicht deaktiviert ist, wird jede _ _ gerenderte NURBS-Oberfläche anders mit der Auswahlmatrix von der Unterteilung ohne die Auswahlmatrix _ unterteilt.

Beispiele

Beim Rendern einer Szene wie folgt:

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

Der folgende Code wählt einen Teil des Viewports aus:

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

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Glu.h
Bibliothek
Glu32.lib
DLL
Glu32.dll

Weitere Informationen

glGetIntegerv

glLoadIdentity

glMultMatrix

glRenderMode

gluPerspective