eliminación de superficies ocultas ernesto coto laboratorio de computación grafica universidad...

30
Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

Upload: julio-lince

Post on 27-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

Eliminación de Superficies Ocultas

Ernesto Coto

Laboratorio de Computación GraficaUniversidad Central de Venezuela

Page 2: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

2Ernesto Coto - Eliminación de Superficies Ocultas

Contenido

• Introducción

• Back-Face Culling

• Eliminación por pirámide visualización

• Eliminación por nivel de detalle

• Eliminación por oclusión

• Eliminación usando portales

• Z-Buffering

Page 3: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

3Ernesto Coto - Eliminación de Superficies Ocultas

Conocimientos Previos

• Objetos 3D

• Despliegue de Objetos en 3D

• Pipeline Gráfico

• OpenGL

Page 4: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

4Ernesto Coto - Eliminación de Superficies Ocultas

Introducción

• Técnica de aceleración de despliegue de escenas

• Evita el despliegue innecesario de geometrías que no pueden ser vistas por el observador

Ojo visibleNo

visible

Novisible

Page 5: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

5Ernesto Coto - Eliminación de Superficies Ocultas

Introducción

• ¿Por qué tomarse la molestia?• Las geometrías fuera del campo de visión son

cortadas por el hardware• El hardware también puede manejar ocultamiento de

superficies

• La respuesta es obvia• Eficiencia !!!• A pesar de las capacidades del hardware podrían

procesarse muchas primitivas innecesarias

Page 6: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

6Ernesto Coto - Eliminación de Superficies Ocultas

Introducción

• ¿Por qué no desplegar todo?• Limitaciones en el número de polígonos • Limitaciones de memoria• Limitaciones en la velocidad de transferencia

de los buses

• Mientras más temprano se eliminen los objetos ocultos … mejor !!!

Page 7: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

7Ernesto Coto - Eliminación de Superficies Ocultas

• Niveles de Eliminación• Nivel de Píxel• Nivel de Polígono• Nivel de Objeto• Nivel del Mundo

Introducción

Ojo

Page 8: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

8Ernesto Coto - Eliminación de Superficies Ocultas

Back-Face Culling

• Eliminación a nivel de Polígono

• Idea: Las caras traseras de objetos cerrados y no transparentes no pueden ser vistas directamente

Ojo

No visibles

Page 9: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

9Ernesto Coto - Eliminación de Superficies Ocultas

Back-Face Culling

• Implementación sencilla

• Elimina un alto porcentaje de polígonos

OjoN

N

N

O

OO

Visible si < 90º

Page 10: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

10

Ernesto Coto - Eliminación de Superficies Ocultas

Back-Face Culling

• Use los vértices para obtener la normal

• Los vértices de los polígonos deben estar ordenados en dirección contraria a las agujas del reloj

a

b

c

N = ba x bc

Page 11: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

11

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Pirámide de Visualización

• Eliminación a nivel de Mundo y de Objeto

• Los objetos que están fuera de la pirámide de visualización no se procesan

Ojo

Pirámide de Visualización(Viewfrustrum)

near

far

Page 12: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

12

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Pirámide de Visualización

• Se utilizan Volúmenes Delimitadores (VD) para acelerar

Ojo

Page 13: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

13

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Pirámide de Visualización

• Utilice un enfoque jerárquico para acelerar aun más

Raíz

Page 14: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

14

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por nivel de Detalle

• Eliminación a nivel de Mundo y de Objeto

• Los objetos que aportan poco a la escena pueden ser omitidos

Page 15: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

15

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por nivel de Detalle

• No hay casi diferencia, pero el despliegue es mucho mas rápido

Sin eliminación Con eliminación

Page 16: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

16

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Oclusión

• Eliminación a nivel de Mundo y de Objeto

• Los objetos completamente ocluidos por otros objetos, se eliminan

• Difícil de resolver

Ojo

Imagen Final

Page 17: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

17

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Oclusión

• Procesar los objetos del frente hacia atrás

• Mantener un horizonte de oclusión

Horizonte de oclusión

Page 18: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

18

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Oclusión

• Para procesar un nuevo objeto• Calcular caja de proyección alineada a los ejes• Comparar contra el horizonte de oclusión

Eliminado !!!

Page 19: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

19

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación por Oclusión

• Cuando un objeto se considere visible• Agregue su “poder de oclusión” al horizonte

Page 20: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

20

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación usandoPortales

• Usado en modelos arquitectónicos• Las paredes son “oclusores”• Cuartos y pasillos son “celdas”• Puertas y ventanas son “portales”

• Dado un punto de vista, se calcula el Conjunto Potencialmente Visible (CPV) de objetos

Page 21: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

21

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación usandoPortales

Page 22: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

22

Ernesto Coto - Eliminación de Superficies Ocultas

Eliminación usandoPortales

• Excelente para escenas interiores

• Excelente para escenas urbanas con grandes oclusores

• Deficiente para escenas generales con oclusores pequeños

• La identificación de los portales y las celdas generalmente es manual

Page 23: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

23

Ernesto Coto - Eliminación de Superficies Ocultas

Z-Buffering

• Eliminación a nivel de píxel

• Se mantiene un buffer de profundidades del tamaño de la imagen

• El buffer contiene la profundidad de los píxeles más cercanos al ojo que se hayan dibujado

Ojo

En buffer

Page 24: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

24

Ernesto Coto - Eliminación de Superficies Ocultas

Z-Buffering

Para (cada cara F)

Para (cada píxel (x,y) en la cara) {

profundidad = profundidad de F en (x,y)

si (profundidad < d[x][y]) {

//F es el más cercano hasta ahora

c= color de F en (x,y)

pintar el píxel (x,y) de color c

d[x][y] = profundidad

//actualizar el buffer

}

}

Page 25: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

25

Ernesto Coto - Eliminación de Superficies Ocultas

Z-Buffering

Buffer de color Buffer de profundidad

Page 26: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

26

Ernesto Coto - Eliminación de Superficies Ocultas

Z-Buffering

• Implementación• Detalle clave: Es innecesario calcular la

profundidad de cada uno de los píxeles• En lugar de eso: calcule la profundidad de los

vértices del polígono e interpole linealmente la profundidad de los píxeles internos

• Posible problema: Z-Fighting

Page 27: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

27

Ernesto Coto - Eliminación de Superficies Ocultas

Z-Buffering

• La interpolación de los valores de las profundidades de los píxeles usando los vértices es sencilla

• Costoso para escenas simples pero excelente para escenas complejas

• Es necesario gastar más memoria

• Frecuentemente en hardware

Page 28: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

28

Ernesto Coto - Eliminación de Superficies Ocultas

Resumen

• Concepto de Eliminación de Superficies Ocultas

• Motivación

• Niveles de Eliminación

• Técnicas conocidas de Eliminación de Superficies Ocultas

Page 29: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

29

Ernesto Coto - Eliminación de Superficies Ocultas

Bibliografía

• Foley, James D. ; van Dam, Andries ; Feiner, Steven K. ; Hughes, Jhon F. Computer Graphics: Principles and Practice in C. 2da Edición. Addison Wesley Professional.1996.

• Moller, Tomas ; Haines, Eric. Real-Time Rendering. A.K. Peters, Ltd. 1999.

• Sudarsky, Oded ; Gotsman, Craig. Dynamic Scene Occlusion Culling. IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 1, pp. 13-29, Enero-Marzo 1999.

• Sutherland, I. E. ; Sproull, R. F.; Schumacker, R. A.. A Characterization of Ten Hidden-Surface Algorithms. ACM Computing Surveys, vol. 6, num. 1, pp. 1-55. Marzo, 1974.

Page 30: Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad Central de Venezuela

30

Ernesto Coto - Eliminación de Superficies Ocultas

Preguntas