¿Qué significa la voxelización de “separación 6” y “separación 26”?

11

Estaba leyendo este artículo sobre Voxelpipe, una biblioteca de voxelización de NVIDIA y encontré en la sección 2 Voxelización los términos 6-separando y 26-separando

Encontré este sitio web que intenta explicar las ideas básicas sobre la voxelización, pero no fue de mucha ayuda para comprender los términos mencionados.

¿Alguien puede explicar o señalar algún otro recurso que pueda ayudarme a entender?

BRabbit27
fuente

Respuestas:

17

Los términos tienen que ver con el "grosor" de la voxelización. Ilustraré con la ayuda de un diagrama sobre la rasterización de línea 2D (de esta pregunta no relacionada ).

ingrese la descripción de la imagen aquí

A la derecha está la típica rasterización de línea: el algoritmo encuentra el píxel más cercano a la línea dentro de cada fila (o columna, dependiendo de la pendiente). Esto produce lo que generalmente pensamos como una línea de "1 píxel de grosor". A la izquierda hay una rasterización conservadora, que encuentra cada píxel cuyo rectángulo es tocado por la línea, y produce una línea más gruesa.

La voxelización de 6 separaciones es como la línea delgada de la derecha, y la separación de 26 es como la línea gruesa de la izquierda, pero en 3D. Si imagina que la línea es en realidad un triángulo visto en el borde, esto es análogo a cómo se vería la voxelización.

Los diferentes tipos de voxelización pueden ser mejores dependiendo de lo que vaya a hacer con los datos voxelizados más adelante. Si está utilizando los vóxeles como una jerarquía espacial para encontrar triángulos que se crucen con una región determinada, probablemente desee la voxelización gruesa, ya que es conservadora. La voxelización gruesa también puede ser preferible para la marcha de rayos, ya que la voxelización delgada podría perderse por un rayo diagonal. Por otro lado, la voxelización delgada es una representación más fiel de la superficie original, que probablemente sea mejor para las pruebas de visibilidad, detección de colisiones, simulación de fluidos y similares.

La terminología de "separación de n" es un poco desafortunada, pero esto es a lo que se refiere. Imagine que está haciendo un relleno de inundación 3D en la cuadrícula de vóxel, pero en el relleno de inundación solo mira los 6 vecinos directos de cada vóxel (± 1 paso a lo largo de cada eje). Luego, la voxelización (delgada) de "6 separadores" detendrá el relleno de inundación: es suficiente separar los dos lados de la superficie, si solo se consideran 6 vecinos. Por otro lado, suponga que su relleno de inundación también puede ir a vecinos diagonales: 26 vecinos en total (vecindad de voxels 3 × 3 × 3). Entonces la voxelización de 6 separadores no detendría el relleno de inundación, pero el de 26 separadores (gruesos) sí.

Nathan Reed
fuente
Agradable ! Su explicación me da la intuición al respecto. ¿Tienes algunas fuentes donde puedo leer un poco más sobre rasterización? Supongo que estas cosas de separación n provienen de 2D, donde es más fácil de entender y luego puedo pensar más para comprender la separación de 6 y 26 en 3D.
BRabbit27
1
@ BRabbit27 No creo que la terminología de "separación n" se use mucho en la rasterización 2D; Solo lo he visto cuando hablo de la voxelización. Solo se refiere a la cantidad de vecinos. Agregaré un poco a la respuesta sobre eso.
Nathan Reed