Wenn ich meine OpenGL-Ausgabe optimieren möchte, dann sollte auf jeden Fall mal das Backface-Culling eingeschaltet werden. Die nächste Stufe der Optimierung wäre dann Triangle-Strips. Nur gibt es da mit dem Culling ein kleines Problem: Bei Triangle-Strips (aber auch bei Quad-Strips) ändert sich die Reihenfolge in welcher die Vertex-Daten verwendet werden von CW auf CCW auf CW auf CCW ...
Sehe ich das richtig, dass bei Strips eben auf das Culling verzichtet werden muss oder gibt es noch eine andere Möglichkeit das ganze unter einen Hut zu bringen? (Wenn man auf die Normalen verzichten will?)
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Bei Triangle Strips wird die Reihenfolge der Punkte der Dreiecke immer im Wechsel automatisch vertauscht, weil das ja sonst wie schon gesagt, mit dem Culling nicht funktionieren würde.
Stimmt, funktioniert ja auch nicht Wenn ich das Backface-Culling verwende (mit Triangle-Strips), wird das erste Dreieck, welches ich im Uhrzeiger-Sinn erstelle dargestellt. Das 2. Nicht mehr. ODer täusch ich mich da? Ich werd's nochmal ausprobieren...
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ich war mir jetzt auch nicht ganz sicher ob ich das schon mal gemacht hatte oder nicht. Deswegen habe ich das gerade mal ausprobiert. Bei einem Triangle Strip richtet sich das Culling nach dem ersten gezeichneten Dreieck. Sei mal dahingestellt auf welche Art und Weise dies geschieht. Es spielt auch keine Rolle woher der Strip kommt. (ARB_VBO, ATI_VAO, VA, DL, Itterativ)
Allerdings macht es auf meiner Radeon 9500 Pro keinen Geschwindigkeitsunterschied ob Culling oder aus ist.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Lossy eX hat geschrieben:
Allerdings macht es auf meiner Radeon 9500 Pro keinen Geschwindigkeitsunterschied ob Culling oder aus ist.
Das kommt definitiv auf die Szenenkomplexität an, und besonders bei aufwendigeren Szenen bringt das schon was, erst recht wenn man die Szene per OpenGL-Licht beleuchtet. In BeanMachine bringt Backfaceculling auf meiner R9700 in jeder Szene nen dicken Performanceschub.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Okay. Beleuchtung kann ich nachvollziehen. Das andere glaube ich dir mal. Aber mein Test (eine Fläche mit 768x768x2 Dreiecken) ist auch ein wenig sehr Praxisfern.
Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.