prev up next


Aufgabe 8.4 (10 Punkte)

Wir betrachten uns einen bestimmtem Pixel auf dem Bildschirm. Folgender Ablauf von Ereignissen findet statt.

  1. glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR);
  2. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); (Der $z$-Wert wird auf $1$ und die Farbe auf $\left(0,0,0,1\right)$ gesetzt.)
  3. glDisable(GL_BLEND);
  4. glEnable(GL_DEPTH_TEST);
  5. Drawaufruf erzeugt Fragment $\left(z=0.6,\, r=1.0,\, g=0.5,\, b=0.7,\, a=0.5\right)$.
  6. glEnable(GL_BLEND);
  7. Drawaufruf erzeugt Fragment $\left(z=0.8,\, r=0.8,\, g=0.2,\, b=0.9,\, a=1.0\right)$.
  8. glDisable(GL_DEPTH_TEST);
  9. Drawaufruf erzeugt Fragment $\left(z=0.4,\, r=0.5,\, g=0.5,\, b=0.6,\, a=0.0\right)$.
  10. glEnable(GL_DEPTH_TEST);
  11. Drawaufruf erzeugt Fragment $\left(z=0.2,\, r=0.6,\, g=0.7,\, b=0.8,\, a=1.0\right)$.
  12. glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  13. glDisable(GL_DEPTH_TEST);
  14. glDisable(GL_BLEND);
  15. Drawaufruf erzeugt Fragment $\left(z=0.1,\, r=1.0,\, g=1.0,\, b=0.5,\, a=0.4\right)$.
Welche Werte würde der Pixel (sowohl Farbe, als auch $z$-Wert) jeweils unmittelbar nach den Schritten 5, 7, 9, 11 und 15 haben? Begründen Sie Ihre Antwort und halten Sie die Rechnungen fest.

Bezeichnungen:

Punkt 5 Punkt 7 Punkt 9 Punkt 11 Punkt 15


prev up next