Title: Grficas Interactivas
1Gráficas Interactivas
- Isaac RudomÃn (Instructor)
- rudomin_at_itesm.mx
- Erik Millán (asistente)
- emillan_at_itesm.mx
2Técnicas de Aceleración
3Rendering Pipeline
- Depende del número de trÃangulos o polÃgonos
4Conversión de mallas
- Convierte una malla a strips y fans
strip
fan
- algoritmo SGI
- algoritmo STRIPE
5Imposter
- Imposter
- Imagen de objeto complejo que es mapeado como
textura a un rectángulo - Usualmente, imagen de textura y valor alfa
- Importa resolución de textura, vida de este
imposter
6Nailboard
- Nailboard
- Imagen de textura desviación de profundidad
- Layered depth image
- Evita los huecos
7Hierarchical Image Caching
- Hierarchical image caching
- Usa imposters arreglados jerárquicamente
- Idea
- Partir la escena en jerarquÃa de cajas
- Crea imposter para cada caja
- Actualizar jerárquicamente
8Nivel de Detalle (LOD)
- Nivel de Detalle(LOD) es una importante
herramienta para mantener la interactividad - Se enfoca en fidelidad vs rendimiento
- Se usa en conjunto con
- Rendering paralelo
- Occlusion culling
- Image-based rendering etc
9Nivel de Detalle la idea
- El problema
- Conjuntos de datos geométricos demasiado
complejos para ser rendereados a razones
interactivas - Una solución
- Simplifica la geometrÃa poligonal de objetos
pequeños o distantes - Esto es LOD LOD
- También se llama, simplificación poligonal o
geométrica, reducción de mallas, decimación,
modelado multiresolución
10Nivel de Detalle LOD Tradicional
- Crea niveles de detalle de los objetos
69,451 polys
2,502 polys
251 polys
76 polys
Courtesy Stanford 3D Scanning Repository
11Nivel de Detalle LOD Tradicional
- Objetos distantes usan LODs mas gruesos
12Nivel de Detalle
- Como representar y generar versiones mas
sencillas de un modelo complejo? - Como evaluar la fidelidad de los modelos
simplificados? - Cuando usar cual LOD de un objeto?
13LOD Discretoventajas
- Programación sencilla, desacopla simplificación
del render - Creación del LOD no requiere ser en tiempo real
- Rendering solo escoge el LOD durante la ejecución
- Va bién con el hardware gráfico moderno
- Fácil compilar cada LOD a triangle strips,
display lists, vertex arrays, - Estos se dibujan 3 a 5 veces mas rápido que
triángulos desorganizados
14LOD Discretodesventajas
- Por que usar otra cosa?
- Problemas con simplificación drástica
- Casos problemáticos
- Volar sobre terrenos
- Isosuperficies volumétricas
- Scans de datos muy detallados
- Modelos CAD muy grandes
15LOD Continuo
- A diferencia del enfoque discreto
- No crea niveles de detalle individuales en un
preproceso, sino una estructura de datos de la
cual un nivel de detalle deseado puede extraerse
durante la ejecución
16LOD Continuo ventajas
- Mayor granularidad ? transiciones mas suaves
- Cambiar entre LODs tradicionales causa popping
mientras que LOD continuo ajusta el detalle
gradual e incrementalmente. Además permite
fácilmente hacer geomorphing para que se noten
aun ménos estos efectos - Soporta transmisión progresiva
- Mallas Progresivas
- Compresión progresiva Forest Split
- Lleva a usar los parámetros de vista para
seleccionar la mejor representación, por lo que
el mismo objeto puede estar representado a
diversos niveles de detalle
- Mayor granularidad ? mejor fidelidad
- LOD se especifica exactamente, no de unas pocas
opciones creadas previamente, por lo que los
objetos no usan mas polÃgonos de los necesarios,
lo que libera polÃgonos para otros objetos
17LOD dependiente de la vista Ejemplos
- Muestra partes cercanas de un objeto a mayor
resolución que las lejanas
Desde el ojo
Desde arriba
18LOD dependiente de la vista Ejemplos
- Muestra silueta con mayor resolución que el
interior
19LOD dependiente de la vista ventajas
- Aún mayor granularidad
- Permite simplificar drásticamente objetos grandes
- Ejemplo modelo de estadio
- Ejemplo volar sobre terreno
20LOD jerárquico
- Mientras que LOD dependiente de vista resuelve el
problema de objetos grandes, LOD jerárquico puede
resolver el problema de objetos peequeños - Junta objetos en colecciones de objetos
- A distancia suficiente simplifica las
colecciones, no los objetos individuales - Como represento esto en el grafo de escena?
- LOD jerárquico funciona bién junto con LOD
dependiente de vista - Maneja toda la escena como un solo objeto a ser
simplificado de manera dependiente de vista - LOD jerárquico también va bién con los esquemas
de LOD discreto tradicionales - Imposters
-
21Algoritmo de Edge Collapse
V2
V2
Collapse
V1
22Algoritmo de Edge Collapse
- Sort all edges (by some metric)
- repeat
- Collapse edge
- choose edge vertex (or compute optimal vertex)
- Fix-up topology
- until (no edges left)
23Edge Collapse beneficios
- Edge collapse es una operación simple
- Soporta topologÃas irregulares (non-manifold)
24Edge Collapse vs. Vertex-Pair Merging
- Este es aún mejor vertex-pair merging junta dos
vértices que - Comparten una arista
- Están a una distancia menor a t
25LOD para terrenos
- Regular Grid Height Field
- Triangulated Irregular Networks (TIN)
26LOD para terrenos
- No funcionan técnicas de edge/vertex collapse
- Que hacer?
- Hay que asegurarse de que haya vértices comunes
en arista de la subdivisión yque no haya huecos
extraños - Nos gustarÃa que al subdividir el terreno serÃa
eso ocurriera solo
27LOD para terrenos
28Quadtrees
- Muy fácil de implementar
- Quad es realmente dos triángulos
- No evita huecos (cracks, T-junctions)
29BinTrees (Binary Triangle Trees)
- Mas dificil de implementar
- A veces fuerza subdivisiones
- Resuelve Cracks y T-junctions!
- Dos triángulos nunca diferiran por mas de un
nivel de resolución
30Varios algoritmos
- LOD continuo de Lindstrom
- ROAM (Duchaineau)
- Visualization of Large Terrains Made Easy
- SOAR
31LOD continuo para mapas de altura
- Peter Lindstrom et al., 1996
- Usa un árbol binario de vértices
- Coherencia entre cuadros
- Introdujo umbral de error en pantalla controlable
por usuario
32ROAM
- Real-Time Optimally Adapting Meshes
- Mark Duchaineau, 1997 (LLNL)
- Estructura de árbol de triángulos binarios
- No hay que preocuparse por cracks, etc
- Se puede especificar el número de triángulos
deseados - Muy popular
33ROAM Conceptos
- Split y Merge
- Dos colas de prioridad
- Una para splits y una para merge
- Allows for frame-to-frame coherence
- Métrica de error para ambas
- Geomorphing introducido pero rara vez se
necesita - Convertir en triangle strips de manera incremental
34ROAM diamantes de Split y Merge
35 Otras técnicas de modelado
static polygon mesh
hierarchical OSI
object-space impostors (OSI)
point clouds Qsplat
ray tracing solid BSP
billboards/sprites
point clouds Surfels
impostors with layers
impostors
volume layer rendering
ray tracing voxels
nailboards
light fields
impostors with depth values
light fields with depth
relief texture maps
impostors with depth mesh
36Billboards / Sprites
37Impostors(imposters)
38Impostors
39Impostors
- Sprites calculados al momento o con mucho
pre-cómputo
40Nailboards
41Impostors con profundidad
42Impostors con profundidad
43Relief Texture Maps
44Relief Texture Maps
- Procesa textura para que tenga parallax y
auto-oclusión
45Impostors con capas
46Puntos
- QSplat
- Surfels
- Animatek Caviar
- Blade Runner
47QSplat
48Surfels
49Puntos
- Muestrea la geometrÃa como puntos separados
- Dibuja primitiva por punto (e.g. splatting)
- Qsplat primitivas de splat acelerado por HW
- Surfel puntos, filtro de reconstrucción
- Caviar puntos, reescalar todo el objeto