1 / 30

Eliminación de Superficies Ocultas

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

ilar
Download Presentation

Eliminación de Superficies Ocultas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. Conocimientos Previos • Objetos 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 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

  5. 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

  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ígono • Nivel de Objeto • Nivel del Mundo Ojo Ernesto Coto - Eliminación de Superficies Ocultas

  8. 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

  9. 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

  10. 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

  11. 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

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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. Eliminación usandoPortales Ernesto Coto - Eliminación de Superficies Ocultas

  22. 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

  23. 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

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

  26. 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

  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ón • Niveles 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. 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

  30. Preguntas Ernesto Coto - Eliminación de Superficies Ocultas

More Related