Você está na página 1de 29

Computação Gráfica

Prof. Dr. Vinicius S. Andrade


Conversão matricial de elipses -
bem parecido com algumas coisas
que já vimos na aula passada

Temas da
aula de Antialising;

hoje
Algoritmos de recorte

2
Conversão Matricial
O traçado de primitivas gráficas elementares, como
segmentos de reta ou arcos de circunferência elipses,
requer a construção de algoritmos capazes de
determinar na matriz de pixels da superfície de
exibição, quais pixels devem ser alterados de forma a
simular-se a aparência do elemento gráfico desejado.
Estes algoritmos recebem o nome de Algoritmos de
Conversão Matricial, por converterem em
representação matricial elementos gráficos expressos
em uma representação vetorial.

3
Vetorial x Matricial

Traços Pixels

4
Exemplo

5
Imagem Vetorial

Vantagens Desvantagens
• Mapa representado na • Não representa fenômenos com
resolução original. variação contínua no espaço.
• Associar atributos a elementos • Simulação e modelagem é mais
gráficos. difícil
• Relacionamentos topológicos. • Difícil associar atributos
• Adequados a grandes escalas.
• A partir 1:25.000 e maiores

6
Imagem Matricial

Vantagens Desvantagens
• Representa fenômenos variantes • Espaço de armazenamento
no espaço utilizado devido a alta utilização
• Simulação e modelagem mais de pixels.
fáceis • Possível perda de resolução
• Análise geográfica rápida devido a imagem ser limitada
quanto a quantidade de pixels.
• Adequado para pequenas
escalas
• A partir de 1:50.000 e menores
7
Algoritmo de Recorte

8
O que é ?

• Recortar os objetos para que apenas


o que realmente deva aparecer fique
visível.
• Remover as partes indesejáveis.

Introdução Para que serve ?

• Extrair parte de uma cena.


• Identificar superfícies visíveis de um
objeto 3D.
• Operação de edição de objetos.

9
Como funciona?
O algoritmo irá calcular e definir uma janela de seleção. Em seguida exclui os objetos que fiquem
para fora da mesma. Por fim mostra aqueles que realmente deveriam aparecer.

10
Qual a Ao trabalhar com cenas com muitas
informações, se faz necessário um número
necessidade elevado de cálculos complexos para definir
quais objetos iram ficar e ser renderizados
de utilizá-los em cena. Dessa necessidade surgiu os
algoritmos de recorte.

11
Algoritmo de
Cohen -
Sutherland
Criado por Danny Cohen e Ivan Sutherland em 1967
para ser implementado em um simulador de voo.
O algoritmo divide a tela em 9 quadrantes utilizando
como mapeamento bits, com a seguinte lógica:

• 0001 – A esquerda
• 0010 – A direita
• 0100 – Embaixo
• 1000 – Em cima
Como funciona?
0010 – direita
1000 – em cima
Portanto temos:
1010
0001 – A esquerda
0010 – A direita
0100 – Embaixo
1000 – Em cima

Define o que
será
renderizado
0001 – esquerda
0100 – embaixo
Portanto temos:
0101
13
Define o que será renderizado
Legal, mas e O campo de visão de um jogo é definido de
nos jogos, acordo com o campo de visão do jogado, logo,
por mais complexa e cheia de elementos que a
onde cena possa ser, não é tudo dela que será
renderizado, e sim só aquele que contempla o
aplicamos campo de visão do jogados, essa é a principal
aplicação desses algoritmos em jogos digitais.
isso?

14
Anti-Aliasing

15
Serrilhado na
Imagem?
•O serrilhado visto na imagem de
alguns jogos é o Aliasing. Já o Anti-
Aliasing está aí justamente para
poder livrar a sua jogatina desse
problema.

16
Resolução de telas

A tela dos dispositivos funciona


como se fosse um grid. Cada pixel
renderizado é resultado de um
cálculo de todas as informações
espaciais, calculadas geralmente
pela placa gráfica para renderizar as
informações na tela.

17
Anti-aliasing

Anti-Aliasing, aplicados diretamente nos


pixels na tela, bem como métodos que
amenizam o serrilhamento. métodos que são
aplicados diretamente no desenvolvimento
de jogos, tais como o MipMapping e o Level
of Detail (LOD ou Nível de Detalhe).

Em seus modelos mais simples acrescenta


mais pixels para gerar o efeito “borrado”,
criando uma visualização mais agradável.

18
MipMapping – A solução na textura

Algumas vezes, mesmo movimentos suaves,


podem causar o serrilhamento de texturas.

Em computação gráfica, mipmaps são


sequências de imagens pré-calculadas, cada
uma sendo uma representação em menor
escala da mesma imagem. Elas são agrupadas
em um atlas de textura e utilizadas, baseado
no quão distante o objeto está da câmera.

19
LOD: Level of O LOD possui os mesmos princípios do MipMapping, só que
aplicados a modelos 3D. Modelos com muitos vértices sendo
Detail – A solução renderizados muito distantes da câmera gastam muito
em modelos 3D processamento, além de não ficarem visualmente agradáveis.

20
Níveis de anti-
aliasing
Existem diversos níveis
diferentes de Anti-Aliasing, que
vão de simples 2x até valores
absurdamente altos, como 32x.

Isso representa o número de


vezes que a imagem de sua tela
vai ser aumentada; logo,
quanto maior o valor melhor é
a qualidade do “produto” final.

21
MSAA: Multi Sampling Anti-Aliasing

• Esse algoritmo Anti-Aliasing identifica diversas


localidades mediadas entre os pixels que não
são percebidas pelos olhos humanos,
baseado na resolução dos monitores. E ele
junta isso com a renderização final do shader,
que é basicamente como o objeto se mostra
na cena.
• Esse processo só é visto melhor em
resoluções baixas como 720p e o custo ainda
é alto, porque ele precisa ser calculado para
cada pixel a cada frame.

22
FXAA: Fast O algoritmo Anti-Aliasing criado para a NVIDIA para cobrir as deficiências do MSAA. Ele custa
menos processamento ao computador. A principal diferença do MSAA, é que o FXAA busca
Approximate Anti- apenas as bordas do objeto, em vez de todos os frames.
A principal perda dessa técnica está atrelada ao movimento, visto que os pixels podem perder
Aliasing a definição, causando um borrado na imagem.

23
TXAA: Temporal Anti-Aliasing

• Esse efeito Anti-Aliasing visa reduzir o


problema do blur com objetos
movimentando-se em altas velocidades, mais
especificamente do que o frame-rate é capaz
de renderizar.
• Quando a velocidade do objeto é maior que a
do frame-rate do dispositivo, isso faz com que
alguns frames sejam perdidos, dando a
sensação de que esse objeto parece que está
pulando na cena, quando não está.

24
Ray Tracing é um algoritmo de computação gráfica usado para síntese de
ATAA e o Ray imagens tridimensionais. Ele simula o trajeto que os raios de luz
Tracing percorreriam no mundo real, mas, neste caso, de trás para a frente. O
observador passa a ser “a fonte de luz”.

25
ATAA e o Ray Tracing
O ATAA(Adaptive Temporal Antialiasing): é uma evolução do TXAA. Utiliza o Ray Tracing para
manter a qualidade do anti-serrilhamento em "tempo real", esta característica é o motivo do
termo "adaptive" no nome.

Obs: a imagem em si não possui boa resolução, dificultando assim visualizar o real ganho proveniente do
26
SSAA.
SSAA: Supersampling Anti-Aliasing
Com SSAA No SSAA

Esse método de Anti-Aliasing utiliza um render


de resolução maior para produzir uma imagem
de resolução menor com menos artefatos e
serrilhados. Através deste método, a linha
diagonal é transformada em uma imagem
digital com uma resolução maior, permitindo
que sejam reproduzidos mais detalhes do que
antes. Isso faz com que se converta em uma
imagem de maior fidelidade quando a resolução
é reduzida para aquela que será utilizada pela
tela ou monitor.

Obs: a imagem em si não possui boa resolução,


dificultando assim visualizar o real ganho proveniente
27
do SSAA.
Que tipo de Anti- Muitas placas de vídeo utilizam os efeitos Anti-Aliasing demonstrados
anteriormente em diversos níveis, e muitos deles estão disponíveis para
Aliasing é o melhor serem habilitados ou não pelas configurações. Cabe ao usuário escolher qual
para você? utilizar, baseado em qual máquina ele utiliza.

28
Computadores e notebooks gamers focados em placas gráficas e bons processamentos de memória
RAM e GPU irão processar efeitos de Anti-Aliasing que exijam mais da máquina. Apesar das diversas
variações citadas, vale a pena configurar uma pequena lista de quais efeitos usar para o nível de
máquina o usuário possui:

FXAA: Popular e não tão custosa assim;


MSAA: Baixo custo, porém não tão utilizada ultimamente;
TXAA para PCs medianos para mais robustos;
SSAA: muito custoso (muito mesmo), porém com alta qualidade;
ATAA: é uma tecnologia nova para novas placas GTX.

29

Você também pode gostar