Al igual que con los píxeles en un mapa de bits 2D , los vóxeles en sí mismos normalmente no tienen su posición (es decir, coordenadas ) codificada explícitamente con sus valores. En cambio, los sistemas de renderizado infieren la posición de un vóxel en función de su posición relativa a otros vóxeles (es decir, su posición en la estructura de datos que compone una única imagen volumétrica ). Algunas pantallas volumétricas utilizan vóxeles para describir su resolución . Por ejemplo, una pantalla volumétrica cúbica podría mostrar 512 × 512 × 512 (o alrededor de 134 millones) de vóxeles.
A diferencia de los píxeles y los vóxeles, los polígonos suelen representarse explícitamente mediante las coordenadas de sus vértices (como puntos ). Una consecuencia directa de esta diferencia es que los polígonos pueden representar de manera eficiente estructuras 3D simples con mucho espacio vacío o lleno de manera homogénea, mientras que los vóxeles se destacan por representar espacios muestreados regularmente que no están llenos de manera homogénea.
Una de las definiciones es:
Un vóxel es una imagen de una región espacial tridimensional limitada por tamaños dados, que tiene sus propias coordenadas de puntos nodales en un sistema de coordenadas aceptado, su propia forma , su propio parámetro de estado que indica su pertenencia a algún objeto modelado y tiene propiedades de región modelada.
Esta definición tiene la siguiente ventaja: si se utiliza una forma de vóxel fija dentro de todo el modelo, es mucho más fácil trabajar con puntos nodales de vóxel (es decir, tres coordenadas de este punto). Sin embargo, existe una forma simple de registro: índices de los elementos en el conjunto del modelo (es decir, coordenadas enteras). Los elementos del conjunto del modelo en este caso son parámetros de estado que indican la pertenencia del vóxel al objeto modelado o a sus partes separadas, incluidas sus superficies. [2]
Etimología
La palabra vóxel se originó por analogía con " píxel ", donde vo representa " volumen " (en lugar de la "imagen" de píxel) y el representa "elemento"; [3] una formación similar con el para "elemento" es la palabra " texel ". [3]
El término hipervóxel es una generalización de vóxel para espacios de dimensiones superiores .
Otra técnica para los vóxeles implica gráficos rasterizados en los que uno simplemente traza cada píxel de la pantalla en la escena, rastreando un término de error para determinar cuándo avanzar . Una implementación típica trazará cada píxel de la pantalla comenzando en la parte inferior de la pantalla utilizando lo que se conoce como un búfer y. Cuando se llega a un vóxel que tiene un valor y más alto en la pantalla, se agrega al búfer y anulando el valor anterior y se conecta con el valor y anterior en la pantalla interpolando los valores de color. Hay una desventaja importante en la rasterización de vóxeles cuando se aplica la transformación que causa un aliasing severo . La ventaja era la capacidad de rasterizar utilizando cálculos enteros baratos en una CPU sin aceleración de hardware . [4]
Outcast y otros videojuegos de la década de 1990 emplearon esta técnica gráfica para efectos como la reflexión y el mapeo de relieve y, por lo general, para la representación del terreno . El motor gráfico de Outcast era principalmente una combinación de unmotor de proyección de rayos ( mapa de altura ), utilizado para representar el paisaje, y un motor de polígonos de mapeo de texturas utilizado para representar objetos. La sección "Programación del motor" de los créditos del juego en el manual tiene varias subsecciones relacionadas con los gráficos, entre ellas: "Motor de paisaje", "Motor de polígonos", "Motor de agua y sombras" y "Motor de efectos especiales". [5] Aunque a menudo se cita a Outcast como precursor de la tecnología de vóxeles, [6] esto es algo engañoso. El juego en realidad no modela volúmenes tridimensionales de vóxeles. En cambio, modela el suelo como una superficie, que puede verse como formada por vóxeles. El suelo está decorado con objetos que se modelan utilizando polígonos mapeados con textura. Cuandose desarrolló Outcast , el término "motor de vóxeles", cuando se aplicaba a los juegos de ordenador, se refería habitualmente a un motor de proyección de rayos (por ejemplo, el motor VoxelSpace ). En la página de tecnología del motor del sitio web del juego, el motor de paisaje también se conoce como "motor de vóxeles". [7] El motor se basa puramente en software ; no depende de la aceleración de hardware a través de una tarjeta gráfica 3D . [8]
John Carmack también experimentó con Voxels para el motor Quake III . [9] Uno de los problemas citados por Carmack fue la falta de tarjetas gráficas diseñadas específicamente para tal renderización, lo que requería que fueran renderizadas por software.
Un vóxel representa una única muestra o punto de datos en una cuadrícula tridimensional con un espaciado regular. Este punto de datos puede constar de un único dato, como la opacidad, o de varios datos, como un color además de la opacidad. Un vóxel representa solo un único punto en esta cuadrícula, no un volumen; el espacio entre cada vóxel no está representado en un conjunto de datos basado en vóxeles. Según el tipo de datos y el uso previsto para el conjunto de datos, esta información faltante se puede reconstruir o aproximar, por ejemplo, mediante interpolación.
Los vóxeles pueden contener múltiples valores escalares , esencialmente datos vectoriales (tensoriales); en el caso de exploraciones de ultrasonido con datos de modo B y Doppler , la densidad y el caudal volumétrico se capturan como canales separados de datos relacionados con las mismas posiciones de vóxel.
Si bien los vóxeles brindan la ventaja de la precisión y la profundidad de la realidad, por lo general son grandes conjuntos de datos y su manejo es difícil debido al ancho de banda de las computadoras comunes. Sin embargo, mediante la compresión y manipulación eficientes de archivos de datos grandes, se puede habilitar la visualización interactiva en las computadoras del mercado de consumo.
Se están investigando tecnologías para ampliar los vóxeles en 4 y 5 dimensiones de datos. [13]
Usos
Los vóxeles se utilizan en la creación de imágenes volumétricas en medicina y en la representación del terreno en juegos y simulaciones. El terreno en vóxeles se utiliza en lugar de un mapa de alturas debido a su capacidad para representar salientes, cuevas, arcos y otras características del terreno en 3D. Estas características cóncavas no se pueden representar en un mapa de alturas debido a que solo se representa la "capa" superior de datos, dejando todo lo que está debajo lleno (el volumen que de otro modo sería el interior de las cuevas o la parte inferior de los arcos o salientes).
Juegos de ordenador
3D Dot Game Heroes utiliza vóxeles para presentar gráficos de aspecto retro.
7 Days to Die es un juego de terror de supervivencia de mundo abierto basado en vóxeles desarrollado por The Fun Pimps Entertainment.
Dual Universe es un juego MMORPG de universo de un solo fragmento que utiliza vóxeles para construir naves espaciales, civilizaciones y estaciones espaciales.
Ensrouded es un juego de rol de supervivencia basado en vóxeles. Se lanzará en febrero de 2023 por Keen Games
EverQuest Next y EverQuest Next: Landmark , MMORPG cancelados por Sony Online Entertainment , hicieron un uso extensivo de vóxeles para la creación de mundos, así como contenido generado por los jugadores.
Hexplore , un juego de rol multijugador, utiliza un motor de vóxeles que permite al jugador rotar el campo de juego renderizado isométrico.
Master of Orion III utiliza gráficos de vóxeles para representar batallas espaciales y sistemas solares. Las batallas en las que se mostraban 1000 naves a la vez se representaban lentamente en computadoras sin aceleración gráfica de hardware.
Moonglow Bay es un videojuego de rol de pesca, lanzado en 2021 y desarrollado por Bunnyhug, utilizando el estilo de arte voxel.
Miner Wars 2081 es un juego de mundo abierto 6DOF creado por Keen Software House que utiliza su propio motor de renderizado de vóxeles VRage para permitir al usuario deformar el terreno de los asteroides permitiendo que se formen túneles.
Nivalis es un próximo juego cyberpunk de corte cotidiano, ambientado en un mundo basado en vóxeles, que ya apareció en Cloudpunk.
No Man's Sky es un juego de exploración espacial que consiste en sistemas estelares generados por procedimientos que contienen planetas, lunas y asteroides explorables formados por vóxeles. El motor de vóxeles permite tanto la destrucción como la creación de terrenos.
Outcast es un videojuego de acción en tercera persona creado por el ex desarrollador de videojuegos belga Appeal, [18] con paisajes renderizados por un motor vóxel.
Robocraft , un juego de combate vehicular en el que los jugadores construyen máquinas de combate a partir de vóxeles y componentes prefabricados.
Shadow Warrior y Blood utilizan el motor Build para la representación de vóxeles en juegos de disparos en primera persona, en lugar de sprites , como una opción para muchos de los elementos que se pueden recoger y el escenario. Duke Nukem 3D tiene un paquete creado por un fanático con un estilo similar.
Shattered Steel presenta paisajes deformables utilizando tecnología vóxel.
Trove es un MMORPG basado en vóxeles con elementos de construcción, desarrollado y publicado por Trion Worlds . [20]
Vangers es un juego de computadora que utiliza vóxeles para su sistema de terreno de dos niveles. [21]
Veloren es un juego de rol de acción y aventuras ambientado en un vasto mundo de fantasía. [22]
Vox , lanzado en 2012, es un juego de exploración/RPG basado en vóxeles y centrado en contenido generado por el jugador.
Voxatron , un juego de computadora producido por Lexaloffle, está compuesto y generado completamente utilizando vóxeles. [23] [24]
Werewolf es un juego de computadora creado por Novalogic que utiliza tecnología de renderizado basada en vóxeles. Originalmente se incluía y enviaba junto con el juego Comanche 2 , aunque eran dos juegos separados.
Worms 4: Mayhem utiliza un motor basado en vóxeles para simular la deformación de la tierra similar a los antiguos juegos Worms 2D.
Si bien la visualización científica de volúmenes no requiere modificar los datos de vóxeles reales, los editores de vóxeles se pueden utilizar para crear arte (especialmente pixel art en 3D ) y modelos para juegos basados en vóxeles. Algunos editores se centran en un único enfoque de edición de vóxeles, mientras que otros combinan varios enfoques. Algunos enfoques comunes son:
Basado en cortes: el volumen se corta en uno o más ejes y el usuario puede editar cada imagen individualmente mediante herramientas de edición de trama 2D . Estas generalmente almacenan información de color en vóxeles.
Escultura: similar a su contraparte vectorial , pero sin restricciones topológicas. Generalmente, almacenan información de densidad en vóxeles y carecen de información de color.
Bloques de construcción: el usuario puede agregar y quitar bloques como si fuera un juguete de construcción .
Hay algunos editores de vóxeles disponibles que no están vinculados a juegos o motores específicos. Se pueden utilizar como alternativas o complementos al modelado vectorial 3D tradicional.
Extensiones
Una generalización de un vóxel es el toxel o vóxel temporal. [25] Esto se utiliza en el caso de un conjunto de datos 4D , por ejemplo, una secuencia de imágenes que representa el espacio 3D junto con otra dimensión como el tiempo. De esta manera, una imagen podría contener 100×100×100×100 toxeles, que podrían verse como una serie de 100 fotogramas de una imagen de volumen 100×100×100 (el equivalente para una imagen 3D sería mostrar una sección transversal 2D de la imagen en cada fotograma). Aunque el almacenamiento y la manipulación de dichos datos requiere grandes cantidades de memoria, permite la representación y el análisis de sistemas espaciotemporales .
^ Chmielewski, Sz., Tompalski, P. (2017). "Estimating outdoor advertising media transparency with voxel-based approach" (Estimación de la visibilidad de los medios publicitarios en exteriores con un enfoque basado en vóxeles). Applied Geography , 87:1–13 doi :10.1016/j.apgeog.2017.07.007. Descarga de preimpresión: "Estimating outdoor advertising media transparency with voxel-based approach (Descarga en PDF disponible)". Archivado desde el original el 2017-10-02 . Consultado el 2017-10-02 .
^ Shchurova, Catherine I. (2015). "Una metodología para diseñar un editor gráfico 3D para el micromodelado de piezas compuestas reforzadas con fibra". Avances en software de ingeniería . 90 . Avances en software de ingeniería Volumen 90, diciembre de 2015, páginas 76-82: 76–82. doi :10.1016/j.advengsoft.2015.07.001.
^ ab Foley, James D.; Andries van Dam; John F. Hughes; Steven K. Feiner (1990). "Representaciones de particionamiento espacial; detalle de superficie". Gráficos por computadora: principios y práctica . Serie de programación de sistemas. Addison-Wesley . ISBN978-0-201-12110-0Estas celdas a menudo se denominan vóxeles ( elementos de volumen), en analogía con los píxeles.
^ "Vóxeles". tnlc.com . Archivado desde el original el 17 de abril de 2014.
^ Manual del marginado . Infogrames. 1999. p. 34.
^ Bertuche, Manfred (2009). "'Klötzchenwelten' [Mundos de pequeños bloques] en c't Magazin número 04/2009". C't: Magazin für Computertechnik . Hannover: Heise Zeitschriften Verlag GmbH & Co. KG: 183. ISSN 0724-8679.
^ "OUTCAST – Tecnología: Paraíso". archive.org . 7 de mayo de 2006. Archivado desde el original el 7 de mayo de 2006.
^ ab "Motor de terreno de vóxeles Archivado el 13 de noviembre de 2013 en Wayback Machine ", introducción. En la mente de un programador, 2005.
^ "Un poco de historia: tecnología de renderizado 3D de última generación: Voxel Ray Casting". tomshardware.com . 21 de octubre de 2009.
^ "Invenciones, patentes y solicitudes de patente de Kyle G. Freeman – Búsqueda de patentes de Justia". justia.com . Archivado desde el original el 1 de febrero de 2014.
^ "FlightSim.Com – NovaLogic obtiene patente para motor gráfico Voxel Space". flightsim.com . Archivado desde el original el 24 de septiembre de 2015.
^ Novelline, Robert. Fundamentos de radiología de Squire . Harvard University Press. Quinta edición. 1997. ISBN 0-674-83339-2 .
^ Sociedad, La Óptica. "Un método de escritura láser de alta velocidad podría almacenar 500 terabytes de datos en un disco de vidrio del tamaño de un CD". phys.org . Consultado el 31 de octubre de 2021 .
^ "Una breve historia de los juegos Voxel. | Blog de DjArcas". Archivado desde el original el 2013-12-18 . Consultado el 2013-12-18 .
^ "Formato de fragmento: formato de bloque". Wiki de Minecraft . Consultado el 24 de septiembre de 2023 .
^ "Tutoriales/Unidades de medida: Distancia". Wiki de Minecraft . Consultado el 24 de septiembre de 2023 .
^ "Appeal SA - MobyGames". mobygames.com . Archivado desde el original el 19 de diciembre de 2014.
^ Zak, Robert (4 de abril de 2016). «Nunca ha habido un mejor momento: las atracciones de Planet Coaster satisfacen la demanda de juegos de simulación profunda». Archivado desde el original el 4 de julio de 2016 . Consultado el 11 de julio de 2016 .
^ "Trove – Una aventura multijugador masivo en línea de Trion Worlds". trovegame.com . Archivado desde el original el 22 de julio de 2014.
^ "VANGERS". kdlab.com . Archivado desde el original el 14 de enero de 2010. Consultado el 20 de diciembre de 2009 .
^ "Veloren". Veloren.net . Archivado desde el original el 2024-06-12 . Consultado el 2024-06-12 .
^ Ars Technica (14 de enero de 2011). "Nos encantan los vóxeles: por qué Voxatron es un shooter independiente apasionante". Archivado desde el original el 13 de octubre de 2011.
^ "Lexaloffle BBS :: Voxatron". lexaloffle.com . Archivado desde el original el 8 de enero de 2011. Consultado el 12 de enero de 2011 .
^ Hickson, Steven; Birchfield, Stan; Essa, Irfan; Christensen, Henrik (2014). "Segmentación jerárquica eficiente basada en gráficos de vídeos RGBD". Conferencia IEEE de 2014 sobre visión artificial y reconocimiento de patrones . págs. 344–351. arXiv : 1801.08981 . doi :10.1109/CVPR.2014.51. ISBN.978-1-4799-5118-5.S2CID 519623 .