Delen via


Coördinaten transformeren

De OpenGL Utility Library (GLU) biedt verschillende veelgebruikte matrixtransformatiefuncties. U kunt een tweedimensionale orthografische weergaveregio instellen met gluOrtho2D-, een standaard perspectiefweergavevolume met behulp van gluPerspectieveof een weergavevolume dat is gecentreerd op een opgegeven oogpunt met gluLookAt. Elk van deze functies maakt de gewenste matrix en past deze toe op de huidige matrix met behulp van glMultMatrix.

De functie gluPickMatrix vereenvoudigt de selectie van een selectiematrix door een matrix te maken die de tekening beperkt tot een klein gebied van de viewport. Als u de scène opnieuw weergeeft in de selectiemodus nadat deze matrix is toegepast, worden alle objecten die in de buurt van de cursor worden getekend geselecteerd en worden gegevens over deze objecten opgeslagen in de selectiebuffer. Zie 'Selectie en feedback uitvoeren' selectie- en feedback-voor meer informatie over de selectiemodus.

Als u wilt bepalen waar in het venster een object wordt getekend, gebruikt u gluProject, waarmee de opgegeven objectcoördinaten objx, objy-en objz- worden geconverteerd naar venstercoördinaten met behulp van modelMatrix, projMatrixen viewport. Het resultaat wordt opgeslagen in winx, winyen winz. Als de functie slaagt, wordt de retourwaarde GL_TRUE. Als de functie mislukt, wordt de retourwaarde GL_FALSE.

De functie gluUnProject voert de inverse conversie uit: het transformeert de opgegeven venstercoördinaten winx, winyen winz- naar objectcoördinaten met behulp van modelMatrix, projMatrixen viewport. Het resultaat wordt opgeslagen in objx-, objyen objz. Als de functie slaagt, wordt de retourwaarde GL_TRUE. Als de functie mislukt, wordt de retourwaarde GL_FALSE.