10 cc compgraf remoção de superficies linhas.ppt [modo de … · computação gráfica remoção...

8
1 Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Entendendo Remoção de Superfícies Escondidas Objetos são opacos Quais faces devem aparecer na cena • Situações Faces do mesmo objeto estão “escondidas” do observador Outros objetos estão atrás do objeto • Problemas Eficiência Quantos objetos são realmente vistos » Perca de tempo renderizando objetos que não são visíveis

Upload: doankiet

Post on 18-Jan-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

1

Computação Gráfica

Remoção de Linhas e Superfícies Escondidas

Prof. Rodrigo [email protected] http://www.bolinhabolinha.com

Entendendo Remoção de Superfícies Escondidas

• Objetos são opacos• Quais faces devem aparecer na cena• SituaçõesFaces do mesmo objeto estão “escondidas” do

observadorOutros objetos estão atrás do objeto

• ProblemasEficiência

– Quantos objetos são realmente vistos» Perca de tempo renderizando objetos que não são visíveis

Page 2: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

2

Questão??? Dois pontos

• P1(x1,y1,z1) e P2(x1,y2,z2)• Algum deles oculta o outro????

Estando na mesma reta projetante “sim”

Barreiras Mostrar/Pintar somente os objetos válidos Mostrar/Pintar com velocidade

• Mudança de cena• Movimentação dos objetos

É necessário aceleração por hardware ? Qualidade

• Antialising

Page 3: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

3

Algoritmos Remoção de linhas (hidden-lines)

Remoção de superfícies (hidden surfaces)

Back face Culling Remoção de faces que estão de costas para o observador Em objetos sólidos

• Faces têm “uma normal”• Sentido horário ou anti-horário

Se a visão da camera com a normal for• < 90 graus – face visível• Caso contrário, a face não está visível

Page 4: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

4

BackFace Culling n.v<0

BackFace Culling Onde falha ?

• Objetos côncavos não temos certeza se as outras faces estão visíveis

• Já em objetos convexos, todas as demais faces estão visíveis

Page 5: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

5

Z-buffer Duas matrizes

• Cores e medida “z” do pixel (x,y,z)

Antes desenhar cada pixel, verifica se o novo pixel têm o valor “z” menor que o anterior, se sim, ele está na frente e deverá ser desenhado e a matriz de cores é atualizada

Z-Buffer Exemplo

Page 6: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

6

Z-buffer Algoritmo

• Dados:Lista de polígonos {P1, P2, ..., Pn}Matriz z-buffer[x,y] inicializado com -∞Matriz Intensidade[x,y]

iníciopara cada polígono P na lista de polígonos faça {

para cada pixel (x,y) que intercepta P faça {calcule profundidade-z de P na posição (x,y)se prof-z < z-buffer[x,y] então {

Intensidade[x,y] = intensidade de P em (x,y)z-buffer[x,y] = prof-z

}}

}Desenhe Intensidade

fim

Z-Buffer Vantagens

• Objetos podem ser desenhados em qualquer ordem

• Facilmente implementado em hardware Desvantagens

• Quanto mais polígonos mais lento o algoritmo• Dificulta as técnicas de:TransparênciaAntiAlising

Page 7: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

7

Paint Algoritmo do “Pintor” Baseado em lista de prioridades Faz a ordenação, conforme a distância do

observador, dos polígonos a serem desenhados. Desenha os polígonos na ordem do mais

distante para o mais perto Observação:

• Os polígonos devem estar em planos paralelos xy

Paint Exemplo

Page 8: 10 CC CompGraf Remoção de Superficies Linhas.ppt [Modo de … · Computação Gráfica Remoção de Linhas e Superfícies Escondidas Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

8

Questões 1-) Qual o problema do z-buffer com transparência? E como

podemos resolvê-lo?

2-) No método de backface culling, quando ele pode falhar? Desenhe um exemplo.

3-) Implemente em Java ou C um programa que simule o z-buffer.

4-) Qual(is) o(s) problema(s)/desvantagem(ens) do algoritmo do pintor?

5-) Qual a diferença entre os algoritmos de z-buffer e scanline z-buffer?

Bibliografia Livro texto (Programa do Livro texto - PLT)

• AZEVEDO, Eduardo; CONCI, Aura. Computação Gráfica: teoria e prática. 1.ed. Rio de Janeiro: CAMPUS, 2003.

• CONCI, Aura; AZEVEDO, Eduardo; LETA, F.. Computação Gráfica. 1.ed. Rio de Janeiro: CAMPUS, 2007. v.2

• GOMES, P.. Computação Gráfica. 1.ed. Rio de Janeiro: LTC, 1998

Complementar• HETTEM JUNIOR, Annibal. Fundamentos de

Informática Computação Gráfica . 1.ed. São Paulo: LTC, 2006.

• HEARN, Donald; BAKER, M. Pauline. Computer Graphics: C version. 2.ed. New Jersey: Prentice - Hall, 1997.