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

Transcript of Eliminación de Superficies Ocultas Ernesto Coto Laboratorio de Computación Grafica Universidad...

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