Erstmal vielen Dank euch allen für die Links und Tipps. Ich hab jetzt (dank der Tutorials von delphigl.com) eine Möglichkeit gefunden, korrekt zu blenden:
Zitat Zitat von delphigl.com
[...]sehen wir zwei sich überlappende Lichtquellen mit einem normalerweise verwendetem Tiefentest (GL_LEQUAL oder GL_LESS). Das die grüne Lichtquelle die zweite verdeckt ist reiner Zufall und liegt wohl daran das diese als erstes gerendert wurde. Wie oben gesagt (vereinfacht) steht dann im Z-Puffer drin das an dieser Stelle (des grünen Lichtes) bereits ein Objekt im Z-Puffer liegt. Danach wird dann irgendwann die zweite (blaue) Lichtquelle gerendert, aber die Stellen an denen bereits steht das dort im Z-Puffer ein Fragment liegt werden nicht mehr gerendert, aufgrund des Tiefentests. Das zweite Bild ist hingegen korrekt, einzig der Tiefentest wurde auf GL_ALWAYS umgestellt. Dann werden die mit der Lichttextur belegten Quads immer gezeichnet, egal ob sich an der Z-Position bereits ein Fragment befindet oder nicht, und bei Lichtquellen ist das reichlich egal welche zuerst gerendert wird. Denn ob ich jetzt Blau mit Grün addiere, oder Grün mit Blau ist egal, denn beides ergibt im Ende Türkis. Das dürfte dann hoffentlich verstanden worden sein, wenn nicht dann einfach mal das Beispielprogramm öffnen und den Tiefetest wie hier angesprochen ändern; Probieren geht je bekannter weise meist über Studieren.

Abschließend auch noch kurz zum verwendeten Blendmodus :

glBlendFunc(GL_ONE, GL_ONE);

Wer sich schon mal ein wenig mit dem Thema Blending beschäftigt hat, wird schnell erkennen was hier abläuft. Sowohl der Quellfaktor als auch der Zielfaktor stehen auf GL_ONE, was bedeutet das bei unserer Blendoperation die bereits im Framepuffer befindliche Farbe mit der Farbe unseres Lichtes addiert wird (additives Blending genannt). Bei einer grünen Lichtquelle haben wir in der Mitte also RGB = 0/1/0 und wenn wir das dann auf einen Pixel legen würden der halb grau ist (RGB = 0,5/0,5/0,5) hätten wir als Ergebnis RGB = 0,5/1/0,5 (1+0,5 ist eigentlich 1,5 , aber OpenGL zwängt Farbwerte in den Bereich 0..1).
Wenn ich das korrekt verstanden habe, bedeutet das also einfach, dass mit einer verwendeten Einstellung "glDepthFunc(GL_LEQUAL)" nur das zuerst gerenderte Objekt geblendet wurde und das 2te nicht mehr (weil an dieser Stelle bereits das erste Objekt liegt). Mit der Modie "glDepthFunc(GL_ALWAYS)" funktioniert es dann korrekt und überblendet so wie es soll. Hat also indirekt doch etwas mit der Tiefe (Tiefenbuffer und was zuerst gezeichnet wird) zu tun. Dank dir MagicMagor, die empfohlene Seite hat mir besonders in diesem Problemfall sehr weitergeholfen.