Im Allgemeinen besteht die Welt aus einer Karte mit vielen Dreiecken, und die Karte ist eine Liste dieser Dreiecke und der Position in der Welt jedes Scheitelpunkts. Der Prozess, um sie zu zeichnen, ist:
- Richten Sie die Position der 'Kamera' ein - wenn Sie in der Welt stehen würden, wären Sie hier in der Weltposition
- Transformieren Sie die Dreiecksscheitelpunkte in "Kameraraum".
- Verwandeln Sie die Dreiecke vom "Kameraraum" in den "Bildschirmraum" - hier tritt der Wahrnehmungseffekt auf (entfernte Dinge sind kleiner). Die Dreiecke werden an dieser Stelle 2D.
- Zeichnen Sie das 2D-Dreieck auf einen ausgeblendeten Bildschirm.
- Wenn alle Dreiecke gezeichnet wurden, zeigen Sie dem Player den Bildschirm.
Der letzte Schritt ist normalerweise an die Bildrate des Monitors gebunden, sodass die Anzeige des verborgenen Bildschirms während des V-Blank-Intervalls erfolgt - ein Konzept, das von Kathodenstrahlröhrenmonitoren abgeleitet wurde, die es dem Kathodenstrahl ermöglichten, sich von unten rechts nach oben zu bewegen Links erforderte dies eine schnelle, aber nicht sofortige Änderung der Spannungen an den Ablenkspulen auf der Rückseite der Strahlröhre.
Dies ist eine wirklich einfache Methode. Um eine hohe Leistung zu erzielen, müssen Sie Dinge wie das Entfernen verborgener Oberflächen, Okklusion, Bestimmung des sichtbaren Satzes usw. hinzufügen. Es gibt viele Algorithmen, die entscheiden, was gezeichnet werden soll.
Ich sagte auch, dass die Welt aus Dreiecken besteht, aber auf diese Weise möglicherweise nicht auf der Festplatte gespeichert wird. Häufig werden die Dreiecke, die auf dem Bildschirm gezeichnet werden, zur Laufzeit aus Grundelementen höherer Ordnung definiert, z. B. Höhenkarten, Splines, Tessalierung, geometrische Grundelemente (z. B. eine Kugel, ein Kästchen usw.).
Spezielle Hardware ist nicht erforderlich - viele frühe 3D-Spiele haben alles in Software erledigt (sogar auf 8-Bit-CPUs ohne FPUs). Es macht es einfach schneller und einfacher.
So eine einfache Frage. Keine einfache Antwort.