Paso 10: La construcción: agregar botones, administrar vistas
Primero echemos un vistazo a añadir botones en nuestra aplicación de uso de suelo. En mi función de loadButtons(), he cargado el PNG para todas las imágenes a usar y luego lo llamó antes del bucle principal.
(1) , declarado único GLuint las variables (minusX, plusX..) para cada botón individual en la escena.
(2) dar la ruta de acceso a sus texturas
En segundo lugar, para mostrar estas texturas, había obligado a GL_QUADS y les aparece delante de la cara. Esto le da la flexibilidad para animarlos.
Lo hice en el método DrawSceneD() porque como recordarán, es la gran vista a la izquierda de la aplicación.
(1) en primer lugar utilizamos glPushMatrix() y las funciones respectivas glPopMatrix() para cada rostro individual de GL_QUAD .
luego use glTranslate (x, y, z) para moverlo a la posición deseada en nuestra vista.
(2) utilizamos la variable que utilizamos para definir la textura de cada botón en la escena.
(3) entonces hacemos la cara real de QUAD. Utilizamos glTexCoord2d() para especificar las coordenadas UV para cada vértice de la cara. Básicamente, dice openGL cómo aplicar nuestra textura en la cara GL_QUAD , si quieres la textura streached, repetir, etc..
Tuve que repetir el proceso para cada botón, como se puede ver en los comentarios, he dividido el código en los botones de cada segmento es responsable de facilitar la depuración.
Ahora echa un vistazo a los otros tres métodos DrawScene() que definimos anteriormente:
Métodos DrawSceneC() y DrawSceneA() (1) son responsables de la parte frontal y la vista lateral de la escena.
glTranslatef (0, 0, - 10.0f); Aquí se mueve el objeto un poco más lejos de la vista para incpection fácil.
drawCubes() es una función especial que se discutirá en el siguiente paso.