Voxel

Voxel (analog zu Pixel aus dem Englischen volume und el von element) bezeichnet in der Computergrafik einen Gitterpunkt („Bild“punkt, Datenelement) in einem dreidimensionalen Gitter. Dies entspricht einem Pixel in einem 2D-Bild, einer Rastergrafik. Wie bei Pixeln wird bei Voxeln üblicherweise die Position nicht explizit gespeichert, sondern implizit aus der Position zu anderen Voxeln hergeleitet. Im Gegensatz dazu werden bei Punkten oder Polygonen die Positionen der Eckkoordinaten gespeichert. Eine direkte Konsequenz dieses Unterschiedes ist, dass man mit Polygonen eine 3D-Struktur mit viel leerem oder homogen gefülltem Raum effizient darstellen kann. Voxel hingegen sind gut bei der Repräsentation eines äquidistant gesampelten Raums, der nicht homogen gefüllt ist.

Beschreibung 
Voxel bezeichnet zwei Dinge:

Räumlicher Datensatz 
Bei einem räumlichen Datensatz, der in diskretisierter Form in kartesischen Koordinaten vorliegt, bezeichnet Voxel den diskreten Wert an einer XYZ-Koordinate des Datensatzes. Bei dieser Definition handelt es sich um das dreidimensionale Äquivalent eines Pixels, somit hat ein Voxel keine bestimmte Form. Man spricht hier auch vom isotropen Voxel oder „Volumenpixel“. Häufig handelt es sich bei den in Voxelgittern enthaltenen Daten um Farbwerte, die mit den Mitteln der Volumengrafik zur Visualisierung bestimmt sind. Anwendungen findet diese Form der Datenrepräsentation vor allem in den bildgebenden Verfahren der Medizin, hier können die diskreten Werte als Dichte (Knochen, Fettgewebe) aufgefasst werden und entsprechend visualisiert werden.

Für die Darstellung dieser Voxel gibt es spezialisierte Algorithmen. Der Marching-Cubes-Algorithmus erlaubt das Umwandeln von Voxeldaten in Polygone. Dazu bedarf es allerdings eines Schwellenwerts, weil die Polygone üblicherweise nicht transparent sind. Eine andere Methode ist das direkte Rendering der Voxeldaten. Dies kann mit Raycasting geschehen, indem man einen Strahl durch das Voxelgitter wirft und die Farbwerte verrechnet. Abgebrochen wird, falls Opazität erreicht wird.

Raytracing 
In anderen Fällen bezeichnet ein Voxel eine quaderförmige Zelle innerhalb eines regelmäßig aufgeteilten Quaders oder unbegrenzten Raumes. Am häufigsten wird diese Bedeutung bei bestimmten Techniken zur Beschleunigung von Raytracing verwendet. Da sie sich allerdings nicht an die lokalen Gegebenheiten anpasst, ist diese Methode nicht sehr effizient. Besser ist es, eine Beschleunigungsstruktur wie den k-d-Baum zu verwenden.

Verwendung 
Üblicherweise werden Voxel in der Medizin oder bei der Darstellung von Landschaften in Computerspielen und Simulation eingesetzt. Voxelterrain wird statt eines Höhenfelds (Heightmap) eingesetzt, weil es Überhänge, Höhlen, Bögen und andere 3D-Merkmale einer Landschaft darstellen kann. Diese konkaven Merkmale können mit einem Höhenfeld nicht repräsentiert werden, weil es nur die oberste Ebene der Landschaft speichert und alles darunter als gefüllt angenommen wird.

Computerspiele 

Zu den voxelbasierten Computerspielen gehören:

Voxelbasiertes Rendering 
Spiele, bei denen einzelne Objekte oder die gesamte Spielwelt als Voxel gerendert werden:
 1997: Shadow Warrior und Blood nutzten eine spätere Version der Build-Engine, die Voxel-Objekte verwendet.
 2008: Voxelstein 3D verwendet Voxel um eine vollständig zerstörbare Umgebung zu ermöglichen. Das Spiel basiert auf Ken Silvermans Voxlap-Engine.
 2020: Teardown verwendet Voxel ähnlich wie Voxelstein 3D.

Voxelobjekte innerhalb isometrischer Welten 
Spiele mit isometrischer Perspektive, bei denen Objekte aus Voxeln bestehen:
 1999: Command & Conquer: Tiberian Sun und Command & Conquer: Alarmstufe Rot 2, Fahrzeuge und Gleiter werden mit Voxelgrafik dargestellt.
 1999: Sid Meier’s Alpha Centauri, Strategiespiel, nutzt Voxel-Modelle, um Einheiten zu zeichnen.

Voxel als Grafikstil 
Spiele, die Voxel als Grafikstil aber Polygone zur Darstellung verwenden.
 2009: 3D Dot Game Heroes, voxelbasierte Welt
 2009: Minecraft, voxelbasiertes Open-World Sandbox
 2011: Minetest, ähnlich Minecraft
 2011: Castle Story, ein Echtzeit-Strategiespiel
 2012: Ace of Spades, ein Open-World-Ego-Shooter
 2014: Planets³, Rollenspiel
 2015: Trove MMORPG
 2017: Castle Story
 2019: Cube World
 2020: The Sandbox, ähnlich Minecraft mit NFTs

Heightmap Raycasting 
Um den hohen Gebrauch an Speicherplatz und CPU-Leistung von vollständigen Voxelwelten zu minimieren und somit eine dreidimensionale Darstellung von Umgebungen zu Laufzeit zu ermöglichen, vereinfachten Entwickler die auf Raytracing basierenden Rendering-Algorithmen so weit, dass lediglich ein Höhenfeld dargestellt wird. Durch den deutlichen reduzierbaren Rechenaufwand war somit eine Darstellung von dreidimensionalen Umgebungen in Echtzeit möglich und dabei lediglich Speicherplatz für zweidimensionale Karten mit Höhen- und Farbinformationen nötig. Dies entspricht zwar keinen Voxeln im eigentlichen Sinn, wurde aber von verschiedenen Herstellern trotzdem als Voxel-Grafik beworben. Die Darstellung von überhängenden Gebilden ist so nicht möglich. Objekte innerhalb der Spielwelt wurden deshalb mit Sprites oder Polygonen dargestellt.
 1992: Comanche, eine Reihe von Helikopterflugsimulationen, benutzt eine frühe Implementierung von Heightmap Raycasting
 1998: Delta Force, Ego-Shooter, nutzt ebenfalls die Voxel-Space-Engine 
 1999: Outcast, ein Spiel des belgischen Entwicklers Appeal, das das Höhenfeld-Terrain mit einer sogenannten Voxel-Engine rendert. Objekte in der Spielwelt bestehen allerdings aus Polygonen.

Weitere 
 2007: Crysis, verwendet eine Kombination von Höhenfeld und Voxel für sein Terrain-System.
 2013: Space Engineers verwendet eine Kombination aus auf Voxeln und Polygonen basierenden Strukturen
 2014: Rising World, Open-World-Sandbox-Spiel
 2015: Empyrion - Galactic Survival, ähnlich Space Engineers
 2016: Dual Universe Sci-Fi-MMO. Ein Universum für alle Spieler gleichzeitig. Die Welten und von Spielern gebaute Konstrukte sind aus editierbaren Voxeln.
 2005: C4 Engine, eine Spieleengine die Voxel zur Darstellung des Terrains verwendet. Zum Editieren gibt es einen Voxeleditor innerhalb des Leveleditors.

Einzelnachweise 

Bildsynthese
Geometrische Modellierung
Computerkunst