Segunda Lista - Cor
Aquecimento
- Inclua no Makefile os comandos
necessários para gerar os executáveis dos seguintes
programas adaptados do livro
OpenGL Programming Guide
- smooth.c
- bounce.c
Execute-os. Identifique os trechos de código que definem e
manipulam as cores. Explique ainda
- o papel de glShadeModel(GL_FLAT) nestes programas; e
- os atributos GLUT_INDEX ou GLUT_RGB na chamada
da rotina glutInitDisplayMode.
Observação: A biblioteca GLUT
provê a rotina glutSetColor(i, R, G, B) para atribuir
ao índice i do mapa de cores os valores R,
G e B. Verifique ainda que atribuições "conflitantes"
de índices às cores podem afetar as cores de outros aplicativos
simultaneamente em execução (Por que?).
- Inclua no Makefile os comandos
necessários para gerar o executável do programa
polys.c.
Execute-o atribuindo valores distintos aos argumentos R, G e B
da função glColor3f(R,G,B). Visualmente, qual foi
a faixa de cores que você conseguiu obter?
- Inclua no Makefile os comandos
necessários para gerar o executável do
programa bezsurf2.c adaptado do programa
bezsurf.c pelo
Marcelo
Malheiros. O novo programa possibilita a alteração
da cor da malha pelas teclas R(+vermelho)r(-vermelho)G(+verde)g(-verde)B(+azul)b(-azul).
Identifique os trechos de código que possibilitam esta
manipulação.
- Inclua no Makefile os comandos
necessários para gerar o executável do
programa olympic.c. Este programa suporta dois modos de alocação de cores -
indexado e direto (rgb), através das opções -ci e -rgb, respectivamente, no
comando de chamada olympic. Compare e justifique
os resultados visuais obtidos nos dois modos de operação.
Programação
-
Altere o modo de definição RGB do programa
smooth.c para o Indexado.
Compare os resultados visuais.
Siga a dica dada nas páginas 154-155 do livro
OpenGL Programming Guide para melhorar a qualidade
da imagem gerada com o modo Indexado. Comente sobre os resultados
visuais.
Pelas constatações, quando você recomendaria
o uso do modo Indexado?
- Implemente uma interface de definição de cor,
segundo o modelo HSV, para modificar iterativamente
as cores da superfície de Bézier
do programa bezsurf.c.
Considere que ao entrar, pelo teclado,
- H: incrementa-se o valor de H;
- h: decrementa-se o valor de H;
- S: incrementa-se o valor de S;
- s: decrementa-se o valor de S;
- V: incrementa-se o valor de V;
- v: decrementa-se o valor de V.
O passo de in/decremento deve ser configurável.
Dica: Consulte a seção 13.3.4 do
livro Computer Graphics: Principles and Practice.
- Utilize as rotinas providas pelo Mesa/OpenGL para
colorir, a seu gosto, a cena
que vocês definiram na
primeira lista.
Contribuições dos seus colegas ...
- Rogério E. Trevisan (1o Semestre de 1999):
Teste sua percepção visual!
"Ting vc tem que achar nove faces nesta imagem. Boa sorte!"
Dica: Procure ver a imagem num monitor TrueColor
- Roseane Marcílio de Freitas" (1o Semestre de 2000):
Teste sua percepção visual!
"Olá pessoal, achei o recurso utilizado na imagem muito interessante.
O objetivo é identificar onde estão os pontos negros."
Voltar para a lista anterior.
Avançar para a próxima lista.