Texturen und Blending
-
Hi,
Ich lade mit einer Funktion eine Bitmap, bei der ich sämtliche schwarzen Pixel mit einem Alpha-Wert von 0.0 belege. Danach versuche ich, durch
glBlendFunc(GL_SRC_ALPHA, GL_ONE); glEnable(GL_BLEND);
diese Stellen auszublenden. Dennoch sind sie, nachdem ich die Textur lade, noch unverändert vorhanden. Woran kann das noch liegen? Normalerweise müsste es funktionieren, frühere Programme funktionierten damit ja auch einwandfrei. Blending wird außerdem nicht wieder disabled, das weiss ich genau
-
Versuchs mal mit der Blendfunc Kombi: (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
ne, geht leider auch nicht.
-
ein screenshot hilft bei solchen fragen ungemein
-
theone schrieb:
Dennoch sind sie, nachdem ich die Textur lade, noch unverändert vorhanden. Woran kann das noch liegen?
Die Blendmodes verändern auch nicht die Textur. Willst du eigentlich die Datei der Textur verändern oder nur deren "Speicherabbild"? Die Datei müsstest du dann auf jeden Fall in einem passenden Format scpeichern wie z.B. tga.
-
Also,
die Datei soll ohne Alpha-Werte bleiben. Deshalb habe ich eine Funktion geschrieben, die einen vierten Farbwert hinzufügt, der 1.0 bei allen Farben ist, jedoch 0.0 bei schwarzer Farbe. Damit kann ich in anderen Programmen einwandfrei die schwarzen Stellen ausblenden, also muss der Fehler im Programm selbst liegen. Alpha-Test ist natürlich auch enabled, usw. (hab sonst ja schon alles gesagt).