Ist eine Voxel-Engine für ein Minecraft-ähnliches Spiel geeignet?

27

Warum verwendet Minecraft Polygone, um das Gelände der Welt zu zeichnen, anstatt Voxel? Wäre eine voxelbasierte Rendering-Engine für eine vollständig zerstörbare Spielwelt geeignet, die aus Cubes wie Minecraft aufgebaut ist? Wäre es effizienter als die Verwendung von Polygonen?

jeffythedragonslayer
quelle
Was lässt Sie denken, dass Minecraft im Wesentlichen keine Voxeldarstellung seiner Welt verwendet? Ich meine, was ist Ihre Quelle für diese Aussage? Ich habe immer angenommen, dass es so ist.
Josh
minecraftwiki.net/wiki/Map - Speziell: "Minecraft verwendet ein Voxelsystem, ein inkrementelles 3D-Gitter, in dem jeder Gitterpunkt Daten für einen einzelnen Block enthält."
Ray Dey
5
Minecraft verwendet zwar eine Voxeldarstellung der Welt, sie wird jedoch mithilfe von Polygonen gerendert. Meine Frage war, warum er keinen Voxel-Renderer geschrieben hat.
Jeffythedragonslayer
Mein Fehler, den ich falsch verstanden habe
Ray Dey
1
Voxel-Rendering mit Ray Casting auf dem GPU ist mit dem heutigen (oder gestrigen) GPUS völlig möglich. Mit cleveren Accstructions (die für Voxel einfach sind) und cleverer Speichernutzung sollten Sie in der Lage sein, unglaublich große Szenen in Echtzeit zu rendern.
Notabene

Antworten:

28

Warum verwendet Minecraft Polygone, um das Gelände der Welt zu zeichnen, anstatt Voxel?

Grafikhardware funktioniert mit und rendert Dreiecke. Sie müssen also Dreiecke verwenden, wenn Sie die Hardwarebeschleunigung wünschen. Die meisten Voxel-Renderer verwenden so etwas wie Marching Cubes , um ein Polygonnetz aus einer Voxel-Darstellung zu extrahieren und dieses zu präsentieren. Direktes Volume-Rendering ist in der Regel rechenintensiv.

Wäre eine voxelbasierte Rendering-Engine für eine vollständig zerstörbare Spielwelt geeignet, die aus Cubes wie Minecraft aufgebaut ist?

Ja.

Wäre es effizienter als die Verwendung von Polygonen?

Wahrscheinlich, aber nicht, weil Voxel schneller oder billiger zu rendern sind (in der Tat sind sie teurer zu rendern, da Sie den Datensatz konvertieren müssen). Die Voxel-Darstellung lässt sich einfacher manipulieren als Polygone - daher ist es viel einfacher, Teile der Welt, die durch den Datensatz dargestellt werden, hinzuzufügen und zu entfernen.

Josh
quelle