[OpenGL] Blending und Transparenz



  • Hi,

    ich möchte mit OpenGL vor einem Hintergrund Objekte darstellen, die nur aus einem farbigen Quad und einer S/W-Textur bestehen. Allerdings sollen die schwarzen Bereiche der Texture transparent vor dem Hintergrund dargestellt werden. Ich hab im Netz mal einen Artikel dazu gelesen, find den Link aber nicht mehr.

    Habt ihr eine Idee?

    Grüße,
    don_basto.



  • Dazu brauchst du einen Alpha-Kanal in der Textur.
    Dort maskierst du die Bereiche, die später durchsichtig sein sollen.
    Wenn du keinen Übergang zwischen voll sichtbar (255) und völlig transparent (0) haben willst, dann schalte Alpha-Blending ab und stattdessen Alpha-Testing ein.



  • Es soll ein Übergang zwischen "Ganz" und "Gar Nicht" geben. Ich probier gerade mit den Blending-Parametern rum und staune. 😉

    Das Problem ist, dass meine Textur bzw. das Bitmap bisher keine Alpha-Werte besitzt. Gibt's ein freies Win-Tool mit dem man das machen kann?

    An sich könnte ich die Texture auch als Maske nutzen, da sie nur aus Grautönen besteht und die Farbwerte eines Pixels gleich sind. Der selbe Wert braucht ja nur noch in den Alpha-Kanal. Vllt gibt's ja dafür einen Weg?

    Da ich die Texture aber auf ein farbige Quad "GL_MODULATE", ist GL_SRC_COLOR nicht mehr ganz korrekt. Werd noch ein bissl mit der Blendfkt. spielen.

    Grüße,
    don_basto.


Anmelden zum Antworten