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 e Projecção

Visualização clássica. Visualização 3D. Câmara Virtual Simples. Cálculo de Matrizes de Visualização e Projecção. Visualização e Projecção em OpenGL.

Iluminação e Sombreamento

Luzes e Materiais. Modelo de Iluminação de Phong. Modelo de Iluminação de Blinn-Phong. 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

Algoritmo de Bresenham. Algoritmo da scanline para preenchimento de polígonos.

Operações sobre Fragmentos - Buffers

Front and Back buffers. Depth Buffer. Stencil buffer

Operações sobre Fragmentos - 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 interativa com câmara fixa

Estrutura de classes. Modelação com geometria simples dos objectos. Câmara fixa com projeção ortogonal. Controlo do movimento da personagem com o teclado.

1ª Avaliação

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

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

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

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