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 :
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.
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
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.
Partager