Freigeben über


Koordinatensysteme und Geometrie

Für das Programmieren von Direct3D-Anwendungen muss der Anwender mit geometrischen 3D-Prinzipien vertraut sein. Dieser Abschnitt stellt die wichtigsten geometrischen Konzepte zum Erstellen von 3D-Szenen vor.

In diesem Abschnitt

Thema Beschreibung

Koordinatensysteme

In der Regel verwenden 3D-Grafikanwendungen eine von zwei Arten von kartesischen Koordinatensystemen: linkshändig oder rechtshändig. In beiden Koordinatensystemen zeigt die positive x-Achse rechts und die positiven Y-Achsenpunkte nach oben.

Primitive

Ein 3D-Grundtyp ist eine Sammlung von Scheitelpunkten, die eine einzelne 3D-Entität bilden.

Normalvektoren für Gesichts- und Scheitelpunkt

Jedes Gesicht in einem Gitter weist einen senkrechten Einheitsnormalvektor auf. Die Richtung des Vektors wird durch die Reihenfolge bestimmt, in der die Scheitelpunkte definiert sind und ob das Koordinatensystem rechts- oder linkshändig ist.

Rechtecke

Während der Gesamten Direct3D- und Windows-Programmierung werden Objekte auf dem Bildschirm in Bezug auf begrenzungsgebundene Rechtecke bezeichnet. Die Seiten eines umgebenden Rechtecks sind immer parallel zu den Seiten des Bildschirms, sodass das Rechteck durch zwei Punkte, die obere linke Ecke und die untere rechte Ecke beschrieben werden kann.

Dreiecksinterpolation

Während des Renderns interpoliert die Pipeline Vertexdaten über jedes Dreieck. Vertexdaten können eine breite Palette von Daten sein und können enthalten (aber nicht beschränkt auf): diffuse Farbe, Glanzfarbe, diffuse Alpha (Dreieck deckkraft), Glanz alpha und ein Nebelfaktor.

Vektoren, Scheitelpunkte und Quaternionen

In Direct3D beschreiben Scheitelpunkte die Position und Ausrichtung. Jeder Scheitelpunkt in einem Grundtyp wird durch einen Vektor beschrieben, der seine Position, Farbe, Texturkoordinaten und einen normalen Vektor angibt, der seine Ausrichtung angibt.

Transformationen

Der Teil von Direct3D, der Geometrie über die Pipeline für feste Funktionsgeometrie überträgt, ist das Transformationsmodul. Es sucht das Modell und die Viewer in der Welt, projekte Scheitelpunkte für die Anzeige auf dem Bildschirm und clipst Scheitelpunkte an den Viewport. Das Transformationsmodul führt auch Beleuchtungsberechnungen durch, um diffuse und glanzförmige Komponenten an jedem Scheitelpunkt zu bestimmen.

Viewports und Clipping

Ein Viewport ist ein zweidimensionales Rechteck (2D), in das eine 3D-Szene projiziert wird. In Direct3D ist das Rechteck als Koordinaten in einer Direct3D-Oberfläche vorhanden, die das System als Renderingziel verwendet. Die Projektionstransformation wandelt Scheitelpunkte in das Koordinatensystem um, das für den Viewport verwendet wird. Ein Viewport wird auch verwendet, um den Bereich der Tiefenwerte auf einer Renderzieloberfläche anzugeben, in die eine Szene gerendert wird (in der Regel 0,0 bis 1,0).

 

Lernanleitung für Direct3D-Grafiken