Visualización tridimensional de terrenos en tiempo real

Anuncio
Visualización tridimensional de
terrenos en tiempo real
Jordi Linares Pellicer
Escola Politècnica Superior d’Alcoi
Departament de Sistemes
Informàtics i Computació
[email protected]
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización tridimensional de
terrenos en tiempo real
1. Aplicaciones
6. Visualización de terrenos
2. Retos tecnológicos
6.1. Introducción
3. Fuentes de información
6.2. Algoritmo de fuerza bruta
4. Modelos Digitales de Terreno
6.3. Métodos básicos de iluminación de
terrenos
5. Métodos básicos de generación
procedural de terrenos
5.1. Fault formation
5.2. Mid-point displacement
6.4. Estudio de 3 algoritmos clásicos
de visualización
6.4.1. Geomipmapping
6.4.2. Quadtrees
6.4.3. ROAM
6.5 Efectos atmosféricos
6.6 Revisión de otros algoritmos y
últimas líneas de investigación
Visualizació
Visualización 3D de
terrenos en tiempo real
Aplicaciones
• GIS (Geographical Information Systems)
• Aplicaciones lúdicas
• Turismo virtual y difusión del territorio
• Real Estate
• Gestión del territorio
• Análisis topográfico, interpretación del
territorio, teledetección etc.
• Usos militares, salvamento, seguridad,
vigilancia y control etc.
Google Earth
Visualizació
Visualización 3D de
terrenos en tiempo real
Retos tecnológicos
(I)
Almacenamiento y gestión de la
información
• Bases de datos distribuidas: alta
disponibilidad y enmascaramiento de fallos
• Técnicas avanzadas de streaming y
compresión de la información
• Gestión de memoria primaria (y de texturas):
catching y pre-fetching
• Preprocesado de la información: computación
paralela y/o distribuida
Visualizació
Visualización 3D de
terrenos en tiempo real
Retos tecnológicos
(II)
Visualización tridimensional en
tiempo real
• La más alta fidelidad en base a la información
disponible
• Frame-rate que garantice la interacción
requerida
• Utilización de técnicas CLOD (Continuous
Level of Detail), dependientes de la vista e
irregularidad del terreno => Más detalle donde
hace falta
• LoD para geometría y texturas
• Frustum culling
• Stripping de triángulos
• CPU vs. GPU
Visualizació
Visualización 3D de
terrenos en tiempo real
Fuentes de Información
http://www.vterrain.org
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
(I)
Modelo Digital de Terreno
“representación estadística de la superficie continua del
suelo mediante un número elevado de puntos selectos
con coordenadas (x,y,z) conocidas, en un sistema de
coordenadas arbitrario”
Miller y LaFlamme (MIT, 1958)
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
(II)
• Modelos Digitales de Terreno – MDT
Representan cualquier atributo de la superficie
(altitud, densidad superficies, relieve del terreno etc.)
• Modelos Digitales de Elevación – MDE
Una imagen
Representan sólo la altura.
(x,y) en coordenadas
z = f(x,y)
Un único valor de z
UTM, longitud y latitud
etc.
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
nti
cua
s
i
ális
An
ivo
tat
(III)
Triangulated Irregular Networks (TIN)
MDT
A pl
ica
ci
one
sc
ual
ita
Regular Networks
tiva
s
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
(IV)
Proceso de generación de MDTs
Adquisición
Conversión
Almacenamiento
Generación de mallas
Desarrollo aplicaciones de interpretación
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
Adquisición
(V)
Medidas de campo
Métodos directos
Altímetros (radar, láser)
GPS
Métodos indirectos
Digitalización (manual
o mediante láser)
Captura de datos
fotogramétricos
(interpretación estereoscópica de
fotografías aéreas o de satélite)
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
(VI)
TIN
• Precisan menos puntos
• Permiten muestreo dinámico
• Pero menos eficiente para
visualización: recortado del
volumen de la vista, detección
de colisiones, continuidad del
terreno y deformaciones
dinámicas
Mallas regulares
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
(VII)
Mallas regulares
bintrees, quadtrees ... HRT
(Hierarchies of Right Triangles)
Visualizació
Visualización 3D de
terrenos en tiempo real
Modelos Digitales de Terreno
MDTs
Ortofotografías
Visualización 3D
Líneas de investigación:
• Inclusión de elementos 3D (pero bajo el mismo método LoD)
• Elementos vectoriales (esenciales en GIS)
• Vegetación en tiempo real
• Efectos atmosféricos
• Navegación subacuática
• Avatares, animaciones etc.
Visualizació
Visualización 3D de
terrenos en tiempo real
(VIII)
Generación procedural de Terreno
(I)
Idea básica
Generar terreno (incluso en tiempo real) y evitar su almacenamiento
Ventajas
Nivel de detalle no limitado
Técnicas
Fractales, gramáticas, tiling, métodos mixtos etc.
Aplicaciones
Juegos, aumento de realismo y nivel de detalle, etc.
Visualizació
Visualización 3D de
terrenos en tiempo real
Generación procedural de Terreno
Fault formation (formación de ‘fallas’)
1. Partimos de un mapa de alturas plano
2. Generamos una línea aleatoria
3. Añadimos un valor de altura a una de las
partes
4. Decrementamos el valor altura y
volvemos a (3). Número de iteraciones
controlable por usuario.
5. Aplicación de un filtro de erosión
Visualizació
Visualización 3D de
terrenos en tiempo real
(II)
Generación procedural de Terreno
(III)
Fault formation (formación de ‘fallas’)
Visualizació
Visualización 3D de
terrenos en tiempo real
Generación procedural de Terreno
Fault formation (formación de ‘fallas’)
Visualizació
Visualización 3D de
terrenos en tiempo real
(IV)
Generación procedural de Terreno
(V)
Mid-point displacement (fractal plasma)
Visualizació
Visualización 3D de
terrenos en tiempo real
Generación procedural de Terreno
Mid-point displacement
1. Calcular alturas F, G, H, I y E
2. Altura de E = E ± fHeight/2
3. fHeight = fHeight *
1
2
roughness
4. Aplicar recursivamente ...
Visualizació
Visualización 3D de
terrenos en tiempo real
(VI)
Generación procedural de Terreno
(VII)
Mid-point displacement
Visualizació
Visualización 3D de
terrenos en tiempo real
Generación procedural de Terreno
(VIII)
Consideraciones finales:
• La generación procedural de terreno es ideal para la generación de
grandes áreas de territorio
• Algunas técnicas son capaces de su generación sin precisar de
almacenamiento
• La generación procedural puede extenderse también a la
ortofotografía o a la generación de ‘detail maps’.
• Añadir texturas naturales a áreas muy
homogéneas
• Conveniente el uso de ‘multitexturación’
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(I)
Características del problema
-Gran cantidad de polígonos a visualizar (además posibles problemas de
aliasing y resolución de z-buffer)
-Necesidad de garantizar interactividad
Consecuencias
-Hay que recurrir a técnicas LoD (modelado multirresolución)
-Las técnicas LoD discretas no funcionan (niveles de detalle global al
objeto o pocos niveles totales)
-Hay que recurrir a técnicas LoD “continuas” (dependientes de la vista y
de la irregularidad del terreno)
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(II)
Calidad
Elementos a considerar en la selección del algoritmo:
-Soporte de diferentes niveles de detalle sobre diferentes regiones del terreno de
forma simultánea
-Prevención de agujeros(cracks), T-junctions y discontinuidades en el sombreado en
diferentes niveles de detalle
-Minimización de errores en espacio-objeto y espacio-pantalla
-Reducción de efectos tipo ‘popping’ (uso de técnicas como geomorfismo)
Rendimiento
-Mantenimiento del frame rate
-Minimización del número de triángulos
-Estructura de datos compacta y rápida recuperación de polígonos individuales
-Posibilidad de crear largos strips o fans de triángulos
-Soporte de técnicas view-frustum, backface y occlusion culling
-Soporte de técnicas que exploten coherencia marco a marco
-Gestión de out-of-core
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
Autor
Lindstrom
Duchaineau
Röttger
Pajarola
Hoppe
DeFloriani
Evans
Lindstrom
Lindstrom
Pajarola
Lario
Cignoni
Bao
Losasso
Hwa
Trabajo
Continuous LoDs Rendering of Height Fields
ROAM: Real-Time Optimally Adapting Meshes
Real-Time Generation of Continuous LoDs
Large Scale Terrain Visualisation using RQT
VDPM: View-Dependent Progressive Meshes
VARIANT: VAriable Resolution Interactive ANalysis of Terrain
R.T.I.Ns: Right-Triangulated Irregular Networks
Visualisation of Large Terrains
View-Dependent Out-of-Core Visualisation
QuadTIN: Quadtree based TINs
HB-QTIN: Hyper-Block Quadtree based TINs
BDAM: Batched Dynamic Adaptive Meshes
LoD-based Clustering Techniques
Geometry Clipmaps: Terrain Rendering Using Neste Regular Grids
Realtime Optimal Adaptation for Planetary Geometry and Texture:
4-8 Tile Hierarchies
(III)
Año
1996
1997
1998
1998
1998
2000
2001
2001
2002
2002
2003
2003
2003
2004
2005
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(IV)
Algoritmo por fuerza bruta
strip
• Considerar culling
• Considerar siempre strips y
buffers de vértices etc.
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(V)
Algoritmo por fuerza bruta
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
Métodos básicos de iluminación
• Iluminación basada en la altura (height-based lighting)
• Iluminación basada en API / Hardware gráfico
• Utilización de lightmaps
• Iluminación basada en la pendiente (slope-lighting
algorithm)
Visualizació
Visualización 3D de
terrenos en tiempo real
(VI)
Visualización de Terrenos
(VII)
Métodos básicos de iluminación
Iluminación basada en la altura
• A mayor altura, mayor intensidad
• El más simple, pero el menos realista
• No considera el ‘color’ de la luz
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
Métodos básicos de iluminación
Iluminación basada en la altura
Resultado poco realista
Visualizació
Visualización 3D de
terrenos en tiempo real
(VIII)
Visualización de Terrenos
(IX)
Métodos básicos de iluminación
Iluminación basada en API / Hardware gráfico
• Utiliza, p.e., los mecanismos de iluminación propios de OpenGL
(establecimiento de una o varias fuentes de luz, y las características
de atenuación, valores difuso/especular, ambiente)
• Requiere el cálculo de la normal de cada triángulo a renderizar
(¿precálculo? => difícilmente implementable en CLOD)
• Perfecto para mallas estáticas pero con malos resultados en
dinámicas (necesidad de cálculo en tiempo real, y resultados visuales
molestos por el continuo movimiento de triángulos)
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
Métodos básicos de iluminación
Utilización de lightmaps
• Utilización de una imagen que especifica de forma discreta
valores de intensidad de luz
• Puede ser de 1 byte (intensidad) o 3 bytes (color)
• Multiplican los valores de color de la textura (precálculo o
uso de multitexturación)
• No es un método de iluminación; es un mecanismo de
soporte
• Es posible es uso de métodos globales de iluminación para
su cálculo
Visualizació
Visualización 3D de
terrenos en tiempo real
(X)
Visualización de Terrenos
(XI)
Métodos básicos de iluminación
Utilización de lightmaps
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(XII)
Métodos básicos de iluminación
Iluminación basada en la pendiente (slope-lighting algorithm)
• Sombrear vértices en función
de su altura en relación a un
vértice vecino
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(XIII)
Métodos básicos de iluminación
Iluminación basada en la pendiente (slope-lighting algorithm)
Shade = 1.0 – (altura_A – altura_B) / softness
Visualizació
Visualización 3D de
terrenos en tiempo real
Visualización de Terrenos
(XIV)
Métodos básicos de iluminación
Iluminación basada en la pendiente (slope-lighting algorithm)
Variación de ‘softness’
Visualizació
Visualización 3D de
terrenos en tiempo real
Descargar