COMPUTAÇÃO GRÁFICA
1
COMPUTAÇÃO GRÁFICA
• De acordo com a ISO (“International Standard
Organization”) Computação Gráfica é um conjunto de
ferramentas e técnicas para converter dados para ou
de um dispositivo gráfico através de computador.
• A computação gráfica compreende três áreas:
– Síntese de imagens, que transforma dados em imagens;
– Processamento de imagens, que transforma imagens em
outras imagens;
– Análise de imagens, que transforma imagens em dados.
2
TIPOS DE COMPUTAÇÃO
Entrada
Dados
Dados
Imagens
Imagens
Saída
Dados
Imagens
Imagens
Dados
Tipo de Computação
Clássica
Síntese de Imagens
Processamento de Imagens
Análise de Imagens
3
GRÁFICOS EM COMPUTADORES
• As imagens gráficas são vistas em telas
ou em “hard copy” (papel ou películas).
Existem dispositivos gráficos que criam
as imagens.
• Os dispositivos gráficos recebem a
informação a exibir de uma área de
memória
intitulada
“Framebuffer”,
interface entre o software e o hardware.
4
ARMAZENAMENTO DE GRÁFICOS
• Os gráficos ficam armazenados sob a forma
de:
– Pontos,
definidos
por
três
coordenadas
geométricas e quatro coordenadas de cor.
– Figuras planas ou sólidos definidos por suas
propriedades, equações ou pontos característicos.
– Mapas de bits representando imagens ou
texturas.
– Fontes de iluminação definidas por coordenadas e
características próprias.
5
REALISMO
• A informação armazenada é processada para
a criação de cenas buscando a introdução de
realismo, o que recebe o nome de
renderização.
• Uma vez criada a cena define-se como ela
será observada e transmite-se a imagem
obtida deste ponto de vista para uma área de
memória. Este processo recebe o nome de
rasterização e a área de memória é o
“framebuffer”.
6
Definições e terminologia
•
•
•
•
Frame buffer
Renderização
Rasterização
Viewport
7
Frame buffer
• “Frame buffer” é a memória do dispositivo
gráfico, ou seja, a imagem que será exibida
na tela
8
Renderização
• Renderização é um processo de introdução de
realismo nas cenas ou conversão de dados em uma
imagem realista. O processo consiste de:
–
–
–
–
construção do modelo
aplicação de transformações para obter aparência 3D
eliminação de faces escondidas
execução dos recortes no volume de visualização
(“clipping”)
– conversão da representação 3D para pixels
(“rasterização”)
– tratamento de partes escondidas (vários objetos)
– sombreamento
9
Rasterização
• Rasterização pode ser definida como
conversão da representação vetorial para
matricial e é a operação que carrega o
“frame buffer”.
10
JANELAS E VIEWPORTS
• O dispositivo de saída, que vai exibir o gráfico, possui uma
área de exibição. O aplicativo que vai exibir um gráfico
especifica uma porção da área de exibição na qual vai
operar – uma janela. Dentro dessa janela partes podem ser
reservadas para finalidades de exibição de textos,
logotipos, mensagens, etc. A parte da janela na qual se vai
desenhar um gráfico recebe o nome de “viewport”.
• O mapeamento do sistema de Coordenadas Lógicas
Cartesianas em Coordenados de Pixels da tela é chamado
de Viewport.
• Viewport é a região dentro de uma janela na qual será
desenhada a área cortada (a exibir).
11
JANELAS E VIEWPORTS
12
TIPOS DE PROJEÇÃO
• Projeções paralelas
• Projeções cônicas
–(visão em perspectiva)
13
VOLUME DE VISUALIZAÇÃO
• O volume de visualização é aquele
dentro do qual os objetos são
visíveis e manipuláveis.
14
PROJEÇÕES PARALELAS
15
PROJEÇÕES EM PESRPECTIVA
16
SISTEMA DE EIXOS
• O Sistema de eixos é considerado
como aquele que tem:
– O eixo X na horizontal apontando para a
direita do observador olhando a tela,
– O eixo Y na vertical apontando para cima
– O eixo Z normal ao plano XY apontando
para o observador (para fora da tela)
17
SISTEMA DE EIXOS
18
Bibliotecas Gráficas
• As bibliotecas gráficas destinam-se a
facilitar a programação por parte de
usuários finais.
• Apresentam funções que integram as
aplicações de maneira transparente.
19
Exemplos
• Renderização
• Robo
20
Exemplos
• Rasterização/Renderização
• Robo com perspectiva dimétrica
• Cubo com rasterização variável
• Jato com rasterização variável
• Cubo com textura e rasterização variável
21
Bibliotecas Gráficas
• Presentemente as bibliotecas gráficas de uso
geral são:
• OpenGL
– Originada na SGI e hoje de código livre
• DirectX
– Produto Microsoft
22
Bibliotecas Gráficas
• Funções fornecidas
– Primitivas gráficas
– Funções auxiliares
– Funções de integração
23
Primitivas gráficas
•
•
•
•
•
•
•
Geração de pontos, linhas, polígonos, etc.
Habilitação de propriedades
Transformações geométricas
Cores
Texturas
Modelos de iluminação
Uso de pilhas
24
Funções auxiliares
• Geração de sólidos
• Posicionamento de observador
• Tipo de projeção
25
Funções de integração
•
•
•
•
•
•
•
Montagem do contexto
Renderização ou desenho
Rasterização ou redimensionamento
Teclado
Mouse
Ociosidade (“Idle”)
Ciclo (“Main loop”)
26
Notas de Aula de OpenGL
• Apresentação OpenGL de Computação Gráfica, da
Professora Aura Conci
27
Download

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