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.