Ich implementiere Plakate für Vegetation, wo eine Reklametafel natürlich ein einzelnes Quad ist, das aus zwei Dreiecken besteht. Die Vertex-Daten werden in einem Vertex-Puffer gespeichert, aber sollte ich mich mit Indizes befassen? Ich verstehe, dass die Einsparungen bei Dingen wie Terrain im Hinblick auf die an die Grafikkarte geschickten Scheitelpunkte enorm sein können, wenn man Indizes verwendet, aber das Verwenden von Indizes auf Werbetafeln bedeutet, dass ich 4 Scheitelpunkte pro Quadrupel anstelle von 6 habe, da jedes Quad komplett ist getrennt von den anderen.XNA/DirectX: Sollten Sie immer Indizes verwenden?
Und ist es möglich, dass die Verwendung von Indizes tatsächlich die Leistung verringert, weil es ein zusätzliches Maß an Indirektion gibt? Oder ist das überhaupt nicht von Bedeutung?
Ich frage das, weil die Verwendung von Indizes die Angelegenheit etwas komplizierter machen würde und ich bin neugierig zu wissen, ob ich keine zusätzliche Arbeit mache, die die Dinge nur langsamer macht (ob theoretisch oder tatsächlich in der Praxis wahrnehmbar).
Dies ist mit XNA, sollte aber für DirectX gelten.
Nicht nur das, Sie verwendet (muss wahrscheinlich immer noch) müssen Indexpuffer verwenden, um den Post-Transformation-Cache zu aktivieren, was eine gute Sache ist (tm) –
Ich bin verwirrt von Ihrem Kommentar. Als ich schrieb "Die Ergebnisse des Vertex-Shaders können zwischengespeichert werden, wenn es einen Index gibt, der als Schlüssel verwendet werden kann" ging ich davon aus, dass ich mich auf den Post-Transform-Cache bezog. –