Sie sind auf Seite 1von 2

Introdução à Computação Gráfica - ICG

ICG - Introdução à Computação Gráfica - 2◦ Semestre de 2010


Prof. Sicilia Ferreira Judice - siciliajudice@gmail.com

27 de Agosto de 2010 - Data de devolução: 10 de Setembro de 2010


Obs: trabalho para ser entregue até a data de devolução, não sendo aceito fora do prazo!

Lista 3 - Primitivas Gráficas

O escopo de desenho é realizado dentro dos comandos:

glBegin(< argumento >);


//lista de vértices
glEnd();

No 2D, os vértices são definidos através da função:

void glV ertex2f ( f loat x, f loat y);

No lugar de < argumento > podemos usar:

< argumento > Definição Vértice mı́nimo


GL POINTS Pontos 1
GL LINES Segmentos de Reta 2
GL LINE STRIP Segmentos de Reta conectados 2
GL LINE LOOP Segmentos de Reta conectados 3
GL POLYGON Polı́gono convexo 3
GL TRIANGLES Triângulos 3
GL TRIANGLE STRIP Triângulos conectados 3
GL TRIANGLE FAN Triângulos conectados 3
GL QUADS Quadriláteros 4
GL QUAD STRIP Quadriláteros conectados 4

1
Para alterar propriedades, temos as funções:

Tamanho do Ponto: void glP ointSize( f loat tamanho);


Espessura da Linha: void glLineW idth( f loat espessura);

Além disso, função que força chamada da callback de display é: glutP ostRedisplay();

Com todas essas informações, faça um aplicativo gráfico usando OpenGL e GLUT, com o que se pede
a seguir. Entregue o arquivo main.cpp identificando através de comentários onde se encontram as questões
pedidas.

1. Antes de implementar, faça uma pesquisa e elabore um relatório explicando as caracterı́sticas de cada
uma das 10 primitivas gráficas 2D listadas na tabela. O relatório é para ser entregue junto com o código.

2. Crie uma janela GLUT com os seguintes parâmetros:

(a) 2 buffers de cor


(b) janela 400 x 600 pixels
(c) Projeção ortográfica (-100, 100, -100, 100) (função gluOrtho2D)
(d) cor de limpeza preta (0,0,0,0)

3. Faça uma função que desenhe na tela linhas representando o sistema de coordenadas cartesianas definido
pela projeção ortográfica. Desenhe o eixo x com a cor vermelha e o eixo y com a cor verde. O protótipo
da função deve ser: void desenhaEixos();

4. Use as teclas numéricas de 0 (zero) até 9 (nove) para desenhar cada um dos tipos de primitivas gráficas
2D representada pelo < argumento >, listadas na tabela. Faça na ordem: tecla 0 (zero) para desenhar
GL POINTS, tecla 1 para GL LINES, e assim por diante.

5. Use as seguintes teclas para alterar a cor do desenho:

(a) r → vermelho (1,0,0)


(b) g → verde (0,1,0)
(c) b → azul (0,0,1)

Cuidado para não mudar a cor dos eixos coordenados, da questão 2.

6. BÔNUS: Altere a função da questão 2 de maneira que se eu alterar a dimensão da orto o desenho dos
eixos se adapte automaticamente.

7. BÔNUS: Faça contorno nas primitivas de 4 a 9 de cor diferente das cores de desenho e de limpeza.

Das könnte Ihnen auch gefallen