Nybörjarguide till OpenGL: Bygg din egen CAD-program (11 / 14 steg)
Steg 10: Bygga: lägga till knappar, hantera visningar
Första låt oss ta en titt på lägga till knappar i vår app med jord. I min loadButtons() funktion, har jag laddat PNG för alla bilder jag kommer att använda, och då kallas det innan den viktigaste loopen.
(1) jag förklarade unika GLuint variabler (minusX, plusX..) för varje enskild knapp i scenen.
(2) ge sökvägen till din texturer
För det andra för att visa dessa texturer, jag bunden dem till GL_QUADS och visas dem ansikte fram. Detta ger flexibilitet att animera dem.
Jag gjorde det i metoden DrawSceneD() eftersom som ni minns, det var stora visningsområdet till vänster av app.
(1) för det första använder vi glPushMatrix() och funktionerna som respektive glPopMatrix() för varje enskild GL_QUAD ansikte.
Använd sedan glTranslate (x, y, z) för att flytta den till önskad plats i våra vyport.
(2) vi använder variabeln vi används för att definiera varje knapp textur i scenen.
(3) då vi göra de verkliga QUAD ansiktet. Vi använder glTexCoord2d() för att ange UV koordinater för varje hörn av ansiktet. I grund och botten berätta openGL Hur ansöker våra textur på GL_QUAD ansikte, om vill ha textur streached, upprepas, etc.
Jag var tvungen att upprepa processen för varje knapp, som du kan se kommentarerna, jag har delat upp koden in knapparna varje segment är ansvarig för att underlätta felsökning.
Nu ta en titt på de tre andra DrawScene() metoder vi definierat tidigare:
(1) DrawSceneC() och DrawSceneA() metoder är ansvariga för framsidan och vyn sida av scenen.
glTranslatef (0, 0, -10.0f), här flyttar objektet lite långt borta från visningsområdet för lätt incpection.
drawCubes() är en speciell funktion som jag kommer att diskutera i nästa steg.