Dela via


Transformera koordinater

OpenGL Utility-biblioteket (GLU) innehåller flera vanliga matristransformeringsfunktioner. Du kan konfigurera en tvådimensionell ortografisk visningsregion med gluOrtho2D, en standardvyvolym för perspektiv med gluPerspectiveeller en vyvolym som är centrerad på en angiven ögonpunkt med gluLookAt. Var och en av dessa funktioner skapar önskad matris och tillämpar den på den aktuella matrisen med hjälp av glMultMatrix.

Funktionen gluPickMatrix förenklar valet av en plockmatris genom att skapa en matris som begränsar ritningen till en liten region i visningsporten. Om du återger scenen i markeringsläge när den här matrisen har tillämpats markeras alla objekt som ritas nära markören och information om dem lagras i markeringsbufferten. Mer information om markeringsläget finns i "Utföra val och feedback" Utföra val och feedback.

För att avgöra var i fönstret ett objekt ritas, använd gluProject, som konverterar de angivna objektkoordinaterna objx, objyoch objz till modellMatrix, projMatrixoch viewport. Resultatet lagras i winx, winyoch winz. Om funktionen lyckas är returvärdet GL_TRUE. Om funktionen misslyckas är returvärdet GL_FALSE.

Funktionen gluUnProject utför omvänd konvertering: den omvandlar de angivna fönsterkoordinaterna winx, winyoch winz till objektkoordinater med hjälp av modellMatrix, projMatrixoch viewport. Resultatet lagras i objx, objyoch objz. Om funktionen lyckas är returvärdet GL_TRUE. Om funktionen misslyckas är returvärdet GL_FALSE.