Visualización tridimensional de terrenos en tiempo realusers.dsic.upv.es/~jlinares/terrain/Material...

18
Visualizaci Visualización 3D de n 3D de terrenos en tiempo real terrenos en tiempo real 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 n 3D de terrenos en tiempo real terrenos en tiempo real Visualización tridimensional de terrenos en tiempo real 1. Aplicaciones 2. Retos tecnológicos 3. Fuentes de información 4. Modelos Digitales de Terreno 5. Métodos básicos de generación procedural de terrenos 5.1. Fault formation 5.2. Mid-point displacement 6. Visualización de terrenos 6.1. Introducción 6.2. Algoritmo de fuerza bruta 6.3. Métodos básicos de iluminación de terrenos 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

Transcript of Visualización tridimensional de terrenos en tiempo realusers.dsic.upv.es/~jlinares/terrain/Material...

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización tridimensional deterrenos en tiempo real

Jordi Linares PellicerEscola Politècnica Superior d’AlcoiDepartament de SistemesInformàtics i Computació

[email protected]

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización tridimensional deterrenos en tiempo real

1. Aplicaciones

2. Retos tecnológicos

3. Fuentes de información

4. Modelos Digitales de Terreno

5. Métodos básicos de generación procedural de terrenos

5.1. Fault formation

5.2. Mid-point displacement

6. Visualización de terrenos

6.1. Introducción

6.2. Algoritmo de fuerza bruta

6.3. Métodos básicos de iluminación de terrenos

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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Retos tecnológicos (I)

• 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

Almacenamiento y gestión de la información

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Retos tecnológicos (II)

• 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 (ContinuousLevel 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ón tridimensional en tiempo real

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Fuentes de Información

http://www.vterrain.org

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

• Modelos Digitales de Terreno – MDT

Representan cualquier atributo de la superficie (altitud, densidad superficies, relieve del terreno etc.)

• Modelos Digitales de Elevación – MDE

Representan sólo la altura.

z = f(x,y)

Un único valor de z

(x,y) en coordenadas UTM, longitud y latitud etc.

Modelos Digitales de Terreno (II)

Una imagen

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

MDT

Triangulated Irregular Networks (TIN)

Regular Networks

Análisis cuantita

tivo

Aplicaciones cualitativas

Modelos Digitales de Terreno (III)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Modelos Digitales de Terreno (V)

Adquisición

Métodos directos

Métodos indirectos

Medidas de campo

Altímetros (radar, láser)

GPS

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)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Modelos Digitales de Terreno (VI)

TIN

Mallas regulares

• 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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Modelos Digitales de Terreno (VII)

Mallas regulares

bintrees, quadtrees ... HRT (Hierarchies of Right Triangles)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Modelos Digitales de Terreno (VIII)

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.

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

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.

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Generación procedural de Terreno (II)

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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Generación procedural de Terreno (III)

Fault formation (formación de ‘fallas’)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Generación procedural de Terreno (IV)

Fault formation (formación de ‘fallas’)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Generación procedural de Terreno (V)

Mid-point displacement (fractal plasma)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Generación procedural de Terreno (VI)

Mid-point displacement

1. Calcular alturas F, G, H, I y E

2. Altura de E = E ± fHeight/2

3. fHeight = fHeight *

4. Aplicar recursivamente ...

roughness2

1

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Generación procedural de Terreno (VII)

Mid-point displacement

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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’

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (II)

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)

-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

Cal

idad

Ren

dim

iento

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (III)

Autor Trabajo Año Lindstrom Continuous LoDs Rendering of Height Fields 1996 Duchaineau ROAM: Real-Time Optimally Adapting Meshes 1997 Röttger Real-Time Generation of Continuous LoDs 1998 Pajarola Large Scale Terrain Visualisation using RQT 1998 Hoppe VDPM: View-Dependent Progressive Meshes 1998 DeFloriani VARIANT: VAriable Resolution Interactive ANalysis of Terrain 2000 Evans R.T.I.Ns: Right-Triangulated Irregular Networks 2001 Lindstrom Visualisation of Large Terrains 2001 Lindstrom View-Dependent Out-of-Core Visualisation 2002 Pajarola QuadTIN: Quadtree based TINs 2002 Lario HB-QTIN: Hyper-Block Quadtree based TINs 2003 Cignoni BDAM: Batched Dynamic Adaptive Meshes 2003 Bao LoD-based Clustering Techniques 2003 Losasso Geometry Clipmaps: Terrain Rendering Using Neste Regular Grids 2004 Hwa Realtime Optimal Adaptation for Planetary Geometry and Texture:

4-8 Tile Hierarchies 2005

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (IV)

Algoritmo por fuerza bruta

• Considerar culling

• Considerar siempre strips y buffers de vértices etc.

strip

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (V)

Algoritmo por fuerza bruta

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (VI)

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-lightingalgorithm)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (VIII)

Métodos básicos de iluminación

Iluminación basada en la altura

Resultado poco realista

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

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)

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (X)

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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos en tiempo real

Visualización de Terrenos (XI)

Métodos básicos de iluminación

Utilización de lightmaps

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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

VisualizaciVisualizacióón 3D den 3D deterrenos en tiempo realterrenos 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’