#include <GL/glut.
h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
// Dibujar la parte verde (3 cuadrados pegados con GL_QUADS)
glColor3f(0.0f, 0.8f, 0.0f); // Verde
// Cuadrado izquierdo
glBegin(GL_QUADS);
glVertex2f(-0.6f, -0.5f);
glVertex2f(-0.2f, -0.5f);
glVertex2f(-0.2f, 0.0f);
glVertex2f(-0.6f, 0.0f);
glEnd();
// Cuadrado medio
glBegin(GL_QUADS);
glVertex2f(-0.2f, -0.5f);
glVertex2f(0.2f, -0.5f);
glVertex2f(0.2f, 0.0f);
glVertex2f(-0.2f, 0.0f);
glEnd();
// Cuadrado derecho
glBegin(GL_QUADS);
glVertex2f(0.2f, -0.5f);
glVertex2f(0.6f, -0.5f);
glVertex2f(0.6f, 0.0f);
glVertex2f(0.2f, 0.0f);
glEnd();
// Dibujar los triángulos rojos
glColor3f(0.8f, 0.0f, 0.0f); // Rojo
glBegin(GL_TRIANGLES);
glVertex2f(-0.2f, 0.0f);
glVertex2f(0.2f, 0.0f);
glVertex2f(0.0f, 0.35f); //Punto necesario rojo
glEnd();
glBegin(GL_TRIANGLES);
glVertex2f(0.0f, 0.35f); //Punto necesario rojo
glVertex2f(0.2f, 0.0f);
glVertex2f(0.4f, 0.4f);
glEnd();
glBegin(GL_TRIANGLES);
glVertex2f(-0.000001f, 0.35f); //punto necesario rojo
glVertex2f(-0.2f, 0.0f);
glVertex2f(-0.4f, 0.4f);
glEnd();
// Dibujar los triángulos azules
glColor3f(0.0f, 0.3f, 0.8f); // Azul
glBegin(GL_TRIANGLES);
glVertex2f(-0.2f, 0.0f);
glVertex2f(-0.4f, 0.4f);
glVertex2f(-0.65f, 0.0f);
glEnd();
glBegin(GL_TRIANGLES);
glVertex2f(0.2f, 0.0f);
glVertex2f(0.4f, 0.4f);
glVertex2f(0.65f, 0.0f);
glEnd();
glFlush();
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutCreateWindow("Casita de cuadrados y triangulos");
glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // Fondo blanco
glutDisplayFunc(display);
glutMainLoop();
return 0;