Trabalhos e Leituras Recomendadas
TrabalhosTrabalho Complementar No 1 (Uma Câmera em 1a Pessoa)
Data de Divulgação: 14/03/2005
Data para Entrega : 21/03/2005 às 13:30Trata-se de um exercício bastante simples para familiarizá-lo com o ambiente de programação que usaremos na disciplina (Visual C++/Dec C++, OpenGL e GLUT). Por outro lado, o código disponibilizado para o exercício provê uma interface para controle de câmera sintética que será útil no desenvolvimento de trabalhos futuros.
Etapas para completar o trabalho:
1) Download os arquivo INF01009_Trabalho_Complementar_1_camera.zip e estude o código fonte (ele contém inúmeros comentários);
2) Crie um projeto usando Visual C++, Dev C++, gcc, etc., compile e execute o programa. Não esqueça de incluir no projeto as bilbiotecas de OpenGL e GLUT, necessárias a ligação do programa;
3) Modifique o programa para exibir os seguintes objetos: teapot (quando pressionadas as teclas "T" ou "t"), Esfera (quando pressionadas as teclas "E" ou "e") e Torus (quando pressionadas as teclas "R" ou "r");
Para entrega do trabalho, perpare uma página web no domínio www.inf.ufrg.br/~<seu login>/INF01009 e coloque lá um pequeno relatório ilustrado mostrando os resultados obtidos com a execução do trabalho.
Trabalho Complementar No 2 (Point Sprites)
Data de Divulgação: 21/03/2005
Data para Entrega : 28/03/2005 às 13:30Neste trabalho é pedido que você converta um programa em OpenGL cuja interface com o usuário foi cencebida como uma aplicação Windows
para uma interface baseada em GLUT. Ao estudar o código, você aprenderá a trabalhar com point sprites, uma ferramenta bastante útil para criação de sistemas de partículas.
Etapas para completar o trabalho:
1) Download os arquivo INF01009_Trabalho_Complementar_2_point_sprites.zip e analise o código fonte;
Para entrega do trabalho, coloque um pequeno relatório ilustrado na sua página de trabalhos da disciplina.
2) Crie um projeto usando Visual C++, Dev C++, etc. compile e execute o programa. Para o programa poder compilar, é necessário que você copie o arquivo de cabeçalho glext.h de extensões OpenGL para o diretório "include/GL" do seu ambiente de programação.
3) Modifique o programa para utilizar GLUT ao invés da interface baseada em programação para Windows;
4) Estude o funcionamento dos point sprites
Trabalho de Implementação No 1
- Renderizando modelos geométricos arbitrários (malhas triangulares) no centro da janela
- Realizando translações e rotações de câmera ao redor de seus eixos
- Explorando cores em OpenGL
- Explorando o relacionamento entre near e far clipping planes e o efeito na resolução do buffer de profundidade
- Utilizando uma GUI (Graphics User Interface)
- Renderizando modelos cujos vértices encontram-se orientados nos sentidos horário e anti-horárioData de Divulgação: 30/03/2005
Data para Entrega : 13/04/2005Arquivos de teste: cubo e vaca.
Trabalho de Implementação No 2
- Implementação do pipeline gráfico (transformação para o Sistema de Referência da Câmera e Projeção)
Data de Divulgação: 22/04/2005
Data para Entrega : 04/05/2005Descrição do Trabalho
Arquivos de teste: os mesmo que do trabalho No 1
Trabalho de Implementação No 3
- Implementação de Rasterização
Data de Divulgação: 25/05/2005
Data para Entrega : 08/06/2005Descrição do Trabalho
Arquivos de teste: os mesmo que do trabalho No 1
Leituras
- Leia o Capítulo 1 do Livro Vermelho de OpenGL Red Book.
- Leia o Capítulo 2 do Livro Vermelho de OpenGL Red Book.
- Leia a Seção 5.6 (Drawing 3D Scenes with OpenGL) do Livro Computer Graphics Using OpengGL.
Leia o Capítulo 7 (Three-Dimensional Viewing) do livro Computer Graphics Using OpengGL.- Leia o Capítulo 8 (Rendering Faces for Visual Realism) do livro Computer Graphics Using OpengGL.
Leia as Seções 13.1 a 13.3 (páginas 699-713) sobre eliminação de superfícies ocultas, do livro Computer Graphics Using OpengGL.