Dreieckslisten
Eine Dreiecksliste ist eine Liste isolierter Dreiecke. Die isolierten Dreiecke sind möglicherweise nahe beieinander. Eine Dreiecksliste muss mindestens drei Scheitelpunkte aufweisen, und die Gesamtanzahl der Scheitelpunkte muss durch drei divisierbar sein.
Beispiel
Verwenden Sie Dreieckslisten, um ein Objekt zu erstellen, das aus nicht zusammenhängenden Teilen besteht. Eine Möglichkeit zum Erstellen einer Kraftfeldwand in einem 3D-Spiel besteht beispielsweise darin, eine große Liste kleiner, nicht verbundener Dreiecke anzugeben. Wenden Sie dann ein Material und eine Textur an, das scheinbar Licht auf die Dreiecksliste sendet. Jedes Dreieck in der Wand scheint leuchtet. Die Szene hinter der Wand wird teilweise durch die Lücken zwischen den Dreiecken sichtbar, da ein Spieler beim Betrachten eines Kraftfelds möglicherweise erwartet.
Dreieckslisten eignen sich auch zum Erstellen von Grundtypen mit scharfen Kanten und werden mit Gouraud-Schattierung schattiert. Siehe Normalvektoren "Gesicht" und "Scheitelpunkt".
Die folgende Abbildung zeigt eine gerenderte Dreiecksliste.
Der folgende Code zeigt, wie Scheitelpunkte für diese Dreiecksliste 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 Diese Dreiecksliste in Direct3D gerendert wird.
//
// It is assumed that d3dDevice is a valid
// pointer to a device interface.
//
d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 2 );
Verwandte Themen