2012-04-09 6 views
0

Ich versuche herauszufinden, wie alle grünen Pixel eines Bildes, das ich rendere, zu entfernen. Ich habe bereits im Internet gesucht, aber nichts gefunden, was ich verwenden kann.Android Opengl-es GlAlphaBlend() entfernen grün aus Bild

Ich weiß, ich muss wohl diese Funktion nutzen:

 gl.glEnable(GL10.GL_BLEND); 
    gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 

Wenn ich richtig, wie ändere ich die Farbe zu grün?

Danke für Ihre Hilfe.

Antwort

0

Meinst du, dass Sie eine Textur haben, die grüne Pixel hat, die transparent sein sollten? (Ein Suchbegriff dafür könnte 'Chroma Key' sein)

Wenn ja, gibt es keine triviale Möglichkeit, dies in OpenGL zu aktivieren. Sie haben allerdings zwei Möglichkeiten bekommen:

  • Preprocess das Bild, um alle grünen Pixel, zu ALPHA = 0 Pixel zu konvertieren und dann Alpha-Test zu ermöglichen.
  • Schreiben Sie einen benutzerdefinierten Fragment-Shader, der Fragmente einer bestimmten Farbe zurückweist.