geht es irgendwie, das man ALLES mit GL_BLEND zeichnet...?
Also, das es wenn ich den Alpha-Wert bei der Farbe auf 1 setzte es genauso aussieht als wäre GL_BLEND ausgeschaltet, und sobald ich den AlphaWert ändere halt dieses Objekt transparent wird..?
Ich hab recht viel rumprobiert eben, aber so ganz klappen will es nicht
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Wie ist den die Blending-Funktion die du verwendest? Hört sichb für mich nicht so an, als würde dann der Alpha-Wert auch wirklich verwendet werden (oh no, not more blending problems today 8O )
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Mo Mai 06, 2002 20:27 Beiträge: 479 Wohnort: Bremen
mach mal folgendes: setzt den alpha-wert so wie beim 2 screenshot (war das wirklich 1 wie du geschrieben hast? nicht 0?) und schalte dann den Tiefenpuffer ein. Dann solltest du feststellen, das das Blending nicht das Problem ist, sondern der fehlende Tiefenpuffer. Es scheint nämlich gar nix durch, stattdessen werden hintenliegende Flächen über davorliegende Gezeichnet. Beim vollen Blending nicht schlimm - in anderen Fall aber schon.
Das Kreuz hat jetzt nen AlphaWert von 0,25... wird an und für sich auch richtig gezeichnet... nur jetzt schimmert der dahinterliegende Torus nichtmehr durch.. *g*
Den Tiefentest hab ich dabei diesmal nicht abgeschaltet..
Selbst wenn ich das Kreuz als letztes zeichne.. nehmen wir mal an das beide Objekte einen Alpha-Wert von 0,5 haben.
Jetzt render ich zuerst den Torus dann das Kreuz, dann kann man durch das Kreuz hindurch den Torus sehen, wenn ich nun aber in meiner Szene rumlaufe und aus richtung des Torus' auf das Kreuz schaue, verdeckt dieser das Kreuz...
kann man da nichts gegen machen??? muß doch irgendwie gehen *seufzt*
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Zitat:
Jetzt render ich zuerst den Torus dann das Kreuz, dann kann man durch das Kreuz hindurch den Torus sehen, wenn ich nun aber in meiner Szene rumlaufe und aus richtung des Torus' auf das Kreuz schaue, verdeckt dieser das Kreuz...
kann man da nichts gegen machen??? muß doch irgendwie gehen *seufzt*
Nein...da kann man OpenGL-technisch nix dagegen machen.Blending läuft auf Pixelebene und nicht wie z.B. Alpha-Testing auf Fragmentebene ab.
Du musst deine Objekte halt anhand ihres Z-Pufferwertes von Hand sortieren, und zwar von hinten nach vorne (nennt sich Depth-Sorting und wird u.a. bei BSP-Bäumen verwendet, die deshalb auch keine Probs mit Blending haben)...eine andere Möglichkeit gibt es nicht!
Registriert: Mo Mai 06, 2002 10:50 Beiträge: 42 Wohnort: [Auch diese Steine können Sie klauen...]
Hi Aya,
vielleicht gibt es doch noch eine relativ einfache Lösung für dich. Die Lösung nennt sich PolygonStipple. Sieht zwar nicht super aus, kostet dich dafür aber 0(!) Performance.
Prinzip ist folgendes: Bevor du deinen Torus renderst, aktiviere das PolygonStippling. Nehme dafür eine Halftone-Mask, oder je nach Geschmack auch ein bisschen durchlässiger (sieht dann aber nicht mehr so toll aus. Außerdem solltest du bedenken, dass sich PolygonStippling auch auf die Lichtverhältnisse auswirkt, je mehr Durchlass, desto weniger hell scheint das Objekt).
Nach dem Rendern des Torus deaktivierst du das PolygonStippling wieder.
Objekte, die mit oder ohne Blending gerendert wurden, scheinen jetzt durch, da ja nur jeder 2.Punkt (bei einer HalftoneMask) gezeichnet wird.
Das schöne ist dabei, dass die Z-Order keine Rolle mehr spielt.
Der Nachteil ist aber, dass es bei deinem Torus sein kann, dass dummerweise die vordere und hintere Seite sich vollkommen überdecken. Die Halftone-Mask ergänzt sich dann quasi zu einer "FullToneMak", und der Effekt ist hinüber.
Ich habe das aber eben mit einem texturierten Cube ausprobiert und das hat hervorragend geklappt. Vielleicht klappt es ja bei dir auch.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.