A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1/6/2016 Computação Gráfica

Apresentações semelhantes


Apresentação em tema: "1/6/2016 Computação Gráfica"— Transcrição da apresentação:

1 1/6/2016 Computação Gráfica http://tertuliano.wetpaint.com

2

3 O que é o Rendering Basicamente, podemos descrevê-la por “realismo visual”. Podemos interpretar o processo de rendering como o de converter dados em uma imagem realística ou simplesmente sintetizar um objeto ou cena até ter-se deles uma aparência de algo real e não de formas inteiramente criadas no computador.

4 Fases do Processo de Realismo Visual (Rendering) Construção do modelo (dados) Transformações lineares (Rotação/Translação/Escala) Eliminação de polígonos ou faces escondidas Clipping (recortar objetos para manter as partes que podem ser vistas e retirar o que não pode.) Rasterização Culling (polígonos, não visíveiso invés de recortar o que não vai aparecer na imagem, ela faz a deleção do que não será renderizado) Coloração, Textura e Iluminação

5 Remoção de Linhas e Superfícies Escondidas

6

7 Realismo por passadas Vantagens do realismo por passadas: a) economia de memória b) facilidade de introdução de modificações c) maior utilização das imagens estáticas d) pode eliminar o anti-aliasing e) integração f) reciclagem g) deph of field (simulação de foco) h) glows (incandescência) a renderização por passadas é a forma utilizada pela grande maioria dos sistemas para geração de cenas realísticas. Esse processo permite que os atributos de uma cena sejam renderizados separadamente da sua geração ou modelagem.

8 Realismo por passadas Tipos de passadas: a) Cores b) Iluminação c) Reflexões d) Sombras e) Efeitos Especiais f) Profundidade

9 Rasterização É o processo de conversão da representação vetorial para a matricial. Ela permite realizar a conversão de um desenho tridimensional qualquer em uma representação inteira possível de ser armazenada na memória (de vídeo ou impressão) de um dispositivo raster.

10

11

12

13

14

15 Geração de Primitivas Geração de linhas:  utilização de dispositivos matriciais, com pontos discretos;  processo: rasterização;  não há problemas para linhas horizontais, verticais ou com inclinação de 45º;  problema básico: qual o pixel ideal para uma linha desejada (?);  soluções melhores para dispositivos com maior resolução

16 Rasterização Converter uma definição geométrica para pixels rasterizar = escolher pixels!!

17 Geração de Linhas Rasterização A geração de retas em terminais matriciais merece ser estudada com cuidado, uma vez que sendo a matriz de tela um conjunto de pontos discretos, certamente a linha perde sua aparência contínua. Para tratar este problema são discutidos três métodos diferentes: Método Analítico Método DDA Método de Bresenham

18 Método Analítico Um TRC (Raster) pode ser considerado como uma matriz de pontos discretos, não é possível traçar diretamente uma linha unindo ponto a ponto. O processo de descrever da melhor maneira possível a linha encontrando as melhores aproximações é chamado de rasterização. Para linhas horizontais, verticais ou inclinadas 45º, o processo não acusa problemas

19 Método Analítico Veja o exemplo, Para outras linhas, será necessário decidir que pixel será usado (?)

20 Linhas: Método Analítico Dados os pontos extremos de uma linha na tela:  P1(x1,y1)P2(x2,y2) Obtenha a equação da reta que passa pelos pontos, chegando a ax + by + c = 0 calcule o coeficiente de inclinação da reta:  y = mx + b  m = (y2 - y1) / (x2 - x1)  b = y1 - m.x1 ligue todos os pontos que pertencem à reta, por meio de um for:

21 Linhas: Método Analítico Suponha a linha definida pelos pontos: P1(0,0) P2(5,2) Quais pixel são ligados?

22 Linhas: Método Analítico Problemas:  operações com ponto flutuante, no entanto, pixel são inteiros  muitos cálculos no processo - eficiência (?)  escolha do pixel não é um fator considerado na elaboração da solução, que pode ser qualquer um das redondezas do número obtido nas contas efetuadas

23 Método DDA Técnica baseada na solução da equação diferencial. Para uma linha reta: dy = K (constante) ou  y = y2 - y1 dx  x x2 - x1

24 Algoritimo Método DDA

25 Linhas: método DDA

26

27 Método de Bresenham Os método DDA de geração de retas gasta muito tempo com truncamentos. Para resolver este problema o método de Bresenham trabalha apenas com inteiros.

28 Método de Bresenham Os método DDA de geração de retas gasta muito tempo com truncamentos. Para resolver este problema o método de Bresenham trabalha apenas com inteiros.

29 Linhas: Algoritmo de Bresenham Princípios básicos:  trabalha só com inteiros  usa um incremento unitário  aproveita a coerência espacial: similaridade de valores referentes a pixel vizinhos  escolha entre dois valores de pixel vizinhos  usa uma variável di para tomada de decisão entre os pixel vizinhos  di é proporcional à uma diferença entre parâmetros s e t (figura)

30 Rasterização de Retas Algoritmo de Bresenham para Traçado de Linhas x = x1 y = y1 Dx = x2 – x1 Dy = y2 – y1 m = Dy/Dx e = m – 1/2 for i = 1 to Dx do desenhaPonto(x,y) while e >= 0 do y = y + 1 e = e – 1 end while x = x + 1 e = e + m end for

31 Linhas: Algoritmo de Bresenham Figura: duas situações distintas de possibilidades para escolha do pixel adequado

32 Representação Vetorial x Matricial Normalmente, gráficos são definidos através de primitivas geométricas como pontos, segmentos de retas, polígonos, etc  Representação vetorial Dispositivos gráficos podem ser pensados como matrizes de pixels (rasters)  Representação matricial Rasterização é o processo de conversão entre representações vetorial e matricial

33 Considerações Gerais Rasterização é um processo de amostragem  Domínio contínuo  discreto  Problemas de aliasing são esperados Cada primitiva pode gerar um grande número de pixels  Rapidez é essencial Em geral, rasterização é feita por hardware Técnicas de antialiasing podem ser empregadas, usualmente extraindo um custo em termos de desempenho

34 Rasterização de Segmentos de Reta Segmento de reta entre P 1 = (x 1, y 1 ) e P 2 = (x 2, y 2 )  Já foi recortado com relação ao viewport Objetivo é pintar os pixels atravessados pelo segmento de reta  Na verdade, nem todos, apenas os mais próximos Reta de suporte dada por a x + b y + c = 0 Queremos distinguir os casos  Linhas ~ horizontais  computar y como função de x  Linhas ~ verticais  computar x como função de y


Carregar ppt "1/6/2016 Computação Gráfica"

Apresentações semelhantes


Anúncios Google