Planeamento
Aulas Teóricas
Apresentação e Introdução a CG e ao three.js
Apresentação. Introdução a CG: Aplicações de CG; Sistema Gráfico Interativo; Criação de Imagens Sintéticas; APIs Gráficas; e Pipeline Gráfico. Breve Introdução ao three.js.
Cor. Programação Baseada em Acontecimentos. Matemática para CG
Teoria da cor e modelos de cor. Programação
Baseada em Acontecimentos. Matemática para CG (inclui trigonometria e
matrizes).
Transformações Geométricas
Transformações
geométricas planas elementares. Transformações no espaço homogéneo.
Transformações em 3D.
Composição de Transformações
Composição
de transformações geométricas. Modelação e Grafos de Cena. Matrizes de
transformação em three.js.
Animação Interactiva e Colisões
Animação
interactiva, por interpolação e procedimental. Tratamento de colisões. Cálculo de
intersecções.
Visualização e Projecção. Câmara Virtual.
Visualização
e Projecção. Câmara Virtual Simples. Visualização e Projecção em three.js.
Iluminação
Modelo de iluminação de Blinn-Phong.
Sombreamento
Métodos de sombreamento constante, de Gouraud e de Phong.
Recorte
Algoritmo de Cohen-Sutherland. Recorte de polígonos com o algoritmo de Sutherland-Hodgman. Recorte em 3D.
Rasterização
Rasterização
de linhas pelo algoritmo de Bresenham. Preenchimento de polígonos.
Remoção de Superfícies Ocultas
Remoção de faces traseiras. Algoritmo de z-buffer.
Mapeamento de texturas
Mapeamento de texturas 2D. Coordenadas de textura. Técnicas de amostragem em texturas.
Formatos de Imagem e Ray-tracing
Generalidades sobre formatos de imagem (BMP, GIF, PNG, JFIF). Considerações sobre uso de diferentes formatos.
Algoritmo de Ray-Tracing. Cálculo de intersecções em Ray-Tracing. Interacção da luz com superfícies em Ray-Tracing.
Aulas Laboratoriais
Introdução three.js
Introdução aos conceitos básicos do three.js. Exercícios básicos de modelação, janela e viewport.
Cena simples estática com câmara fixa
Resolução de Problemas (30mins): Cor; Operações sobre vectores e matrizes.
Apoio ao Desenvolvimento (60mins): Modelação com geometria simples dos objectos. Câmara fixa com projeção ortogonal.
Cena simples interativa com câmara fixa
Resolução de Problemas (30mins): Matrizes de transformação geométrica; Composição de transformações (incl. mudança de referencial)
Apoio ao Desenvolvimento (60mins): Animação interativa. 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
Resolução de Problemas (30mins): Cálculo de matrizes de visualização e projecção.
Apoio ao Desenvolvimento (60mins): Animação Procedimental. Câmara móvel que acompanha o movimento do personagem (projeção perspetiva). 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
Resolução de Problemas (30mins): Iluminação e Sombreamento. Recorte.
Apoio ao Desenvolvimento (60mins): Iluminação global com luz direccional. Aplicação de materiais nos elementos do jogo. Criação de fontes de luz direcional e pontuais.
3ª Avaliação (5.0v)
Entrega e avaliação do terceiro trabalho de laboratorio.
Cena interativa com luzes dinâmicas e texturas
Resolução de Problemas (30mins): Rasterização e preenchimento de polígonos. Remoção de superfícies ocultas. Ray-Tracing
Apoio ao Desenvolvimento (60mins): Criação de tabuleiro de jogo com aplicação de textura. Fonte de luz spotlight dinâmica. Contabilização de pontos e vidas. Implementação de pausa e fim de jogo.
4ª Avaliação (4.0v)
Entrega e avaliação do quarto trabalho de laboratorio.
Introdução three.js
Introdução aos conceitos básicos do three.js. Exercícios básicos de modelação, janela e viewport.
Cena simples estática com câmara fixa
Resolução de Problemas (30mins): Cor; Operações sobre vectores e matrizes.
Apoio ao Desenvolvimento (60mins): Modelação com geometria simples dos objectos. Câmara fixa com projeção ortogonal.
Cena simples interativa com câmara fixa
Resolução de Problemas (30mins): Matrizes de transformação geométrica; Composição de transformações (incl. mudança de referencial)
Apoio ao Desenvolvimento (60mins): Animação interativa. 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
Resolução de Problemas (30mins): Cálculo de matrizes de visualização e projecção.
Apoio ao Desenvolvimento (60mins): Animação Procedimental. Câmara móvel que acompanha o movimento do personagem (projeção perspetiva). 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
Resolução de Problemas (30mins): Iluminação e Sombreamento. Recorte.
Apoio ao Desenvolvimento (60mins): Iluminação global com luz direccional. Aplicação de materiais nos elementos do jogo. Criação de fontes de luz direcional e pontuais.
3ª Avaliação (5.0v)
Entrega e avaliação do terceiro trabalho de laboratorio.
Cena interativa com luzes dinâmicas e texturas
Resolução de Problemas (30mins): Rasterização e preenchimento de polígonos. Remoção de superfícies ocultas. Ray-Tracing
Apoio ao Desenvolvimento (60mins): Criação de tabuleiro de jogo com aplicação de textura. Fonte de luz spotlight dinâmica. Contabilização de pontos e vidas. Implementação de pausa e fim de jogo.
4ª Avaliação (4.0v)
Entrega e avaliação do quarto trabalho de laboratorio.