Bezeichnung
glu.PickMatrix -- definiert einen Bereich im Ansichtsfensters
Übersicht
glu.PickMatrix(x, y, deltax, deltay, viewportArray)
Beschreibung
glu.PickMatrix() erstellt eine Projektionsmatrix, mit der die Zeichnung auf einen kleinen Bereich des Ansichtsfensters beschränkt werden kann. Dies ist in der Regel nützlich, um festzustellen, welche Objekte in der Nähe des Cursors gezeichnet werden. Verwenden Sie glu.PickMatrix(), um die Zeichnung auf einen kleinen Bereich um den Cursor herum zu beschränken. Wechseln Sie dann in den Auswahlmodus (mit gl.RenderMode()) und rerendern Sie die Szene. Alle Grundmuster, die in die Nähe des Cursors gezeichnet worden wären, werden identifiziert und im Auswahlpuffer gespeichert.

Die von glu.PickMatrix() erzeugte Matrix wird mit der aktuellen Matrix multipliziert, als ob gl.MultMatrix() wäre, wird mit der erzeugten Matrix aufgerufen. Um die generierte Kommissioniermatrix für die Kommissionierung effektiv zu nutzen, rufen Sie zuerst gl.LoadIdentity() auf, um eine Identitätsmatrix auf den perspektivischen Matrixstapel zu laden. Rufen Sie dann glu.PickMatrix() auf und anschließend einen Befehl (z.B. glu.Perspective()), um die perspektivische Matrix mit der Pick-Matrix zu multiplizieren.

Wenn Sie glu.PickMatrix() zur Auswahl von NURBS verwenden, achten Sie darauf, dass Sie die NURBS-Eigenschaft #GLU_AUTO_LOAD_MATRIX deaktivieren. Wenn #GLU_AUTO_LOAD_MATRIX nicht ausgeschaltet ist, dann wird jede gerenderte NURBS-Oberfläche mit der Pick-Matrix anders unterteilt als ohne die Pick-Matrix.

Die vier Fensterkoordinaten für viewportArray können einfach durch den Aufruf von gl.Get() mit #GL_VIEWPORT ermittelt werden. Siehe gl.Get für Details.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
x
gibt den x-Mittelpunkt eines Bereichs in Fensterkoordinaten an
y
gibt den y-Mittelpunkt eines Bereichs in Fensterkoordinaten an
deltax
gibt die Breite des Bereichs in Fensterkoordinaten an
deltay
gibt die Höhe des Bereichs in Fensterkoordinaten an
viewportArray
die vier Fensterkoordinaten des Ansichtsfensters in einer Tabelle

Navigation zeigen