GartenUmgraben
Erfahrenes Mitglied
Moin ich habe mit in meinem kleinen DirectX Programm mal 3 vertices angelegt.
verts[0].Position = new Vector3(5f, 5f, 5f);
verts[1].Position = new Vector3(0f, 5f, 0f);
verts[2].Position = new Vector3(5f, 0f, 5f);
und will mir diese per TriangleStrip zeichnen lassen.
device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 3);
Daraufhin zeichnet er mir jedoch ein Viereck (sprich zwei Dreiecke) !
Mach ich das ganze nur mit 2 Vertices und entsprechend
device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2);
...dann zeichnet er mir ein Dreieck, da er augenscheinlich das erste Dreieck des Strips nicht (wie ich es wil) aus den ersten drei verts macht die ich ihm gebe (bei 2 verst würde entsprechen nichtmal ein Dreieck entstehen), sondern aus dem Koordinatenursprung und den ersten 2 verts die ich ihm gebe. Deshalb macht er dann aus 3 verst auch schon 2 Dreiecke.
Wie kann ich ihm das ausreden. Sprich, dass er wirklich nur die verst nimmt und nicht noch den Koordinatenursprung ?
verts[0].Position = new Vector3(5f, 5f, 5f);
verts[1].Position = new Vector3(0f, 5f, 0f);
verts[2].Position = new Vector3(5f, 0f, 5f);
und will mir diese per TriangleStrip zeichnen lassen.
device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 3);
Daraufhin zeichnet er mir jedoch ein Viereck (sprich zwei Dreiecke) !
Mach ich das ganze nur mit 2 Vertices und entsprechend
device.DrawPrimitives(PrimitiveType.TriangleStrip, 0, 2);
...dann zeichnet er mir ein Dreieck, da er augenscheinlich das erste Dreieck des Strips nicht (wie ich es wil) aus den ersten drei verts macht die ich ihm gebe (bei 2 verst würde entsprechen nichtmal ein Dreieck entstehen), sondern aus dem Koordinatenursprung und den ersten 2 verts die ich ihm gebe. Deshalb macht er dann aus 3 verst auch schon 2 Dreiecke.
Wie kann ich ihm das ausreden. Sprich, dass er wirklich nur die verst nimmt und nicht noch den Koordinatenursprung ?
Zuletzt bearbeitet: