Projektion

Projektion bedeutet die Abbildung von Objekten aus dem 3D Raum auf die zweidimensionale Fläche der Near Plane. Projiziert man nur die Polygonpunkte bzw. Polygonkanten, erhält man eine Wireframe-Darstellung.

Das folgende Bild zeigt das Frustum mit einem Polygon im Raum. Die roten Hilfslinien verbinden die Polygonpunkte mit der Kamera. Die Schnittpunkte auf der Near Plane sind die projizierten Punkte.

Projektion auf die Near Plane des Frustums

Für die Projektion von Oberflächen müssen die Texturpixel projiziert werden. Das erfolgt mit einem perspektivischen Texturemapper.

Die Mathematik im Detail erklären zu wollen, würde viele Seiten füllen. Dazu kommt, das genau dieses Stückchen Software die innerste Schleife einer jeden 3D-Engine beinhaltet, egal ob sie in der Grafikkarte oder wie hier in der CPU abläuft. Hier kommt es wirklich darauf an, performanten Code zu erstellen!

Leider ist das Wissen zu diesem Thema sehr rar gestreut. Die meisten Bücher über 3D-Programmierung schweigen sich dazu aus und ich mußte lange suchen bis ich eine mathematisch fundierte Abhandlung zum Thema gefunden hatte.
An dieser Stelle möchte ich mich dann auch ganz herzlich bei Chris Hecker bedanken. Ohne seine Artikelserie Perspective Texture Mapping im Game Developer Magazine wäre diese 3D-Engine so nicht entstanden.