Hi Aya,
ich muss sagen, das Problem hat mich ganz schön beschäftigt. Sogar so arg, dass ich mich 2 Stunden vor den PC gesetzt und nach einer Lösung gesucht habe. Jetzt funktioniert es, 100%!
1) Vergess alles, was ich bisher gesagt habe, das war nur Spekulation
2) So gehts (hab ich ausprobiert:
- Alle
undurchsichtigen Objekte rendern (mit Depth_Test)
- glDepthMask(False); aufrufen
- Alle
durchsichtigen Objekte rendern (auch mit Depth_Test)
- glDepthMask(True); aufrufen (rückgängig machen)
- Fertig!!!!!!!!!!!
Erklärung:
Zuert alles undurchsichtige rendern, klar. Dann verhinderst du mittels glDepthMask, dass neue Z-Werte gebuffert werden. D.h., es wird nur dann gezeichnet, wenn es von keinen undurchsichtigen Objekten überdeckt wird, durchsichtige sind egal (die sollen ja geblendet werden)... kann ich so schlecht erklären... mach die mal Gedanken darüber... auf jeden Fall funzt's!

AP