GL Blending
← GL Over-Operator | ● | Tiefenordnung →
Blending: Vermischung von Fragmentfarbe mit Framebuffer → Per-Pixel Operation
- erste Mischfarbe ist Farbe des aktuell rasterisierten Fragments
- zweite Mischfarbe ist Farbe des korrespondierenden Pixels im Framebuffer
- Interpolationsgewicht ist üblicherweise der Alpha Kanal des Fragments
Allgemeiner OpenGL Blending-Operator:
RGB′frame=FactorSRCRGBfragment×BlendFactorDSTRGBframe
Auswahl von FactorSRC (Fragment) und FactorDST (Framebuffer) aus:
GL_ONE
GL_ZERO
GL_SRC_ALPHA
GL_DST_ALPHA
GL_ONE_MINUS_SRC_ALPHA
GL_ONE_MINUS_DST_ALPHA
mit
Auswahl von Operator ×Blend aus:
GL_FUNC_ADD (standard)
GL_FUNC_SUB
GL_MIN_EXT
GL_MAX_EXT
mit
Over-Operator mit Blending:
RGB′frame=AfragmentRGBfragment+(1−Afragment)RGBframe
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
Maximum Operator mit Blending:
Berechnet das kanalweise Maximum von Fragment- und Framebuffer-Farbe.
RGB′frame=max(RGBfragment,RGBframe)
glBlendEquation(GL_MAX_EXT);
glEnable(GL_BLEND);
← GL Over-Operator | ● | Tiefenordnung →