Introdução à Computação Gráfica

Slides:



Advertisements
Apresentações semelhantes
A Imagem (Parte II) Prof. AMOUSSOU DOROTHÉE
Advertisements

Computação Gráfica I Conteúdo: Professor: - Projeções e câmera virtual
Z-Buffer Método que opera no espaço da imagem
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
BITS ++ E A CORREÇÃO GAMA
The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Departamento de Informática e Estatística - INE/CTC/UFSC Computação Gráfica:
DCA-0114 Computação Gráfica
Tecnologia Hipermídia e Multimídia
OpenGL Clique para adicionar texto Soraia Musse 6/4/2011.
JOGOS.
Prof. Alex Fernandes da Veiga Machado
Dispositivos de Visualização e Rasterização
Projeções e OpenGL Alex F. V. Machado.
Computação Gráfica (Slide 5)
Ray Tracer Distribuído
COMPUTAÇÃO GRÁFICA.
Mapeamento de Texturas e Visualização de Terreno
Introdução à Computação Gráfica
Introdução à Computação Gráfica Colorização
Equipamentos 3/25/2017 Equipamentos Computação Gráfica - Gattass.
INF 1366 – Computação Gráfica Interativa
Computação Gráfica Introdução
A terceira dimensão.
Prof. M.Sc. Rogério Eduardo da Silva
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Aula5: Rendering e Rasterização
Computação Gráfica: Rendering e Rasterização
Computação Gráfica Teórica
Rodrigo de Toledo IM/DCC
Computação Gráfica OpenGL.
UNIVERSIDADE KIMPA VITA
Como a matemática participa da informática?.
Computação Gráfica UFRJ/DCC
COMPUTAÇÃO GRAFICA DAVIDE MOURO SALGUEIRO.
Sistemas Multimídia e Interface Homem-Máquina
Disciplina Geoprocessamento Aplicado ao Planejamento
DISCIPLINA: SR, Geoprocessamento I e II e Cartografia A tecnologia do Geoprocessamento – Aplicações e Potencialidades 12/3/ Aula 5.
Computação Gráfica aula 01
Aplicações da Álgebra Linear
Prof. Leandro da Silva Taddeo
Sistema operacional spring
Introdução à Computação Gráfica Curvas
Prof. Leandro da Silva Taddeo
Capítulo II – Imagem Digital
Computação Gráfica – Visibilidade
Introdução a Computação Gráfica
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica – Introdução ao OpenGL
April 05 Prof. Ismael H. F. Santos - 1 Computação Gráfica Módulo I – Imagem UniverCidade - Prof. Ismael H F Santos.
Introdução à Multimídia
ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres
INF 1366 – Computação Gráfica Interativa Rasterização
PLATAFORMAS MULTIMÍDIA
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Realidade Virtual Aula 2 Remis Balaniuk. Enxergando grande, começando pequeno Quem começa a aprender RV normalmente sofre um primeiro impacto negativo.
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
Operações para entrada de dados –Compilação de dados codificação de dados geográficos de uma forma conveniente para o sistema; incluem a digitalização,
Operações para entrada de dados –Compilação de dados codificação de dados geográficos de uma forma conveniente para o sistema; incluem a digitalização,
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Teoria da Cor Trabalho realizado por: Catarina Ferreira nº4 12ºB.
Prof. Wallace Borges Cristo
Processamento de Imagens e Computação Gráfica
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
Introdução à Computação Gráfica Rasterização
Computação Gráfica - Introdução
Aula 1 – Parte II O PROBLEMA DA REPRESENTAÇÃO COMPUTACIONAL DO ESPAÇO
Álgebra Vetorial e Linear para Computação
1 Computação Gráfica Prof. Dr. Júlio C. Klafke UNIP-Objetivo
Os desenhos. © 2000 Wilson de Pádua Paula Filho Os desenhos Tópicos: Representação de desenhos Edição gráfica bidimensional.
Computação Gráfica Professora: Janaide Nogueira
Transcrição da apresentação:

Introdução à Computação Gráfica Claudio Esperança Paulo Roma Cavalcanti Ricardo Marroquim

Estrutura do Curso Teoria e prática Avaliação Teoria  2 provas Prática  Trabalhos de implementação Biblioteca OpenGL Interface c/ sistema de janelas Glut / Qt / outras Multiplataforma C / C++ / Python / Java Grau (nota) baseado no êxito, na qualidade e na criatividade das soluções

Conteúdo do Curso Introdução Gráficos vetoriais e matriciais Dispositivos gráficos Programação gráfica com OpenGL Geometria Câmeras e projeções Modelagem geométrica Cor Iluminação local e global Colorização (shading) Visibilidade Recorte Rasterização Mapeamentos Textura Rugosidade Ambiente Técnicas sobre imagens Dithering Quantização de cores Codificação

Plataforma para desenvolvimento Ambiente Windows Compiladores Cygwin ou Mingw32 Fonte deve ser compilável em Linux (Ferramentas proprietárias não são aceitáveis) Ambiente Linux gcc / g++ / Python / Sun Java (ferramentas instaladas por default na maioria das distribuições) OpenGL 2 -> drivers atualizados

Bibliografia Real-Time Rendering – Tomas Akenine-Möller & Eric Haines – A.K. Peters Computer Graphics with OpenGL – Hearn & Baker – Prentice Hall Notas do Curso ministrado na Universidade de Maryland pelo Prof. David Mount http://www.cs.umd.edu/~mount/427/Lects/427lects.pdf Apostila Prof. Paulo Roma http://www.lcg.ufrj.br/compgraf1/downloads/apostila.pdf http://www.lcg.ufrj.br/compgraf1/downloads/apostila.ps.gz

Bibliografia OpenGL OpenGL® Programming Guide, 5th Edition. Mason Woo, Jackie Neider, Tom Davis. Addison Wesley. (cobre OpenGL v 2.0) Versão online para a versão 1.1 disponível em http://www.opengl.org/documentation/red_book/ Sítio oficial do OpenGL www.opengl.org

Computação Gráfica Análise (reconhecimento de padrões) Modelos Matemáticos Imagens Síntese (rendering) Modelagem Processamento de Imagens

Disciplinas relacionadas Computação Algoritmos Estruturas de Dados Métodos Numéricos Matemática Geometria, Álgebra Linear Física Ótica Mecânica Psicologia Percepção Artes

Aplicações Desenho Assistido por Computador (CAD) Desenho Geométrico Assistido por Computador (CAGD) Sistemas de Informações Geográficas (GIS) Visualização Científica Visualização Médica Educação Entretenimento

Representações Gráficas Gráficos “Vetoriais” Representados por coleções de objetos geométricos Pontos Retas Curvas Planos Polígonos Gráficos “Matriciais” Amostragem em grades retangulares Tipicamente, imagens digitais Matrizes de “pixels” Cada pixel representa uma cor Dados volumétricos Imagens médicas Cada pixel representa densidade ou intensidade de algum campo

Representações Vetoriais Permitem uma série de operações sem (quase) perda de precisão Transformações lineares / afim Deformações Por que “quase”? Estruturas de dados utilizam pontos e vetores cujas coordenadas são números reais É necessário usar aproximações Representação em ponto-flutuante Números racionais Complexidade de processamento = O (no vértices / vetores) Exibição Dispositivos vetoriais Dispositivos matriciais (requer amostragem, i.e., rasterização)

Representações Matriciais Representação flexível e muito comum Complexidade de processamento = O (no de pixels) Muitas operações implicam em perda de precisão (reamostragem) Ex.: rotação, escala Técnicas para lidar com o problema Ex.: técnicas anti-serrilhado (anti-aliasing) Exibição Dispositivos matriciais Dispositivos vetoriais (requer uso de técnicas de reconhecimento de padrões)

Conversão entre representações Repr. Vetoriais Rasterização, Reconhecimento “Scan conversion” de padrões Repr. Matriciais

Dispositivos Gráficos Dispositivos vetoriais Terminais gráficos vetoriais (obsoletos) Traçadores (plotters) Dispositivos virtuais Ex.: Linguagens de descrição de página (HPGL / Postscript) Rasterização implícita Dispositivos Matriciais Praticamente sinônimo de dispositivo gráfico Impressoras, displays

Displays Resolução espacial Resolução no espaço de cor Tipicamente de 640x480 até 1600x1200 Tendência de aumento Resolução no espaço de cor Monocromático (preto e branco) Praticamente restrito a PDAs e equipamentos de baixo custo Tabela de cores Cada pixel é representado por um número (tipicamente 8 bits – de 0 a 255) que indexa uma tabela de cores (tipicamente RGB 24 bits) Poucas (ex.: 256) cores simultâneas mas cada cor pode ser escolhida de um universo grande (ex.: 224) Problema da quantização de cores RGB Cor é expressa por quantidades discretas de vermelho (red), verde (green) e azul (blue) Tipicamente 24 bits (8 bits para cada componente) Quando o número de bits não é divisível por 3, a resolução do azul costuma ser menor que das outras 2 componentes

Arquitetura de Sistemas Gráficos CPU Periféricos Arquitetura Simples Barramento (BUS) Memória Frame Buffer Controlador de vídeo Monitor

Arquitetura de Sistemas Gráficos CPU Periféricos Arquitetura com processador gráfico Barramento (BUS) Memória do Sistema Proces- sador gráfico Memória Frame Buffer Monitor Contro- lador de vídeo

Processador (acelerador) gráfico Hardware especializado Uso de paralelismo para atingir alto desempenho Alivia a CPU do sistema de algumas tarefas, incluindo: Transformações Rotação, translação, escala, etc Recorte (clipping) Supressão de elementos fora da janela de visualização Projeção (3D 2D) Mapeamento de texturas Rasterização Amostragem de curvas e superfícies paramétricas Geração de pontos a partir de formas polinomiais Normalmente usa memória separada da do sistema Maior banda

Programação Gráfica À primeira vista: basta desenhar Mas ... Uma subrotina para desenhar cada tipo de objeto Mas ... Como fazer interação? Como estruturar a cena? Como controlar os atributos dos objetos? Como resolver problemas de visibilidade? Como suportar diversos dispositivos gráficos? Como fazer programas independentes dos sistemas operacionais? Ferramentas: APIs gráficas (ex.: OpenGL, Cairo, DirectX, Java3D) Camadas de interface com o S.O. / sistema de janelas