MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE SANTA CATARINA

CENTRO TECNOLÓGICO

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

PROGRAMA DE ENSINO

1. Identificação

Disciplina:INE5420 - Computação Gráfica
Nível:Graduação
Carga Horária:72 horas-aula (Teórica: 36; Prática: 36)
Vigência:De 2012-2 até a presente data

2. Ementa

Computação Gráfica Básica. Sistema Gráfico Interativo. Transformações geométricas 2D e coordenadas homogêneas. Clipping. Curvas paramétricas em 2D e 3D. Estruturas de dados gráficas 3D. Navegação 3D. Projeções, perspectiva e clipping 3D. Superfícies paramétricas bicúbicas. Visualização em 3D contendo, Rayshading, Raycasting e Raytracing. Conversão por varredura e buffer de profundidade. Iluminação de objetos. Implementação de um rayshader. APIs Gráficas e OpenGL. Animação e utilização de modelos hierárquicos. Simulação de movimentação de animais e humanos. Realidade virtual e VRML.

3. Cursos Relacionados

4. Objetivos

4.1 Objetivo Geral:

Desenvolver os aspectos teórico-praticos da disciplina, com desenvolvimento em laboratório de sistemas gráficos composta de 4 módulos: Módulo I - Computação Gráfica Básica com Implementação de um Sistema Gráfico Interativo. Módulo II: Visualização Realística em 3D. Módulo III - APIs Gráficas Utilizadas Comercialmente. Módulo IV: Aplicações Avançadas e Assuntos Especiais. Objetiva passar ao aluno tanto conhecimentos matemáticos e técnicos fundados sobre as técnicas e preceitos teóricos da Computação Gráfica, quanto prover uma experiência prática no desenvolvimento de sistemas gráficos envolvendo estes conceitos.

4.2 Objetivos Específicos:

  1. Compreender e Implementar Visualização Realística em 3D contendo: introdução a Rayshading, Raycasting e Raytracing; conversão por varredura; o buffer de profundidade; modelagem da iluminação de objetos; principais raytracers; implementação de um rayshader.
  2. Utilizar na prática de APIs Gráficas contendo: introdução a OpenGL; sólidos em OpenGL; operações geométricas em OpenGL; modelos de arame e facetas em 3D; normais e efeitos de Iluminação com OpenGL; Java3D e outras APIs.
  3. Desenvolver a Aplicações Avançadas contendo: animação e utilização de modelos hierárquicos; simulação de movimentação de animais e humanos e simulação de sistemas de partículas.

5. Conteúdo Programático

  1. Introdução à CG, aplicações e conseqüências [2 horas-aula]
  2. Conceitos Básicos de Computação Gráfica[2 horas-aula]
  3. Coordenadas 2D [8 horas-aula]
    1. Princípios de Transformações 2D e Coordenadas Homogêneas
    2. Implementação de Transformações 2D e Coordenadas Homogêneas
    3. Sistema de Coordenadas da Window
    4. Clipping 2D
  4. Curvas [6 horas-aula]
    1. Métodos analíticos: Blending Functions
    2. Métodos iterativos: Forward Differences
  5. Computação Gráfica 3D [8 horas-aula]
    1. Princípios de Projeções
    2. Projeções Paralelas
    3. Transformações 3D
  6. Perspectiva [6 horas-aula]
    1. Projeção em Perspectiva
    2. Clipping 3D
  7. Superfícies Curvas [4 horas-aula]
    1. Superfícies Curvas Bicúbicas em 3D
    2. Métodos analíticos para Superfícies Curvas Bicúbicas em 3D
    3. Métodos iterativos para Superfícies Curvas Bicúbicas em 3D
  8. Teoria da Iluminação [8 horas-aula]
    1. Raytracing, Raycasting, Rayshading
    2. Buffer de Profundidade
    3. Conversão por Varredura
    4. Modelagem de Iluminação de Ambientes e Objetos
  9. Implementação de Iluminação [4 horas-aula]
    1. Pixel Shading: fundamentos matemáticos e algoritmos
    2. Pixel Shading: implementação em CPU e GPU
  10. Ferramentas de Visualização Realística [4 horas-aula]
    1. Raytracing com ferramentas open-source como POV-Ray
    2. Modeladores 3D para Raytracing como Moray
    3. Linguagens de descrição de cenas
  11. Modelos de Interação de Fontes de Luz [4 horas-aula]
    1. Radiância: conceitos e modelos matemáticos
    2. Radiância: ferramentas e aplicações
  12. APIs Gráficas [6 horas-aula]
    1. OpenGL
    2. Java3D e outras APIs
  13. Modelos Hierárquicos[4 horas-aula]
    1. Princípios Básicos
    2. Modelando movimentos articulados
  14. Carga horária reservada para o processo de avaliação [6 horas-aula]
    1. Defesas dos Trabalhos
    2. Auxílio para trabalhos de recuperação
    3. Recuperação

6. Bibliografia Básica

  1. Fundamentals of Interactive Computer Graphics. ANGEL, EDWARD, DAM, A., VAN, FEINER, S., FOLEY, JAMES D. ADDISON WESLEY (PEARSON), 1995, 2a. Edição.
  2. Computação Gráfica - Teoria e Prática. Conci, Aura; Azevedo, Eduardo. Editora CAMPUS, 2003.
  3. Computação Gráfica - Teoria e Prática Vol. 2 Conci, Aura; Leta, Fabiana; Azevedo, Eduardo / CAMPUS, 2007.
  4. Material online disponibilizado no site da disciplina.

7. Bibliografia Complementar

  1. Principles of Interactive Computer Graphics. Williem Newman & Robert Sproull. McGraw-Hill/Kogakusha
  2. Interactive Computer Graphics. McGraw-Hill (Livro verde)
  3. Computer Graphics, C Version, Second Edition by Donald Hearn and M. Pauline Baker, Prentice-Hall, ISBN: 0135309247.
  4. The OpenGL Super Bible. 2nd. Edition.
  5. "OpenGL 1.2 Programming Guide, Third Edition: The Official Guide to Learning OpenGL, Version 1.2" by Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner,OpenGL Architecture Review Board, Addison-Wesley Pub Co; ISBN: 0201604582
  6. "OpenGL Reference Manual: The Official Reference Document to OpenGL, Version 1.2" by Dave Shreiner (Editor), Opengl Architecture Review Board, Addison-Wesley Pub Co; ISBN: 0201657651