Planeamento

Aulas Teóricas

Apresentação e Introdução

Apresentação, programa e funcionamento da disciplina. Introdução a Computação Gráfica. Sistema Gráfico. Arquitecturas Gráficas.

Introdução ao OpenGL e à Programação Baseada em Eventos

Introdução às APIs Gráficas. Bibliotecas OpenGL. Estrutura do OpenGL. Compreender OpenGL. Programação Baseada em Eventos. Desenhar objectos geoométricos. 

Enquadramento e Conceitos Fundamentais

Conceitos básicos de Computação Gráfica. Modelo Conceptual de um Sistema Gráfico Interactivo. Dispositivos de Saída. Matemática para CG (inclui trigonometria e matrizes).

Transformações Geométricas (I)

Transformações geométricas elementares. Transformações no espaço homogéneo. Transformações em 3D.

Transformações Geométricas (II)

Composição de transformações geométricas. Matriz de transformação composta. Grafos de Cena. Manipulação de matrizes em OpenGL (ordem, modos, pilha, etc...). Animação Interactiva.

Câmara Virtual: Visualização

Visualização clássica. Visualização 3D. Câmara Virtual Simples. Pipeline 3D. Cálculo de Matrizes de Visualização.

Câmara Virtual: Projecção

Cálculo de Matrizes de Normalização e Projecção. Visualização e Projecção em OpenGL.

Iluminação

Luzes e Materiais. Modelo de Iluminação de Phong. Modelo de Iluminação de Blinn-Phong. 

Sombreamento

Flat Shading. Sombreamento de Gouraud. Sombreamento de Phong.

Recorte

Algoritmo de Cohen-Sutherland. Recorte de polígonos com o algoritmo de Sutherland-Hodgman. Recorte em 3D.

Rasterização e Z-Buffer

Algoritmo de Bresenham. Algoritmo da scanline para preenchimento de polígonos. Remoção de faces ocultas. Algoritmo do z-buffer.

Mapeamento de texturas

Mapeamento de texturas 2D. Coordenadas de textura. Técnicas de amostragem em texturas.

Cor e Formatos de Imagem

Teoria da cor. Modelação da cor. Modelos de cor. Generalidades sobre formatos de imagem. Formatos PBM, DIB (BMP), GIF, PNG, JFIF (JPEG). Considerações sobre uso de diferentes formatos.

Ray-Tracing

Algoritmo de Ray-Tracing. Cálculo de intersecções em Ray-Tracing. Interacção da luz com superfícies em Ray-Tracing. Estratégias de optimização do algoritmo de Ray-Tracing.

Aulas Laboratoriais

Introdução OpenGL

Introdução aos conceitos básicos do OpenGL. Exercícios básicos de modelação, janela e viewport.

Cena simples estática com câmara fixa

Estrutura de classes. Modelação com geometria simples dos objectos. Câmara fixa com projeção ortogonal. 

Cena simples interativa com câmara fixa

 Controlo do movimento da personagem com o teclado.

1ª Avaliação (6.0v)

Entrega e avaliação do primeiro trabalho de laboratorio.

Cena simples interativa com câmara móvel e colisões

Câmara móvel que acompanha o movimento do personagem (projeção perspetiva). Técnicas básicas de animação e detecção de colisões.

2ª Avaliação (5.0v)

Entrega e avaliação do segundo trabalho de laboratorio.

Cena interativa com materiais e luzes

Iluminação global com luz direccional. Aplicação de materiais nos elementos do jogo. Criação de fontes de luz spotlight.

3ª Avaliação (5.0v)

Entrega e avaliação do terceiro trabalho de laboratorio.

Cena interativa com luzes dinâmicas e texturas

Criação de tabuleiro de jogo com aplicação de textura. Fonte de luz pontual dinâmica. Contabilização de pontos, vidas e fim de jogo .

4ª Avaliação (4.0v)

Entrega e avaliação do quarto trabalho de laboratorio.