Computação Gráfica
35T56 – Sala 3E3
Bruno Motta de Carvalho
Logística do Curso
2 avaliações Projetos práticos Grupos de duas pessoas (somente para os projetos!!) Implementações podem ser feitas na linguagem de sua preferênciaPrograma do Curso
Introdução Formação e representação de imagens Algoritmos de rasterização e recorte Transformações geométricas OpenGL Visualização 3D Sistemas de representação de cores Representação de curvas e superfíciesPrograma do Curso
Modelagem de sólidos Iluminação e sombreamento Raytracing Radiosidade Algoritmos de visibilidade Animação Programação de GPUsReferências
Computer Graphics: Principle and Practice. Foley, Van Dam, Feiner and Hughes, Addison Wesley, 1993 Computer Graphics with OpenGL, 3rd Ed. Hearn, Baker. PrenticeHall, 2004 OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition. Shreiner, D., M. Woo, J. Neider and T. Davis. AddisonWesley, 2003. http://www.rush3d.com/reference/opengl redbook1.1/Cronograma Inicial
Data Assunto Data Assunto
21/02/06Introdução 25/04/06Iluminação e sombreamento 23/02/06 27/04/06Ray-tracing
02/03/06Aquisição e Representação de Imagens 02/05/06PBRT
07/03/06Algoritmos de rasterização e recorte 04/05/06Acelerando o ray-tracing 09/03/06Transformações geométricas 09/05/06Revisão
14/03/06OpenGL 11/05/06Prova 16/03/06Aula prática de OpenGL 16/05/06Radiosidade 21/03/06Visualização tridimensional 18/05/06Radiosidade 23/03/06Visualização tridimensional 23/05/06Animação 28/03/06Sistemas de representação de cores 25/05/06Animação
30/03/06Prova 30/05/06Programação de GPUs 04/04/06Representação de curvas e superfícies 01/06/06Programação de GPUs 06/04/06Representação de curvas e superfícies 06/06/06Acompanhamento dos projetos 11/04/06Representação de curvas e superfícies 08/06/06Acompanhamento dos projetos
13/04/06Semana Santa 13/06/06Apresentação de Trabalhos 18/04/06Modelagem de sólidos 15/06/06Apresentação de Trabalhos 20/04/06Modelagem de sólidos 20/06/06Prova final
Introdução
O que é computação gráfica?
Como evoluiu a computação gráfica?
Quais as áreas de aplicação em que a
Introdução
Geração de imagens (possivelmente realísticas) de cenas virtuais usando computadores. Neste contexto se refere aos algoritmos, construções conceituais e conhecimentos matemáticos necessários para gerar cenas virtuais bi ou tridimensionais A síntese de figuras artificiais – a criação de imagens a partir de descriçõesRelacionamento com
outras áreas afins
Descrições Imagens Visão Computacional Computação Gráfica Processamento de ImagensHistória da Computação
Gráfica – Anos 60
DAC1 (Design Augmented by Computers) – GM e IBM Sketchpad (1961) – Ivan Sutherland (MIT) – Primeiro programa gráfico interativo Spacewar (1961) – Steve Russel (MIT) – Primeiro vídeogame Primeiras aplicações de visualização científica – Bell Labs., Boeing, etc. Primeiras animações e algoritmos de visibilidade (University of Utah)Evolução do Hardware
Gráfico – Anos 60
Minicomputador interativo (PDP1, da
DEC) – 1960
Caneta ótica para o Sketchpad (MIT)
– 1961
Terminal gráfico (IBM 2250) – 1965
HeadMounted Display (Sutherland,
MIT) – 1966
História da Computação
Gráfica – Anos 70
SCANIMATE (CIC) – programa para leitura (através de scanners) e manipulação de artwork já existente Gouraud shading (1971) – interpolação de cores nos polígonos Fundação da III, LucasFilm, Robert Abel & Associates, digital Effects, MAGI, Systems Simulation, etc. Primeiro SIGGRAPH (1973) Texturemapping, Zbuffering, renderização de superfícies curvas (Catmull, UU) 1974História da Computação
Gráfica – Anos 70
Phong Shading (Phong, UU) – 1974 Fractais (Mandelbrot, IBM) – 1975 BumpMapping, environmentMapping (Blinn, JPL) – 1976 Primeira edição da Computer Graphic World (CGW) – 1977 Antialiasing (Blinn, JPL) – 1977 Primeiros efeitos especiais produzidos por CG em longas metragem (Star Wars – 1977, Alien – 1979)Evolução do Hardware
Gráfico – Anos 70
Primeiros microcomputadores (Altair 8800, MITS) – 1971 Fundação da Atari – 1971 e criação do primeiro videogame comercial (Pong) – 1972 Primeiros framebuffers – 1972 Primeiro computador pessoal com display gráfico (e mouse) Xerox Alto(Xerox) – 1972 Fundação da Apple – 1975
História da Computação
Gráfica – Anos 80
Raytracing (Whitted) – 1980 REYES, primeiro renderer da LucasFilm, que evoluiu para o Renderman (Carpenter, LucasFilm) – 1981 Autocad 1 – 1982 Primeiro morphing (Brigham) – 1982 Tron (1982), The Last Starfighter (1984), Young Shelock Holmes (1985) Wavefront – Primeiro software comercial para animação 3D – 1984História da Computação
Gráfica – Anos 80
Radiosidade (Goral, Greenberg, Cornell) – 1984 Shading languages (Perlin, NYU) – 1985 TOPAS – Primeiro software de animação (de boa qualidade) para computadores pessoais – 1986 Animação forense – 1986 Divisão gráfica da LucasFilm se separa criando a Pixar – 1986Evolução do Hardware
Gráfico – Anos 80
Lançamento do IBM PC – 1981
Fundação da SGI – 1982
Dataglove – 1983
Placa de vídeo Targa – 1984
VPL Research – Primeira firma
especializada em realidade virtual –
1985
Macintosh – 1985
História da Computação
Gráfica – Anos 90
3D Studio (Autodesk) – 1990 Programas de pintura impressionista – NPR – (Haeberli) – 1990 Terminator 2 – 1991 Doom – Primeiro jogo 3D para múltiplos jogadores – 1993 Programa de ilustração em nanquim (Salesin et al.) 1994História da Computação
Gráfica – Anos 90
Toy Story – Primeiro longametragem completamente (??)gerado por computador – 1995 Cassiopéia (1996) Maya (Wavefront) – 1998Evolução do Hardware
Gráfico – Anos 90
Playstation (Sony) – 1995 Nintendo 64 – 1996 NVidia RIVA 128 – 1997 NVidia RIVA TNT (primeira a suportar multi texturas) – 1998 NVidia GeForce 256 (primeira GPU) – 1999 NVidia GeForce2 Go (primeira GPU para laptops) – 2000 NVidia GeForce3 (primeira GPU programável) – 2001História da Computação
Gráfica – Atual (Anos 2000)
Pointrendering
Programação em GPUs
Crowd simulation
Técnicas mais avançadas para
representar fenômenos naturais,
como fogo, água, raios, etc.
Evolução do Hardware
Gráfico – Atual (Anos 2000)
NVidia GeForce3 (primeira GPU programável) – 2001 Shading languages NVidia GeForce FX – 2002 GeForce FX 5900 – 2003 GeForce 6800 – 2004 GPU ultrapassa a CPU em número de transistores Cinema digitalAplicações de Computação
Gráfica
Aplicações de Computação
Gráfica
Aplicações de Computação
Gráfica
Aplicações de Computação
Gráfica
Treinamento
Aplicações de Computação
Gráfica
Aplicações de Computação
Gráfica
Diagnósticos
Aplicações de Computação
Gráfica
Diagnósticos