continuar
En la sección anterior te enseñé a dibujar triángulos y cuadriláteros. Esta sección le enseñará cómo agregar 2 tipos diferentes de sombreado a triángulos y cuadriláteros. Utilice colores planos para pintar el cuadrilátero con un color fijo. Utilice colores suaves para combinar los diferentes colores de los tres vértices del triángulo y crear una bonita combinación de colores.
Continúe modificando glDraw en la sección anterior.
Procedimiento glDraw();
Comenzar
glClear(GL_COLOR_BUFFER_BIT O GL_DEPTH_BUFFER_BIT // Borrar pantalla y búfer de profundidad);
glLoadIdentity(); //Restablecer la matriz de observación del modelo actual
glTranslatef(-1.5, 0.0, -6.0); // Mover hacia la izquierda 1.5 unidades y entrar en la pantalla 6.0
glBegin(GL_TRIANGLES); // Dibujar triángulos
//glColor3f(r,g,b). Los tres parámetros entre paréntesis son los componentes de color rojo, verde y azul en orden.
//El rango de valores puede ser de 0,0 a 1,0. Similar al comando borrar fondo de pantalla mencionado anteriormente.
//Establecemos el color en rojo (rojo puro, sin verde, sin azul).
//La siguiente línea de código establece el primer vértice del triángulo (el vértice superior del triángulo),
//Y usa el color actual (rojo) para dibujar. A partir de ahora todos los objetos dibujados serán de color rojo,
//Hasta que cambiemos el rojo a otra cosa.
glColor3f(1.0, 0.0, 0.0); //Establece el color actual en rojo
glVertex3f(0.0, 1.0, 0.0); // Vértice superior
//Se ha establecido el primer vértice rojo.
//A continuación configuramos el segundo vértice verde. El vértice inferior izquierdo del triángulo es de color verde.
glColor3f(0.0, 1.0, 0.0); //Establece el color actual en verde
glVertex3f(-1.0, -1.0, 0.0 // Abajo a la izquierda);
//El vértice inferior derecho del triángulo. Establecer color en azul
//Después de que aparezca glEnd(), se rellenará el triángulo.
//Pero debido a que cada vértice tiene un color diferente, parece que el color sale a chorros de cada esquina,
//Y se encuentran exactamente en el centro del triángulo, los tres colores se mezclan entre sí. Este es un sombreado suave.
glColor3f(0.0, 0.0, 1.0); //Establece el color actual en azul
glVertex3f(1.0, -1.0, 0.0); // Abajo a la derecha
glEnd(); // Fin del dibujo del triángulo
glTranslatef(3.0, 0.0, 0.0); // Desplazamiento a la derecha 3 unidades
//Ahora dibujamos un cuadrado de color monótono: violeta.
// Lo más importante que debes recordar es que todo lo que se dibuje después de configurar el color actual es el color actual.
//Cada proyecto que crees a partir de ahora utilizará color.
//Incluso cuando se utiliza por completo el mapeo de texturas,
//glColor3f todavía se puede utilizar para ajustar el tono de color de la textura.
//Espera..., hablemos de ello más tarde.
//(Jaja, el libro original es azul, pero a mí me gusta el morado)
glBegin(GL_QUADS); // Dibuja un cuadrado
glColor3f(0.6, 0.2, 2.0); //Establece el color actual en violeta
glVertex3f(-1.0, 1.0, 0.0); // Arriba a la izquierda
glVertex3f(1.0, 1.0, 0.0); // Arriba a la derecha
glVertex3f(1.0, -1.0, 0.0); // Abajo a la izquierda;
glVertex3f(-1.0, -1.0, 0.0); // Abajo a la derecha
glEnd(); // Fin del dibujo del cuadrado
Fin;