Sortierhierarchie
-
Hallo,
ich bin gerade dabei meinen Renderer umzustrukturieren. Bisher habe ich es testweise so gemacht, daß einfach für jedes Licht einmal gerendert wird und das Endergebnis die Summe der einzelnen Schritte ist.
Ich will jetzt aber nicht mehr vorrangig nach Lichtern sortieren, sondern möglichst die Sachen zusammenpacken, die langsam zu wechseln sind.
Von folgenden "Sachen" ist das Rendern abhängig: (dazu jeweils eine Beschreibung und voraussichtliche Anzahl pro frame)Shader
ca. 4-6 Stück pro Frame
für jeden Licht- und Materialtyp ein Paar von Pixel und VertexshaderMaterial
ca 20 pro szene
Zwei Texturen pro Material (später vielleicht mal mehr).
Dazu noch einige Shaderkonstanten, sind aber unwesentlich.Lichter
voraussichtlich 10 pro Frame
Meistens eine Shadowmap mit dabei, + einige Shaderkonstanten (also kein SetLight() )VertexBuffer
durchschnittlich 2 pro Frame, mit beweglichen Objekten wirds mal mehr
Ich kann nicht alle Geometrie in einen Buffer tun, da mir die 2^16 Vertizen pro Level nicht reichenJetzt die Frage:
In welcher Reihenfolge würdet Ihr sortieren? (unter Beachtung der angegebenen Mengen)In der DX Doku steht zB, daß man möglichst den Vertexbuffer nicht switchen sollte.
Daß man nach Textur sortieren sollte ist auch klar. Aber ich kann mich einfach nicht entscheiden in welcher Reihenfolge es nun am besten ist.