>> Visibilidad <<

Slides:



Advertisements
Presentaciones similares
Desarrollo de Juegos de Video en 3D
Advertisements

Perspectiva Isométrica I
Sistemas de Graficación
LA ILUMINACIÓN.
Actualización en Geometría: Simulación por Ordenador
Maximiliano Monterrubio Gutiérrez
M.I.A Daniel Alejandro García López
Descartes 2.0 Edición de de escenas Escena Acceso al editor Doble clic dentro de la escena.
Sistemas de coordenadas de referencia
David Escudero Mancebo Alfonso Pedriza Rebollo
Imagen tomada de presentación del Arq. Uriel Cardoza UNI-RUSB.
ILUMINACIÓN Un modelo de iluminación sirve para asignar un valor de iluminación a los puntos de la imagen. Se define una ecuación de iluminación. Lighting.
RECORTAR - SOLDAR – INTERSECCIÓN
Modelos de iluminación global THE WHITTED IMAGE - BASIC RECURSIVE RAY TRACING Copyright © 1997 A. Watt and L. Cooper.
PRESENTACIÓN DE LA INFORMACIÓN
Graficación IV. Síntesis de imagen. Detección de superficie visible Para sintetizar una imagen que parezca real, es necesario determinar qué objetos están.
Eliminación de Superficies Ocultas
Real Time Global Illumination for Dynamic scenes Alejandro Drago Cesar Villasana
Manual Flash. La Barra de Menús tiene como propósito facilitar el acceso a las distintas utilidades del programa. Es similar a la de cualquier otro.
HS/HL Removal1 FUNDAMENTOS DE ELIMINACIÓN DE SUPERFICIES OCULTAS Graficación FCC.
Arquitectura de Motores Gráficos para Mundos en 3D Por Sergio J. de los Santos Arquitectura de Motores Gráficos para Mundos en 3D.
Visualización Computacional de Datos I Graficando objetos 3D en el monitor.
Con Flash se puede crear contenido web animado y basado en vectores. Utiliza gráficos vectoriales que son independientes de la resolución y por lo tanto.
FUNDAMENTOS DE LOS GRÁFICOS EN 3D
Estrategias de Optimización Visualización II – 2009 Ing. Juan P.D’Amato.
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
TCP – MDT Modelo Digital del Terreno Versión 5.3
Imagen Digital teoría taller Imagen Digital La imagen digital Por Gabriel Francés 2004.
Ray Tracing. -La primera noción del Ray Tracing se remonta a Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando.
Rendering.
TUTORIAL DE MANEJO DE PRODUCTOS SYSCOM CON EDRAWINGS.
Despliegue de Volúmenes
Solid Works.
Superficies Visibles Prof. Fernández et al. (Universidad de la República de Uruguay) - Prof. Möller et.
MOVIMIENTO.
Fundamentos.  Abstracción Matemática  Rendering  Pre-rendering  Real-time rendering.
Mapeo de Texturas Capitulo 9 de Angel. Detalle de superficie Hasta ahora hemos visto como crear superficies uniformes planas o bicúbicas, y hemos animado.
Reunión San Sebastián Mayo ELVIRA II Reunión San Sebastián Mayo 2004 Andrés Masegosa.
Animación en Flash MX Conceptos Basicos.
Jose María Buades Rubio Visibilidad en Escenas Complejas Entorno de Habitaciones Carretera y Circuitos de carreras.
Computación Gráfica I – CI4321
Sombreado.
Procesamiento Digital de Imágenes
Rep.TexturasA. García-Alonso1 >> Representación
Dispositivos gráficos de salida
DISPOSITIVOS PERIFÉRICOS COPIA IMPRESA
Instrucciones para realizar pasaporte: 1.Redactar a mano cada una de las dipaositivas 2.Incluir imágenes referentes al concepto 3.Entregar en carpeta con.
GENERACIÓN DE ESCENARIOS 3D EN TIEMPO REAL
Laboratorio de Computación Grafica Universidad Central de Venezuela
DETERMINACIÓN DE LAS VISTAS
Medición.
Geometría primitiva y Transformaciones
Obtención de la imagen digital  Existen dos maneras de obtener una imagen digital: ◦ Capturando una escena real con una cámara fotográfica digital. ◦
Estudio dinámico de un movimiento
SISTEMA DIEDRICO Vistas.
Perspectiva Cónica Oblicua
Trabajo grupal Flash Integrantes: Piero Álvarez Milena Gómez Verónica Castillo Cristian Rodríguez.
Graficación 2D Alumna: Yasmin Rosales Cruz
Movimiento en un plano inclinado
Fundamentos del dibujo
Graficas en la pantalla 2D. Generalidades Para visualizar la gráfica correspondiente a una función de una variable o una ecuación de dos variables se.
Capítulo 8: Árboles Autor: José Alfredo Jiménez Murillo.
A continuación podrás conocer y llevar a cabo las operaciones propias de Representaciones Gráficas: Diagramas en CALC. Haz click en el botón destacado.
Estadística descriptiva
Rep.SombTranspA. García-Alonso1 >> Representación
Rep.A. García-Alonso1 >> Representación
Rep.PoliedrosA. García-Alonso1 >> Representación
Determinación de superficies ocultas
Transcripción de la presentación:

>> Visibilidad << LINK http://www.sc.ehu.es/ccwgamoa/docencia/Material/Presentaciones Visibilidad A. García-Alonso

Introducción Hearn Cap. 13, Foley Cap. 15 Visibilidad de líneas o elementos de superficie Polígono, cara o faceta (libre o en sólido) Aspectos a considerar Complejidad de la escena ++++ Objeto, sala, piso, casa, ciudad, mundo Objeto, robot, célula, planta (barco, refinería, ...) Modelo geométrico: polígonos, superficies, voxels, (...) Conocimiento previo de elementos móviles Restricciones, o posiciones relativas Juegos, simuladores Fig que muestre los distintos niveles de complejidad Visibilidad A. García-Alonso

Conceptos previos de geometría Sistemas de referencia modelado, mundo, cámara, pantalla Asumimos sistema cámara dextrógiro Dextrógiro/levógiro: eje Z saliente/entrante en pantalla V: punto de vista A: punto hacia el que se mira yc V xc zc A Dextrógiro yc V xc zc A Levógiro Visibilidad A. García-Alonso

Conceptos Volúmenes contenedores Definición y ecuación del plano (semi-espacios) Angulo entre dos vectores Descripción y propiedades polígonos Descripción y propiedades poliedros Espacio objeto y espacio imagen Coherencia Visibilidad A. García-Alonso

Prioridad (ejemplos) Videojuegos (nivel objeto) Luego veremos a nivel de caras     Visibilidad A. García-Alonso

Prioridad Causa de dificultad Niveles Número de objetos Complejidad en las posiciones relativas Niveles Edificios en urbanismo (fácil) Piezas de un motor (difícil) Entramado de tuberías (imposible, salvo partición) Visibilidad A. García-Alonso

Algoritmos Volumen de visión: recorte (perspectiva o paralela) Detectar caras traseras (back-culling) Prioridad Polígonos Ordenamiento en profundidad (depth-sorting) BSP (binary space partitioning trees) Objetos o conjuntos (clusters) Terreno Visibilidad A. García-Alonso

... Precisión de imagen Dibujo de grandes modelos Líneas ocultas z-buffer Línea de barrido (scan-line) Lanzamiento de rayos (ray-casting) Dibujo de grandes modelos Líneas ocultas Visibilidad A. García-Alonso

Caras Traseras Si un polígono pertenece a un poliedro Condición suficiente de no visibilidad : v.n ≥ 0 Si un poliedro es convexo y no es tapado por ningún otro objeto, v.n < 0 es condición necesaria y suficiente de visibilidad de una cara v n1 Visibilidad A. García-Alonso

Caras Traseras (OpenGL) Activar glEnable( GL_CULL_FACE ) Es posible invertir el “cull” front / back glCullFace() Permite ver “el interior” Si no se especifica la normal del polígono, realiza el cálculo en base a las coordenadas de los vértices proyectadas sobre la pantalla (esto puede ser más lento, depende del flujo en el proceso gráfico) glFrontFace() Visibilidad A. García-Alonso

Pintor (fundamentos) Ordenación en profundidad ó depth-sorting Lista ordenada polígonos Condición: i no tapa a ningún polígono [i+1, n] (está por detrás) Se dibujan los polígonos en orden 1 a n Aplicación Escena Se genera la lista para cada frame (cualquier cambio relativo) Coste puede ser excesivo (nº polígonos, en cada cuadro) Objeto Nueva lista al moverse respecto a la cámara Coste puede ser competitivo 1 2 i n Lista : linkada array de objetos array de punteros array de punteros y array de Zmin !!! Visibilidad A. García-Alonso ver nota

Pintor (pre-ordenación) Ordenar en zmin, que es distinta de la ordenación final en profundidad       orden en zmin  orden en profundidad Visibilidad A. García-Alonso

Pintor (figuras) Extents solapan, caras no Extents y caras solapan xmax < xmin  no solapan extents Visibilidad A. García-Alonso

Posición relativa de caras +++ j i yc zc La cara i está detrás del plano de la cara j Visibilidad A. García-Alonso

Cara “delante” de un plano +++ Si nz > 0, un polígono “está delante” del plano si todos sus vértices están en el semiespacio + Si nz < 0, al revés Visibilidad A. García-Alonso

Solapes +++ Solapes Solape por cara cóncava Solape cíclico Solape por intersección entre caras Visibilidad A. García-Alonso

Modelos de placas (sin volumen) +++ Polígonos contiguos en mallas Modelos de placas (no cierran volumen) Visibilidad A. García-Alonso

BSP (fundamentos) Fases : (Binary space partitioning trees) Crear árbol (si cambia posición relativa polígonos) Árbol binario de polígonos (nodos y hojas son Pol.) Nodo raíz divide en dos grupos el resto de polígonos, si hace falta algunas caras se parten en dos En cada grupo se selecciona una cara (nuevo nodo) La cara vuelve a crear dos grupos Hojas contienen sólo una cara Recorrer árbol Permite recorrer el conjunto de polígonos de “atrás adelante” Permite dibujar por prioridad independientemente punto vista Visibilidad A. García-Alonso

BSP (aplicación) Escena Objeto Pseudo-código de Foley Generar árbol: si cambio posición relativa entre objetos Coste puede ser excesivo (nº polígonos en la escena ) Objeto Si es sólido : árbol constante en el tiempo Coste puede ser competitivo Combina con prioridad conocida entre objetos (BSP o “Pintor”) Pseudo-código de Foley Visibilidad A. García-Alonso

BSP (implementación) Eficiencia en el dibujado: Evitar el incremento de polígonos Árbol equilibrado Eficiencia en la creación del árbol Elección rápida de los nuevos nodos Si el árbol es muy profundo (muchas caras, poco equilibrio) aparece problema en el stack de recursividad ??? Por qué interesa árbol equilibrado ??? Visibilidad A. García-Alonso ver nota

Objetos o conjuntos (clusters) Prioridad en profundidad Conocida de antemano Evaluable Ejemplo de BSP entre objetos sin movimiento relativo Con cambio en la posición relativa Construcción del árbol Selección de los planos ¿ Compensa ? Visibilidad A. García-Alonso

Terreno Se asimila al dibujo de funciones de dos variables Sólido Prioridad de profundidad (extraplomo, cueva) Malla De adelante hacia atrás Usar líneas de horizonte superior e inferior Visibilidad A. García-Alonso

z-buffer (fundamentos) Sólo polígonos interiores al prisma de visión En un píxel : polígonos que se proyectan sobre él Visible : el “píxel” más próximo al ojo Aquel cuya componente Z en el sistema de la cámara tenga un valor mayor En la pantalla deberá aparecer el pixel del polígono más próximo al ojo: aquel cuya componente Z en el sistema de la cámara tenga un valor mayor. La matemática para calcular los valores Z puede ser entera (16 ó 32) o float. Tener en cuenta los problemas de precisión. xs ys zs (x,y) cj ci ck Polígonos que proyectan sobre el pixel (x,y). El pixel correspondiente a ck es el de mayor valor en z. Visibilidad A. García-Alonso ver nota

z-buffer (algoritmo) Pseudo-código de Foley Frame buffer (“color”) z-buffer (profundidad, 0 a 216 ó 232) Lista polígonos recortados y proyectados al sistema de la pantalla (1024x1280pixels, etc. ) … Arista 1 Arista 2 Scan-line Visibilidad A. García-Alonso

z-buffer (scan convert) Scan convert cada polígono Se conocen las coordenadas x,y,z de cada vértice en el sistema de pantalla (píxeles x,y, mayor precisión en z) Recordar cómo se generan los píxeles de una línea partiendo de las componentes x,y de sus extremos De igual modo se incrementa el valor z al avanzar en cada línea de barrido En cada línea de barrido (y cte.) tendremos dos píxeles de componentes (x,z) conocidas Al ir incrementando de unidad en unidad x, obtenemos la componente z en cada pixel del tramo Visibilidad A. García-Alonso

z-buffer (implementación) Inicializar z-buffer (uso menor o mayor valor depende sistema) Tener en cuenta sistema dextrógiro o levógiro Problema precisión “near & far planes” … OpenGL glEnable( GL_DEPTH_TEST ) glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_TEST ) glClearDepth( [0,1] ) glDepthFunc( GL_LESS ) glDepthRange( near[0,1], far[0,1] ) glDepthMask( 0 disabled, 0 enabled ) Visibilidad A. García-Alonso

z-buffer (planos frontal y trasero)   Plano frontal mal colocado, se ve “el interior”  Plano trasero mal colocado, no se ve todo lo que se debería Planos bien ajustados Visibilidad A. García-Alonso

z-buffer (Problema precisión)  Problema precisión Visibilidad A. García-Alonso

Memoria gráfica True color requiere 8x3 bits/pixel Alpha channel requiere otros 8 bits/pixel Usar double buffering requiere duplicar la memoria de imagen por píxel Usar visión estereoscópica requiere otra duplicación z-buffer requiere 16 ó 32 bits/pixel Memoria de texturas (no depende del nº de píxeles de imagen) Visibilidad A. García-Alonso

Lanzamiento de rayos : ray-casting Por cada píxel se lanza un rayo (F) Se determina con que superficie choca primero Se determina “el color” en ese punto No confundir con “trazado de rayos” (ray-tracing) Punto de vista y rayo Malla de píxeles Visibilidad A. García-Alonso

Grandes modelos Dibujo de grandes bases de datos Ejemplos Arquitectura, urbanismo, mundo virtual (walk-through) Fábricas, procesos productivos Redes tuberías Motores, maquinaria, vehículos, barcos, aviación Simulación etc Visibilidad A. García-Alonso

Grandes modelos (técnicas) Carga y descarga de la descripción de objetos (disco, red) Discriminar rápidamente qué elementos son potencialmente visibles y cuáles no Jerarquías de contenedores Elementos contenidos en otros (cajón, motor,...) Oclusión (occluded surfaces) Visibilidad A. García-Alonso

... Niveles de detalle Uso de superficies paramétricas Niveles discretos Variación continua http://www.best.com/~rikk/Book/ Visibilidad A. García-Alonso

... http://gts.sourceforge.net A multi-resolution model obtained by simplification of the original model (in the top left corner). The "memoryless simplification" algorithm of Lindstrom and Turk was used. The number of triangles are respectively 96966, 13334, 3334 and 668. (video disponible) Visibilidad A. García-Alonso

Líneas ocultas Uso en análisis y modelado Visualizar aristas Efectos especiales Visualizar densidad de las mallas Velocidad de generación de imagen en aceleradores Radiosidad gradiente iluminación Polígonos : aristas de un color, interior otro color OpenGL Algoritmo prioridad Tener cuidado con el sombreado Visibilidad A. García-Alonso

Coherencia Comparar objetos, no sus elementos (si separados) Las propiedades varían suavemente en caras (interpolación lineal) Arista: cambia su visibilidad sólo al pasar detrás de otra visible Arista de intersección : bastan dos puntos para calcularla Scan-line : varían poco de uno al siguiente Área : un grupo de píxeles adyacentes tiende a estar cubierto por la misma cara visible En superficies, áreas adyacentes suelen estar a profundidad parecida Cuadro (frame): dos imágenes sucesivas tienden a ser parecidas Visibilidad A. García-Alonso

Resumen Determinar características del problema : Objetos móviles (uno o todos) o estáticos Número de objetos Número de polígonos Con o sin acelerador gráfico (prioridad, back-culling, z-buffer,...) Nivel de realismo (trazado de rayos vs. z-buffer) Visibilidad A. García-Alonso