Eliminación de Superficies Ocultas

1 Eliminación de Superficies OcultasLaboratorio de Comput...
Author: Julio Lince
0 downloads 0 Views

1 Eliminación de Superficies OcultasLaboratorio de Computación Grafica Universidad Central de Venezuela Eliminación de Superficies Ocultas Ernesto Coto

2 Contenido Introducción Back-Face CullingEliminación por pirámide visualización Eliminación por nivel de detalle Eliminación por oclusión Eliminación usando portales Z-Buffering Ernesto Coto - Eliminación de Superficies Ocultas

3 Conocimientos PreviosObjetos 3D Despliegue de Objetos en 3D Pipeline Gráfico OpenGL Ernesto Coto - Eliminación de Superficies Ocultas

4 Introducción Técnica de aceleración de despliegue de escenasEvita el despliegue innecesario de geometrías que no pueden ser vistas por el observador visible No visible Ojo No visible Ernesto Coto - Eliminación de Superficies Ocultas

5 Introducción ¿Por qué tomarse la molestia? La respuesta es obviaLas 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 Ernesto Coto - Eliminación de Superficies Ocultas

6 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 !!! Ernesto Coto - Eliminación de Superficies Ocultas

7 Introducción Niveles de Eliminación Nivel de Píxel Nivel de PolígonoNivel de Objeto Nivel del Mundo Ojo Ernesto Coto - Eliminación de Superficies Ocultas

8 Back-Face Culling Eliminación a nivel de PolígonoIdea: Las caras traseras de objetos cerrados y no transparentes no pueden ser vistas directamente No visibles Ojo Ernesto Coto - Eliminación de Superficies Ocultas

9 Back-Face Culling Implementación sencillaElimina un alto porcentaje de polígonos N Visible si  < 90º O Ojo Ernesto Coto - Eliminación de Superficies Ocultas

10 Back-Face Culling Use los vértices para obtener la normalLos vértices de los polígonos deben estar ordenados en dirección contraria a las agujas del reloj N = ba x bc c b a Ernesto Coto - Eliminación de Superficies Ocultas

11 Eliminación por Pirámide de VisualizaciónEliminación a nivel de Mundo y de Objeto Los objetos que están fuera de la pirámide de visualización no se procesan far near Ojo Pirámide de Visualización (Viewfrustrum) Ernesto Coto - Eliminación de Superficies Ocultas

12 Eliminación por Pirámide de VisualizaciónSe utilizan Volúmenes Delimitadores (VD) para acelerar Ojo Ernesto Coto - Eliminación de Superficies Ocultas

13 Eliminación por Pirámide de VisualizaciónUtilice un enfoque jerárquico para acelerar aun más Raíz Ernesto Coto - Eliminación de Superficies Ocultas

14 Eliminación por nivel de DetalleEliminación a nivel de Mundo y de Objeto Los objetos que aportan poco a la escena pueden ser omitidos Ernesto Coto - Eliminación de Superficies Ocultas

15 Eliminación por nivel de DetalleNo hay casi diferencia, pero el despliegue es mucho mas rápido Sin eliminación Con eliminación Ernesto Coto - Eliminación de Superficies Ocultas

16 Eliminación por OclusiónEliminación a nivel de Mundo y de Objeto Los objetos completamente ocluidos por otros objetos, se eliminan Difícil de resolver Ojo Imagen Final Ernesto Coto - Eliminación de Superficies Ocultas

17 Eliminación por OclusiónProcesar los objetos del frente hacia atrás Mantener un horizonte de oclusión Horizonte de oclusión Ernesto Coto - Eliminación de Superficies Ocultas

18 Eliminación por OclusiónPara procesar un nuevo objeto Calcular caja de proyección alineada a los ejes Comparar contra el horizonte de oclusión Eliminado !!! Ernesto Coto - Eliminación de Superficies Ocultas

19 Eliminación por OclusiónCuando un objeto se considere visible Agregue su “poder de oclusión” al horizonte Ernesto Coto - Eliminación de Superficies Ocultas

20 Eliminación usando PortalesUsado 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 Ernesto Coto - Eliminación de Superficies Ocultas

21 Eliminación usando PortalesErnesto Coto - Eliminación de Superficies Ocultas

22 Eliminación usando PortalesExcelente 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 Ernesto Coto - Eliminación de Superficies Ocultas

23 Z-Buffering Eliminación a nivel de píxelSe 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 Ernesto Coto - Eliminación de Superficies Ocultas

24 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 } Ernesto Coto - Eliminación de Superficies Ocultas

25 Z-Buffering Buffer de color Buffer de profundidadErnesto Coto - Eliminación de Superficies Ocultas

26 Z-Buffering Implementación Posible problema: Z-FightingDetalle 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 Ernesto Coto - Eliminación de Superficies Ocultas

27 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 Ernesto Coto - Eliminación de Superficies Ocultas

28 Resumen Concepto de Eliminación de Superficies Ocultas MotivaciónNiveles de Eliminación Técnicas conocidas de Eliminación de Superficies Ocultas Ernesto Coto - Eliminación de Superficies Ocultas

29 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 Sudarsky, Oded ; Gotsman, Craig. Dynamic Scene Occlusion Culling. IEEE Transactions on Visualization and Computer Graphics, vol. 5, no. 1, pp , 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 Marzo, 1974. Ernesto Coto - Eliminación de Superficies Ocultas

30 Preguntas Ernesto Coto - Eliminación de Superficies Ocultas