62
1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela http://ccg.ciens.ucv.ve Email: [email protected]

1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela Email: [email protected]

Embed Size (px)

Citation preview

Page 1: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

1

Visualización de Terrenos Multiresolución

Prof. Rhadamés Carmona,

Lic. Henry Iguaró

Universidad Central de Venezuela

http://ccg.ciens.ucv.ve

Email: [email protected]

Page 2: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

2

Agenda:• Terrenos y Mapa de Alturas.• Generación de mapas de alturas artificiales.• Texturizado básico de terrenos.• Iluminación de terrenos. • Algoritmos Multi-resolución.

• Geomipmapping ó Geometrical Mipmapping.• ROAM

• Bibliografía

Page 3: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

3

¿Qué son Terrenos?

Típicamente un Terreno, es una aproximación a una superficie, real o simulada de una región montañosa, mediante un mayado tridimensional.

La visualización tridimensional de terrenos tiene un gran campo de aplicaciones, entre algunas cabe citar:• Turismo virtual.• Visualización del clima y topología ambiental.• Uso militar, como parte del ambiente en un simulador de vuelo

o de combate (con propósitos de entrenamiento).• Juegos de video. • Visualización de obras

Page 4: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

4

Ejemplos de un terreno:

Page 5: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

5

Ejemplos de un terreno:

Page 6: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

6

Ejemplos de un terreno:

Page 7: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

7

Mapas de Alturas

Un mapa de alturas es una imagen, normalmente en escala de grises, donde cada píxel representa la altura del terreno.

Una característica importante es la continuidad que se presenta dentro de la imagen, es decir, no existen cambios bruscos de contraste entre dos píxeles vecinos.

Page 8: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

8

Page 9: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

9

+

Page 10: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

10

+

=

Page 11: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

11

Algoritmos para generación de Mapas de Alturas artificiales

• Formación por fallas.• Desplazamiento del punto medio.• Deposición de Partículas.• Perlin Noise (ver exposición de generación de nubes

procedurales)

Page 12: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

12

Formación por fallas.

Es un algoritmo que consiste en ir generando fallas de manera progresiva en todo el terreno. El mapa de alturas para el terreno se inicializa 0 y se procede a trazar líneas aleatorias de extremo a extremo que dividen al mismo en regiones. Después se escoge una de las dos regiones producidas y se le suma un valor de altura (configurable) a todos los píxeles que están dentro de dicha región. A la otra región se le resta otro valor aleatorio.

http://www.lighthouse3d.com/opengl/terrain/index.php3?fault

Page 13: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

13

Formación por fallas.

Page 14: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

14

Formación por fallas.

+ filtro de erosión

Page 15: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

15

Formación por fallas.

Page 16: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

16

Formación por fallas.

Page 17: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

17

Algoritmos para generación de Mapas de Alturas artificiales

• Formación por fallas.• Desplazamiento del punto medio.• Deposición de Partículas.

Page 18: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

18

Desplazamiento del punto medio.

También conocido como Plasma Fractal o Diamond Square algorithm, consiste en tomar el punto medio de una línea y desplazarlo utilizando un valor apropiado de altura.

B

A BC

C

A B

Altura

A

Page 19: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

19

Desplazamiento del punto medio.

Teniendo esta idea en mente, lo siguiente es aplicarla recursivamente para cada nueva línea generada tantas veces como iteraciones se deseen, antes de entrar en cada nueva iteración se multiplica el valor de Altura por 2-rugosidad, donde rugosidad es el factor de aspereza o rugosidad que se desea dentro del terreno. Se puede observar que en lugar de hacer el decremento lineal, como en el algoritmo Fault Formation, se utiliza esta relación exponencial, basado en el factor rugosidad que es tomado como un parámetro del algoritmo.

rugosidad = 0.5

rugosidad = 1.0

rugosidad = 1.5

rugosidad = 5.0

Page 20: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

20

Desplazamiento del punto medio.

Aplicando ahora este concepto en dos dimensiones, se debe iniciar con un cuadrado que contenga valores iniciales (valores semilla) de altura en cada esquina y calcular el punto medio del mismo, al cual se le asignará el valor de desplazamiento (Altura) obtenido como el promedio del valor de Altura de los cuatro puntos que lo generaron más un valor aleatorio que oscile entre

[-Altura/2, Altura/2].A B

DC

A B

DC

E

,

4 2 2A B C D i i

E

Alt Alt Alt Alt Altura AlturaAltura random

Primer paso del algoritmo Midpoint Displacement (también denominado paso del cuadrado), se asigna un valor inicial de Altura en cada una de las cuatro esquinas del cuadrado ABCD y luego se obtiene el

punto medio E.

Page 21: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

21

Desplazamiento del punto medio.

A B

DC

A B

DC

EE G H

F

I

2.,

4 2 2

2.,

4 2 2

2.,

4 2 2

2.

4

A B E i iF

A C E i iG

B D E i iH

C D EI

Alt Alt Alt Altura AlturaAltura random

Alt Alt Alt Altura AlturaAltura random

Alt Alt Alt Altura AlturaAltura random

Alt Alt AltAltura random

,

2 2i iAltura Altura

Repitiendo el paso del cuadrado pero ahora en todos los sub-rectángulos que se formaron por el paso de diamante anterior, se forman los nuevos puntos medios J, K, L y M, como centros respectivos a los cuadrados

AFEG, FBHE, GEIC y EHDI

Page 22: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

22

Algoritmos para generación de Mapas de Alturas artificiales

• Formación por fallas.• Desplazamiento del punto medio.• Deposición de Partículas.

Page 23: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

23

Deposición de Partículas.

Con este algoritmo, se pretende la formación de mapas de alturas que representan terrenos con aspecto volcánico o terrenos formados a partir de erupciones volcánicas. Basado en el campo del procesamiento molecular, el procedimiento se inicia con un mapa de alturas vacío, en el cual se escoge un punto (x,y) al azar en donde “se deja caer” una partícula. La próxima partícula se lanza en alguna de estas posiciones random: (x+1,y), (x-1,y), (x,y-1), (x,y+1). Opcionalmente, cada vez que se agregue una partícula, se agita hasta que se “derrame” en los vecinos hasta que no pueda continuar (tal cual como la lava se esparce cuando fluye por la tierra). Se establece un # de iteraciones.

Si se quieren varios picos, se puede volver a empezar con otro random (x,y).

Page 24: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

24

Deposición de Partículas.

Mapa de Alturas (vacío)

Partícula

(Px, Py)

Mapa de Alturas

(Px, Py)

Nueva Partícula

(Px, Py)

(Px, Py) Escoger a un vecino?

(Px, Py)

(Px, Py)

Nueva Partícula

(Px, Py)Si no hay

otro vecino, escoger al que este

disponible (Px, Py)

Page 25: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

25

Deposición de Partículas.

Nueva Partícula

(Px, Py)No hay vecinos para continuar

“derramando” la partícula

Nueva Partícula

(Px, Py)

?

Page 26: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

26

Deposición de Partículas.

Page 27: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

27

Texturizado básico de Terrenos.

. _ _ , . _ _x y

s factor repeticion x t factor repeticion yANCHO ALTO

Page 28: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

28

Texturizado básico de Terrenos.

Generación de Texturas Procedimentales (Texturas artificiales)

1. Solicitar al usuario un conjunto de texturas que representen las distintas etapas del terreno (agua, nieve, fango, grama, etc).

2. Se crea el buffer de salida con las mismas dimensiones del mapa de alturas. Este buffer se convertirá al final en la textura a emplear.

3. Para cada textura se solicita (o se calcula) un rango de presencia que debe estar entre 0 y 255, dicho rango representará una región, la cual tendrá 3 valores, altura mínima, altura máxima y altura optima (generalmente es el punto medio entre altura mínima y altura máxima).

Page 29: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

29

4. Por cada píxel en el mapa de alturas, se recorren todas las texturas del conjunto de texturas y se calcula el porcentaje de presencia de cada una sobre el píxel, este porcentaje se obtiene de la siguiente manera:

a. Si el valor de altura esta en el rango definido para la región a la cual pertenece esta textura, se procede al paso b, de lo contrario se asigna 0 como porcentaje.

b. Si la altura del píxel está por debajo de la altura optima de la región definida para la textura actual, entonces se aplica la siguiente formula:

para calcular el porcentaje, de lo contrario si es igual a la altura optima, se toma el porcentaje como 1.0 (100%) y si es mayor a la altura optima se aplica la siguiente formula:

altura AlturaMinima

AlturaOptima AlturaMinima

AlturaMaxima altura

AlturaMaxima AlturaOptima

Page 30: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

30

5. Teniendo los porcentajes por cada región, se procede a mezclar mediante un proceso de blending los colores de cada texel en el buffer de salida en la misma posición del píxel en el mapa de alturas.

Page 31: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

31

Iluminación y Sombreado de Terrenos

Iluminación basada en alturas

255

0Ubicación del vértice en x

Valor de altura del

Vértice (brillo)

A

B

C

La iluminación basada en alturas es sumamente simple y poco realista, pero es bastante útil para el despliegue pre-visualizaciones y terrenos en pequeña escala. Consiste en dar a cada píxel dentro del terreno un brillo de acuerdo a su valor de altura.

Page 32: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

32

Iluminación y Sombreado de Terrenos

Iluminación basada en alturas

Luz

Page 33: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

33

Un lightmap es bastante similar a un Mapa de Alturas, excepto que este contiene información sobre luminosidad para cada elemento en (x, y) en lugar de valores de alturas. Los lightmaps definen el patrón de iluminación a utilizar en cada parche o pedazo de terreno y como son pre-calculados, se pueden utilizar diversos métodos de iluminación global para crearlos

Lightmapping

Iluminación y Sombreado de Terrenos

Page 34: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

34

Iluminación por pendientes

Iluminación y Sombreado de Terrenos

Consiste en tomar los vértices vecinos del vértice actual durante una iteración (estos son tomados de acuerdo a la dirección del vector de iluminación) y restar los valores de altura del mismo menos el actual, luego se calcula el valor de brillo para ese vértice utilizando la siguiente expresión.

. .1

mapaAlturas x vluz x z vluz z mapaAlturas x z

SUAVIDAD

SUAVIDAD = 1 SUAVIDAD = 10 SUAVIDAD = 15

Page 35: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

35

Luz

A

B

C

D

Iluminación por pendientes

Iluminación y Sombreado de Terrenos

Visualización del procedimiento de iluminación por Slope Lighting, el área gris es el volumen de sombra producido por la proyección del vértice A sobre el segmento BC en dirección de la luz, el vértice B

está completamente obscurecido por A

Page 36: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

36

Generación Rápida de Mapas de Sombra

Iluminación y Sombreado de Terrenos

Es otra técnica para la generación de zonas claras y obscuras dentro de un terreno que es bastante sencilla en términos de implementación. El procedimiento consiste en lo siguiente: Por cada píxel dentro del mapa de alturas, se hace un chequeo para ver si el rayo disparado desde la fuente de luz hasta esa posición intercepta el terreno, esto se logra de manera eficiente si se chequean los puntos que están por debajo de la proyección del vector luz.

Page 37: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

37

Posición de la luz

Posición de la luz proyectadaDirección de la luz

Punto actual dentro del mapa de alturas

Proyección del vector L sobre el mapa

Generación Rápida de Mapas de Sombra

Iluminación y Sombreado de Terrenos

Page 38: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

38

Mapa de sombras generado

Textura a emplear para el terreno

Textura modulada con el mapa de sombras

Generación Rápida de Mapas de Sombra

Iluminación y Sombreado de Terrenos

Page 39: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

39

Algoritmos para Niveles de Detalle Continuos

Niveles de Detalle Continuo (CLOD) es la propiedad que tiene un mayado dinámico de polígonos el cual agrega una mayor cantidad triángulos adicionales a las áreas que requieran mayor nivel de detalle y todo lo contrario para las áreas que requieran un menor nivel de detalle.

Algoritmos para CLOD requieren mayor investigación, son más complicados de implementar y requieren mayor uso del CPU que el proceso de despliegue por fuerza bruta, sin embargo, al hacer uso de los CLOD el render del terreno es más rápido y el uso del GPU disminuye considerablemente.

Por lo general, las técnicas dividen el terreno en parches. A cada parche se le asigna un nivel de detalle. La diferencia entre parches conectados debe ser a los sumo de 1 nivel (restricted quad-tree triangulation, para el caso de usar quad trees).

Page 40: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

40

Algoritmos para Niveles de Detalle Continuos

Los algoritmos CLOD tienen que solventar dos problemas básicos de la visualización de terrenos.

Agrietamiento: Consiste en rupturas que se presentan en el mayado debido a los cambios que ocurren al pasar de un nivel de detalle a otro en parches vecinos, esto se debe a que el número de vértices empleados para renderizar un parche es menor que el del otro, generando T-vértices. Popping: Cuando un parche cambia de nivel de detalle, su número de triángulos puede disminuir o aumentar, sin embargo, el usuario puede notar estos cambios repentinos dependiendo del paso o nivel de detalle al que se está moviendo dicho parche, creando un efecto poco grato visualmente que resta realismo al terreno y revela al usuario detalles sobre la implementación del mismo.

Page 41: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

41

Algoritmos para Niveles de Detalle Continuos

Page 42: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

42

Fast Terrain Rendering Using Geometrical MipMapping

Desarrollado por Willem H. de Boer, es un algoritmo sencillo que esta basado en el concepto de mipmapping aplicado a vértices en lugar de texturas.

Niveles de detalle:

Los vértices generados a partir del mapa de alturas se agrupan en varios parches con un tamaño fijo denominadas geomipmaps, por ejemplo: rejillas de 5x5, dichos parches o geomipmaps contendrán a su vez varios niveles de detalle que van disminuyendo a medida que el valor del nivel aumenta, así por ejemplo: Para un parche de 5x5 vértices, el nivel de detalle 0 (el mayor nivel de detalle) contiene 5x5 = 25 vértices, para el nivel de detalle 1 el parche anterior de 5x5 es reducido a una rejilla de 3x3 vértices conteniendo solo 3x3 = 9 vértices, de manera similar, para el nivel de detalle 2 (el mínimo nivel de detalle) se mantienen solo 5 ó 4 vértices.

Page 43: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

43

Geomipmapping ó Geometrical Mipmapping: LODs

Izquierda: Parche de 5x5 con nivel de detalle 0, los círculos blancos corresponden a los vértices generados a partir del mapa de alturas

que son enviados al GPU para su rendering. Centro: El parche anterior de 5x5 reducido al nivel de detalle 1, los círculos negros

corresponden a los vértices descartados para el rendering, se puede observar, como las conexiones entre los vértices blancos son reordenadas para mantener la coherencia entre los mismos.

Derecha: El mismo parche pero el nivel de detalle es 2, descartando el envío de 20 vértices al GPU.

Page 44: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

44

Geomipmapping ó Geometrical Mipmapping: otra configuración de LODs

Page 45: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

45

Geomipmapping ó Geometrical Mipmapping: asignando LOD a parches

Posición del ojo

2 2 2 2 2 2 2 2

2

2

2

2

2 2

2 2

2 2

2 2

2 2

1

1

1

1

1 1

1 1

1 1

1 1

1 1

1

1

1

1

0 0

0 0

0 0

0 0

1 1

1

1

1

1

0 0

0 0

0 0

0 0

1 1

Se asigna un nivel de Detalle según la distancia al ojo: por cada nivel, un threshold de distancia

Page 46: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

46

Durante cada frame, el proceso de actualización es bastante sencillo, se recorre cada parche y se calcula la distancia desde la posición de la cámara hasta el centro del parche en proceso, utilizando la formula de la distancia euclidea dependiendo de esta distancia se asigna o se calcula el nivel de detalle adecuado para el parche y se procede al siguiente.

Sin embargo, esto genera POPING, al cambiar un nivel por otro durante la navegación, debido a que se eliminan (o insertan) nuevos vértices. Podemos considerar el cómo se maneja el mipmapping con texturas, y adoptar ciertas ideas. En texturas, el algoritmo baja la resolución cuando la relación pixel/texel deja de ser 1:1 y se convierte en 1:2 (por ejemplo). Esto ocurre a una cierta distancia d. Podemos aplicar la misma idea para mallados.

Geomipmapping ó Geometrical Mipmapping

Page 47: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

47

Popping

Geomipmapping ó Geometrical Mipmapping

Parche nivel 2

Parche nivel 3, visto como una aproximación del nivel 2. Los vértices negros son removidos al pasar del nivel 2 al nivel 3.

Page 48: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

48

Al eliminar vértices, que además de que pueden ocasionar T-vértices, hay un cambio de altura genera una cambio de altura .

El valor de es menos notable mientras d sea mayor (debido a la perspectiva). Así que, la idea es proyectar para saber su longitud en pixels, que es a la final el cambio que el usuario va a notar en la altura. Si excede un threshold (e.g. 4 pixels) el error es muy notorio, y por lo tanto no se permitirá el cambio de LOD mientras se cumple que > .Por cada parche, hay varios (uno por cada vértice a remover). Simplemente tomamos el mayor de los en el parche para calcular su .

Geomipmapping ó Geometrical Mipmapping

Page 49: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

49

Finalmente, en vez de calcular los deltas y la decisión de cambiar de LOD en cada frame, se precalculan las distancias por cada parche en las cuales de cambia de un nivel de otro. Es como tener un pequeño LUT por cada parche, de manera de hacer el chequeo del LOD correspondiente tan rápido como sea posible en cada parche, dada la distancia actual del parche al ojo. La inclinación de la cámara se ignora en este caso (aproximación).

El poping se reduce con esta técnica. Sin embargo, para umbrales grandes de , el poping va a ser aún notable, lo cual hace sugerir “trilinear geomipmapping”.

Geomipmapping ó Geometrical Mipmapping

Page 50: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

50

Trilinear geomipmapping

Geomipmapping ó Geometrical Mipmapping

C

B

AB’

Nivel 2 (mayor nivel de detalle)

Nivel 3 (menor nivel de detalle)

C

B

AB’

Niveles intermedios generados a partir del proceso de morphing entre el parche Nivel 2 y 3

Page 51: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

51

Agrietamiento: hay que estudiar las fronteras de cada parche. Se modifica la triangulación del LOD más fino entre parches adyacentes.

Geomipmapping ó Geometrical Mipmapping

Conectar ambos parches genera T-vértices (A, y B), que se traducen en grietas

Page 52: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

52

Antes

A

B

Después

A

B

Antes

A

B

A

B

Después

Geomipmapping ó Geometrical Mipmapping

Agrietamiento

Page 53: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

53

Otros patrones de niveles de detalles

Aeropuerto de

Maiquetía

Page 54: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

54

Otros patrones de niveles de detalles

Aeropuerto de

Maiquetía

Page 55: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

55

ROAMing Terrain: Real-time Optimally Adapting Meshes

Triangulación Multi-resolución que optimiza métricas dependientes de la vista.

Considera el conteo de triángulos y el tiempo de generación

Usa coherencia frame-to-frame

No genera grietas

Utiliza una árbol binario

Considera el frame rate

Reduce poping, con vertex-morphing

Page 56: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

56

ROAM: Real-time Optimally Adapting Meshes

Arbol Binario de triángulos:

T0=(vc,va,v0)

T1=(vc,v1,va)

T=(va,v0,v1) split

Page 57: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

57

ROAM: Real-time Optimally Adapting Meshes

Arbol Binario de triángulos: para el triángulo T hay 3 vecinos. TB (base), TL (left), TR (right). La diferencia de LOD entre T y sus 3 vecinos es a lo sumo 1 nivel. El nuevo vértice central puede aparecer gradualmente usando geomorphing.

Page 58: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

58

ROAM: Real-time Optimally Adapting Meshes

Diamante: ocurre cuando T y TB están en el mismo nivel. El split agrega un nuevo vértice y dos triángulos. Operación invertible. Si TB no existe, el split se hace sólo sobre T.

Page 59: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

59

ROAM: Real-time Optimally Adapting Meshes

T no puede refinarse si TB tiene nifel de detalle inferior, pues la diferencia sería de 2 niveles después del split. Se requiere entonces refinar primero la base TB antes de T, sugiriendo recursión.

Así, se garantiza que nunca habrán T-vértices

Page 60: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

60

ROAM: Real-time Optimally Adapting Meshes

No se generan T-vértices

La triangulación óptima se obtiene con un algoritmo greedy:- Se asigna una prioridad a cada triángulo.- Se utiliza una cola de prioridad, que se inicia con el

triángulo raíz.- Iterativamente se refina la raíz de la cola (mayor prioridad)

y se re-insertan sus hijos en la cola.- Para garantizar optimalidad, la prioridad debe ser

monotónica (i.e. prioridad de un triángulo hijo no es mayor a la de su padre).

- El refinamiento termina al alcanzar el límite de polígonos

Page 61: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

61

ROAM: Real-time Optimally Adapting Meshes

Cuando las prioridades cambian entre cuadro de imágenes, se puede partir de la última triangulación, y aplicar una serie de splits y merges hasta alcanzar la triangulación deseada en varios frames.

Se puede limitar la cantidad de split y merge por frame, según la cantidad de triángulos nuevos a subir a la tarjeta.

Se requiere de dos colas de prioridad (una para splits, otra para merges).

La triangulación obtenida a la final es la misma que si se aplicara el algoritmo de cola de prioridad, con la condición de que la función de prioridad sea monotónica; i.e. la prioridad de un triángulo no puede ser mayor a la prioridad de su triángulo padre.

Page 62: 1 Visualización de Terrenos Multiresolución Prof. Rhadamés Carmona, Lic. Henry Iguaró Universidad Central de Venezuela  Email: rhadames.carmona@ciens.ucv.ve

62

Bibliografía

• Renato Pajarola, ETH Zürich. “Large Scale Terrain Visualization Using The Restricted Quadtree Triangulation”. In Proceedings Visualization 98, pp. 19–26 and 515. IEEE Computer Society Press, 1998.

• Mark Duchaineau, LLNL, Murray Wolinsky, LANL, David E. Sigeti, LANL, Mark C. Miller, LLNL, Charles Aldrich, LANL, Mark B. Mineev-Weinstein, LANL. “ROAMing Terrain: Real-time Optimally Adapting Meshes”. In Proceedings Visualization 97, pp 81 – 88. Oct. 1997.

• Willem H. de Boer . “Fast Terrain Rendering Using Geometrical MipMapping”. In flipCode featured articles, Oct. 2000.