300 likes | 613 Views
Laboratorio de Computación Grafica Universidad Central de Venezuela. Eliminación de Superficies Ocultas. Ernesto Coto. 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
E N D
Laboratorio de Computación Grafica Universidad Central de Venezuela Eliminación de Superficies Ocultas Ernesto Coto
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 Ernesto Coto - Eliminación de Superficies Ocultas
Conocimientos Previos • Objetos 3D • Despliegue de Objetos en 3D • Pipeline Gráfico • OpenGL Ernesto 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 visible No visible Ojo No visible Ernesto 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 Ernesto 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 !!! Ernesto Coto - Eliminación de Superficies Ocultas
Introducción • Niveles de Eliminación • Nivel de Píxel • Nivel de Polígono • Nivel de Objeto • Nivel del Mundo Ojo Ernesto Coto - Eliminación de Superficies Ocultas
No visibles 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 Ernesto Coto - Eliminación de Superficies Ocultas
N O Visible si < 90º N O O N Back-Face Culling • Implementación sencilla • Elimina un alto porcentaje de polígonos Ojo 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 N = ba x bc c b a 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 far near Ojo Pirámide de Visualización (Viewfrustrum) Ernesto Coto - Eliminación de Superficies Ocultas
Eliminación por Pirámide de Visualización • Se utilizan Volúmenes Delimitadores (VD) para acelerar Ojo 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 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 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 Con eliminación Sin eliminación 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 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 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 !!! 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 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 Ernesto Coto - Eliminación de Superficies Ocultas
Eliminación usandoPortales 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 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 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 } } Ernesto Coto - Eliminación de Superficies Ocultas
Z-Buffering Buffer de color Buffer de profundidad 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 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 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 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. Ernesto Coto - Eliminación de Superficies Ocultas
Preguntas Ernesto Coto - Eliminación de Superficies Ocultas