Exercícios De Computação Gráfica
Pesquisas Acadêmicas: Exercícios De Computação Gráfica. Pesquise 862.000+ trabalhos acadêmicosPor: amchacon • 3/8/2014 • 388 Palavras (2 Páginas) • 372 Visualizações
Faça as seguintes alterações no “PrimeiroPrograma”:
– Altere o tamanho da janela GLUT para 600 X 400.
– Altere o programa de modo que a janela de visualização tenha os seguintes valores:
X: – 20 a 20
Y: – 20 a 20
– Altere a cor do fundo para amarelo;
– Crie 2 vértices com a primitiva GL_LINES;
– Altere a primitiva para GL_LINE_STRIP
– Altere a primitiva para GL_LINE_LOOP
– Crie um Triângulo;
– Aplique um efeito gradiente no triângulo usando a função glColor;
– Faça com que o programa seja encerrado ao pressionar a tecla q;
R:
#include <stdlib.h>
#include <GL/gl.h>
#include <GL/glut.h>
// Função callback de redesenho da janela de visualização
void Desenha(void)
{
// Limpa a janela de visualização com a cor
// de fundo definida previamente
glClear(GL_COLOR_BUFFER_BIT);
// Desenha uma casinha composta de um quadrado e um triângulo
// Altera a cor do desenho para azul
glColor3f(0.0f, 0.0f, 1.0f);
// Desenha a casa
glBegin(GL_QUADS);
glVertex2f(-15.0f,-15.0f);
glVertex2f(-15.0f, 5.0f);
glVertex2f( 15.0f, 5.0f);
glVertex2f( 15.0f,-15.0f);
glEnd();
// Altera a cor do desenho para branco
glColor3f(1.0f, 1.0f, 1.0f);
// Desenha a porta e a janela
glBegin(GL_QUADS);
glVertex2f(-4.0f,-14.5f);
glVertex2f(-4.0f, 0.0f);
glVertex2f( 4.0f, 0.0f);
glVertex2f( 4.0f,-14.5f);
glVertex2f( 7.0f,-5.0f);
glVertex2f( 7.0f,-1.0f);
glVertex2f(13.0f,-1.0f);
glVertex2f(13.0f,-5.0f);
glEnd();
// Altera a cor do desenho para azul
glColor3f(0.0f, 0.0f, 1.0f);
// Desenha as "linhas" da janela
glBegin(GL_LINES);
glVertex2f( 7.0f,-3.0f);
glVertex2f(13.0f,-3.0f);
glVertex2f(10.0f,-1.0f);
glVertex2f(10.0f,-5.0f);
glEnd();
// Altera a cor do desenho para vermelho
glColor3f(1.0f, 0.0f, 0.0f);
// Desenha o telhado
glBegin(GL_TRIANGLES);
glVertex2f(-15.0f, 5.0f);
glVertex2f( 0.0f,17.0f);
glVertex2f( 15.0f, 5.0f);
glEnd();
// Executa os comandos OpenGL
glFlush();
}
// Função callback chamada quando o tamanho da janela é alterado
void AlteraTamanhoJanela(GLsizei w, GLsizei h)
{
// Evita a divisao por zero
if(h == 0) h = 1;
// Especifica as dimensões
...