Planeamento

Aulas Teóricas

Apresentação

Introdução, programa e funcionamento da disciplina.

Enquadramento e Conceitos fundamentais

Conceitos básicos de Computação Gráfica. Modelo Conceptual de um Sistema Gráfico Interactivo. Dispositivos de Saída. Os primeiros 40 anos de CG. Vídeos exemplificativos.

Sistemas Gráficos e Modelos

Fundamentos da Modelação Geométrica. Conceitos fundamentais para a criação de imagens. Conceitos básicos sobre modelos geométricos.

Modelação Geométrica

Tipos de modelação geométrica. Malhas poligonais. Técnicas de representação de malhas poligonais. Representação de sólidos e volumes: instanciação de primitivas, representação por varrimento, representação de fronteira, representação por partição do espaço. Modelação CSG.

Transformações Geométricas (I)

Espaços cartesianos e vectoriais. Transformações geométricas em computação gráfica. Transformações geométricas planas elementares. Coordenadas homogéneas. Transformações no espaço homogéneo.

Transformações Geométricas (II)

Composição de transformações geométricas. Deformação lateral. Transformações geométricas no espaço tridimensional. Matriz de transformação composta. Mudança de sistema de coordenadas. Grafos de Cena.

Cor

Teoria da cor. Modelação da cor. Modelos de Cor. Reprodução da cor.

CGLib

Apresentação da arquitectura que será usada na segunda parte das aulas teóricas.

Pipeline de Visualização 3D e Câmara Virtual

Pipeline de visualização 3D. Parâmetros da câmara virtual. Referencial do mundo e referencial da câmara. Volumes de visualização.

Transformações de Normalização e Projecção

Transformações de Normalização. Transformação de Projecção.

Back-face Culling e Recorte

Remoção de faces traseiras: algoritmo de back-face culling. Recorte em 2D. Recorte de linhas: algoritmo de Cohen-Sutherland.

Recorte

Recorte em 2D. Recorte de linhas (cont.): algoritmos paramétricos de Cyrus-Beck e  Liang-Barsky. Recorte de Polígonos: algoritmo de Sutherland-Hodgman. Recorte em 3D.

Modelo de Reflexão e Iluminação

Luz e materiais. Modelo de iluminação de Phong. Modelo de Phong-Blinn.

Triangulação, Mapeamento em Viewport e Transformação Janela-Viewport

Triangulação e mapeamento em coordenadas de viewport, no âmbito do pipeline de visualização 3D. Transformação janela-viewport no contexto da visualização 2D. Operações janela-viewport.

Discretização

Discretização de segmentos de recta. Preenchimento de polígonos.

Sombreamento

Introdução ao sombreamento. Sombreamento Imediato. Sombreamento Constante. Sombreamento de Gouraud. Sombreamento de Phong.

Remoção de Superfícies Ocultas

Algoritmo de ordenação em profundidade. Algoritmo do pintor. Algoritmo de Z-Buffer.

RSO e Ray-Tracing

Algoritmo da scan-line com remoção de superfícies ocultas. Algoritmo de ray-casting para RSO e sombreamento. Introdução ao algoritmo de ray-tracing.

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.

Formatos de Imagem

Generalidades sobre formatos de imagem. Formatos PBM, DIB (BMP), GIF, PNG, JFIF (JPEG). Considerações sobre uso de diferentes formatos.

Radiosidade

Introdução. Equação da Radiosidade. Factores de forma. Hemicubo. Optimização.

Pipelines Programáveis

Linguagens. Árvores de Sombreamento. Extensão do OpenGL. GLSL (OpenGL Shaeing Language). Vertex Shaders. Fragment Shaders. Linking com programas OpenGL

Aulas Laboratoriais

Inscrições (0/12)

Inscrições nas aulas de laboratório

Modelação e Transformações (1/12)

Introdução ao VRML
Modelação de uma grua recorrendo a formas básicas
Hierarquização dos módulos da grua recorrendo a protótipos
Transformações geométricas

Malhas, Materiais e Iluminação (2/12)

Modelação utilizando malhas de polígonos
Aplicação de materiais com diferentes características (metálico, baço, etc)
Iluminação da cena recorrendo a luzes dos tipos pointlight e spotlight
Avaliação

Texturas, Câmaras e Animação (3/12)

Aplicação de texturas nas malhas de polígonos 
Definição de várias câmaras para visualizar a cena de diferentes perspectivas 
Animação da grua e dos contentores
Avaliação

Introdução ao OpenGL/CGLib (4/12)

Apresentação do trabalho a ser desenvolvido nas próximas aulas
Apresentação da ferramenta de desenvolvimento Visual Studio 2008 
Apresentação da arquitectura base para o trabalho - CGLib
Demonstração das funcionalidades da arquitectura

Apoio ao Bloco 1 de OpenGL (5/12)

Pista de corridas (geometria básica)
Câmara (projecção ortogonal fixa) correctamente colocada no grafo de cena
Modelo de um carro (polígonos simples) com um modelo de física controlado pelo teclado
Modelo de um tipo de obstáculo fixo e de um tipo de obstáculo móvel

Avaliação do Bloco 1 de OpenGL (6/12)

Avaliação

Apoio ao Bloco 2 de OpenGL (7/12)

Intersecções do carro com os limites da pista
Animação dos obstáculos móveis
Colisões do carro com os obstáculos
Câmara (projecção perspectiva) que acompanha o carro
HUD para o modo de um jogador

Avaliação do Bloco 2 de OpenGL

Avaliação

Apoio ao Bloco 3 de OpenGL (9/12)

Carro para o segundo jogador
Colisões entre os dois carros
Câmara que acompanha os dois carros em simultâneo
HUD para o modo de dois jogadores

Avaliação do Bloco 3 de OpenGL (10/12)

Avaliação

Apoio ao Bloco 4 de OpenGL (11/12)

Sistema de pontuação para o modo de dois jogadores
HUD final com mini-mapa
Iluminação global diurna
Ecrã inicial e de escolha de modo de jogo

Avaliação do Bloco 4 de OpenGL (12/12)

Avaliação