glBlendFunc
-
Hi,
ich moechte gern Schrift auf den Bildschirm bringen (OpenGl). Das funktioniert auch. Allerdings habe ich so meine Probleme mit Farben.
Ich habe zwei Formate, in denen die Schrift vorliegt: als Bitmap (also wirklich Bit-Map -> jedes Bit ein Pixel; Zeichnen durch glBitmap) und Byte-Array (-> ein einzelner Alpha-Kanal; Zeichnen durch glDrawPixels).
Bei ersterem kann ich vor dem eigentlichen Zeichnen einfach glColor aufrufen und die Schrift erscheint in der korrekten Farbe (glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)).
Bei letzterem funktioniert das nicht. Ich bin mir relativ sicher, dass ich die Schrift dennoch irgendwie mit Hilfe von Blending farbig gestalten kann, ich scheitere nur an den richtigen Parametern fuer glBlendFunc. Kann mir jemand auf die Spruenge helfen?Danke.
-
Das was aus Deinem "Byte-Array" gelesen wird entspricht in der Pipeline-Hierarchie dem Output des Pixelshaders. Danach kommt nur noch Fogging und Blending. Im Blending ist keine zusaetzliche Farbe vorgesehen, also bleibt nur das Fogging. Dafuer musst Du Z-RasterPos so waehlen, dass das Fogging dort die gewuenschte Farbe liefert.
Reichlich umstaendlich...
-
Aber wieso funktioniert es dann bei Bitmaps? Was genau ist da anders?
Wenn es so kompliziert ist, kann ich es auch vorher einfaerben - dachte nur das wuerde einfach mit Blending gehen.