Freigeben über


Dreiecksstrips

Ein Dreiecksstreifen ist eine Reihe verbundener Dreiecke. Da die Dreiecke verbunden sind, muss die Anwendung nicht wiederholt alle drei Scheitelpunkte für jedes Dreieck angeben. Sie benötigen beispielsweise nur sieben Scheitelpunkte, um den folgenden Dreiecksstreifen zu definieren.

Beispiel

Abbildung eines Dreiecksstreifens mit sieben Scheitelpunkten

Das System verwendet Scheitelpunkte v1, v2 und v3, um das erste Dreieck zu zeichnen; v2, v4 und v3 zum Zeichnen des zweiten Dreiecks; v3, v4 und v5, um den dritten zu zeichnen; v4, v6 und v5, um den vierten zu zeichnen; Und so weiter. Beachten Sie, dass die Scheitelpunkte der zweiten und vierten Dreiecke nicht in ordnung sind; Dies ist erforderlich, um sicherzustellen, dass alle Dreiecke im Uhrzeigersinn gezeichnet werden.

Die meisten Objekte in 3D-Szenen bestehen aus Dreiecksstreifen. Dies liegt daran, dass Dreiecksstreifen verwendet werden können, um komplexe Objekte so anzugeben, dass der Arbeitsspeicher und die Verarbeitungszeit effizient genutzt werden.

Die folgende Abbildung zeigt einen gerenderten Dreiecksstreifen.

Abbildung eines gerenderten Dreiecksstreifens

Der folgende Code zeigt, wie Scheitelpunkte für diesen Dreiecksstreifen erstellt werden.

struct CUSTOMVERTEX
{
float x,y,z;
};

CUSTOMVERTEX Vertices[] = 
{
    {-5.0, -5.0, 0.0},
    { 0.0,  5.0, 0.0},
    { 5.0, -5.0, 0.0},
    {10.0,  5.0, 0.0},
    {15.0, -5.0, 0.0},
    {20.0,  5.0, 0.0}
};

Das folgende Codebeispiel zeigt, wie Sie diesen Dreiecksstreifen in Direct3D rendern.

//
// It is assumed that d3dDevice is a valid
// pointer to a device interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 4);

Vielecke

Häufig werden Dreiecksstreifen zum Erstellen von Polygonen verwendet. Ein Polygon ist eine geschlossene 3D-Abbildung, die von mindestens drei Scheitelpunkten abgegrenzt ist. Das einfachste Polygon ist ein Dreieck. Microsoft Direct3D verwendet Dreiecke, um die meisten Polygone zu erstellen, da alle drei Scheitelpunkte in einem Dreieck garantiert koplanar sind. Das Rendern nichtplanarer Scheitelpunkte ist ineffizient. Sie können Dreiecke kombinieren, um große, komplexe Polygone und Gitter zu bilden.

Die folgende Abbildung zeigt einen Cube. Zwei Dreiecke bilden jedes Gesicht des Würfels. Die gesamte Gruppe von Dreiecken bildet einen kubischen Grundtyp. Sie können Texturen auf die Oberflächen von Grundtypen anwenden, damit sie als einzelne einfarbige Form erscheinen. Ausführliche Informationen finden Sie unter Texturen.

Abbildung eines Würfels mit zwei Dreiecken auf jedem Gesicht

Sie können auch Dreiecke verwenden, um Grundtypen zu erstellen, deren Oberflächen scheinbar glatte Kurven sind. Die folgende Abbildung zeigt, wie eine Kugel mit Dreiecken simuliert werden kann. Nachdem ein Material aufgetragen wurde, kann die Kugel so gestaltet werden, dass sie gekrümmt aussieht, wenn es gerendert wird.

Abbildung einer Kugel, die mithilfe von Dreiecken simuliert wird

Primitive