Bonjour,

J'utilise OpenGL pour faire de l'affichage en 2D. J'ai remarqué que si j'affichais des quads, disons A, B et C, dans cet ordre, alors A apparaissait devant B qui lui même sera devant C (comme si ça passait par un tampon FILO avant l'affichage). Juisque là pas de problèmes.

Maintenant il s'avère que je voudrais appliquer un effet visuel lorsque A et B sont à l'écran, puis dessiner C sans qu'il subisse l'effet. Actuellement ça donne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Afficher A,
Afficher B,
glReadPixels(),
appliquer l'effet
afficher un quad plein écran avec le résultat de l'effet,
afficher C
Le problème est que C se trouve derrière le quad plein écran. Alors pour l'exemple je pourrais inverser les deux dernières instructions ; mais dans la vrai vie, où il peut y avoir des effets un peu n'importe quand et qu'il y a plus de 3 quads affichés, c'est plus difficile.

Ainsi je vous demande, existe-t-il un moyen d'imposer de mettre C devant le quad de l'effet, sans avoir recours à la troisième dimension ? (demander un comportement FIFO par exemple)

Merci.