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 Vertexshader

    Material
    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 reichen

    Jetzt 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.


Anmelden zum Antworten