Tiefensortierung für Blending



  • joar als das ewige Leid mit dem Alphablending.
    Ich habe meine Objekte schon getrennet nach solide/transparent.

    Nun hat wer gescheite Algorithmen zur Tiefensortierung? Mein erster Gedanke war der geometrische Schwerpunkt. Aber da gibts dann ja auch wieder einige Fälle, wo das schiefgeht.
    Hat da wer mehr Infos zu?

    MfG Pellaeon


  • Mod

    bsp-trees. mehrere indizierungen und je nach lage vom eyepoint zum objekt das beste nehmen.oder eben nach einem punkt pro trianglesuppe sortieren, da dürfte jeder punkt gleich schlecht sein.



  • BSP-Baum würde mich mal interessieren, Hast du da nen guten Link zu wo das anschaulich erklärt ist?
    Ansonsten werd ich mal weiter googlen ob ich was finden wo man das auch gut versteht^^


  • Mod



  • BSP-Trees eignen sich doch NUR für Indoor Szenen, oder?
    Ich hab das bis jetzt immer sehr simpel gemacht: Sortierung aller Objekte in Abhängigkeit ihrer Entfernung zum Eye Point; bei Überlappungen und gewünschter Genauigkeit weitere Sortierung der Dreiecke.


  • Mod

    interpreter schrieb:

    BSP-Trees eignen sich doch NUR für Indoor Szenen, oder?

    man kann es auch benutzen um zb das laub eines baumes zu sortieren.

    interpreter schrieb:

    Ich hab das bis jetzt immer sehr simpel gemacht: Sortierung aller Objekte in Abhängigkeit ihrer Entfernung zum Eye Point; bei Überlappungen und gewünschter Genauigkeit weitere Sortierung der Dreiecke.

    zwei objekte ineinander sortieren kann ganz schön auf die performance drücken.

    ne wirklich zufriedenstellende möglichkeit gibt es da nicht.



  • Mit dem Alphatest kann man ein perfektes Ergebnis bekommen. Der macht aber nur dann Sinn wenn es keine halbtransparenten Stellen gibt.



  • 0x00000001 schrieb:

    Mit dem Alphatest kann man ein perfektes Ergebnis bekommen. Der macht aber nur dann Sinn wenn es keine halbtransparenten Stellen gibt.

    Was meinst du jetzt genau damit?

    Hat wer das Buch Gems I?Da drinnen die Methode 3 zum Blending habe ich probiert aber die stimmt irgendwie nicht. Hat das mal wer hinbekommen, evtl. ist da auch ein Übersetzungsfehler drinnen weil ich habe die deutsche Version des Buches?

    ach ja ich mache das ganze in OpenGL.



  • 0x00000001 schrieb:

    Mit dem Alphatest kann man ein perfektes Ergebnis bekommen. Der macht aber nur dann Sinn wenn es keine halbtransparenten Stellen gibt.

    "Perfekt" ist allerdings schon ein bisschen übertrieben. Selbst wenn du Texturen hast, die vollständig transparent und opak sind, werden sie an den Ränder verwaschen und halbtransparent, es sei denn du arbeitest wirklich völlig ohne Filter.


  • Mod

    Optimizer schrieb:

    "Perfekt" ist allerdings schon ein bisschen übertrieben. Selbst wenn du Texturen hast, die vollständig transparent und opak sind, werden sie an den Ränder verwaschen und halbtransparent, es sei denn du arbeitest wirklich völlig ohne Filter.

    nein, bei alphatest wird nichts halbtransparent, das ist nicht möglich, da anhand des alphawertes nur entschieden wird ob ein pixel gezeichnet wird oder nicht. man müßte alphablend zuschalten damit halbtransparenz mölich ist.



  • Wie kann ich denn in OpenGL mir den aktuell gesetzten Blickpunkt(oder eye-point wem das besser gefällt) auslesen? Mir wurde schon gesagt aus der Modellview-Matrix, aber da scheint er nicht 1 zu 1 drinne zu stehen? Hat da wer Ahnung von wie das geht?
    Weil ich brauche ja den Blickpunkt, wenn ich nach Tiefe sortieren möchte.


Anmelden zum Antworten