Você está na página 1de 3

Aqui está um programa para desenhar a casinha abaixo:

C++
#include <GL/glut.h>

void display() {
// Limpa a tela
glClear(GL_COLOR_BUFFER_BIT);

// Desenha a base da casa


glColor3f(0.5, 0.5, 0.5);
glBegin(GL_QUADS);
glVertex2i(0, 0);
glVertex2i(200, 0);
glVertex2i(200, 50);
glVertex2i(0, 50);
glEnd();

// Desenha o telhado da casa


glColor3f(0.7, 0.7, 0.7);
glBegin(GL_TRIANGLES);
glVertex2i(0, 50);
glVertex2i(200, 50);
glVertex2i(100, 100);
glEnd();

// Desenha a porta da casa


glColor3f(0.0, 0.0, 0.0);
glBegin(GL_QUADS);
glVertex2i(50, 25);
glVertex2i(150, 25);
glVertex2i(150, 0);
glVertex2i(50, 0);
glEnd();

// Desenha a janela da casa


glColor3f(1.0, 1.0, 1.0);
glBegin(GL_QUADS);
glVertex2i(60, 30);
glVertex2i(90, 30);
glVertex2i(90, 15);
glVertex2i(60, 15);
glEnd();
// Exibe a imagem
glFlush();
}

int main(int argc, char** argv) {


// Inicializa o glut
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutCreateWindow("Casinha");

// Define a função de exibição


glutDisplayFunc(display);

// Inicializa o OpenGL
glClearColor(0.0, 0.0, 0.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 500.0, 0.0, 500.0);

// Entra no loop de exibição


glutMainLoop();

return 0;
}

Este programa funciona da seguinte forma:

● A função display() é chamada continuamente pelo glut para exibir a imagem.


● A função glClear() é usada para limpar a tela.
● A função glColor3f() é usada para definir a cor atual.
● A função glBegin() é usada para iniciar um novo objeto.
● A função glVertex2i() é usada para definir um ponto.
● A função glEnd() é usada para terminar um objeto.

Para desenhar a casinha, o programa usa as seguintes etapas:

1. Desenha a base da casa como um retângulo.


2. Desenha o telhado da casa como um triângulo.
3. Desenha a porta da casa como um retângulo.
4. Desenha a janela da casa como um retângulo.

O programa usa as seguintes cores para desenhar a casinha:

● Base: cinza
● Telhado: cinza claro
● Porta: preto
● Janela: branco

O programa pode ser personalizado para alterar o tamanho, a forma e as cores da casinha.

Você também pode gostar