Jour faste, je sors de vieilles choses ...
Montre un exemple d'occlusion query.
Une lampe jaune se situe au milieu de l'écran, 2 carrés passent devant. La lampe émet un halo bleuté.
Remarque : tiens tiens tiens ça serait-il pas marrant que la taille du halo dépende du pourcentage de la lampe que l'on voit ?
Question : ben comment on fééé ?
Réponse : occlusion query. On dessine le monde, la map, tout ce que vous voulez ( ici les 2 carrés ). Puis on active le query via les extensions, on dessine la lampe et openGL va nous dire combien de pixels(cf *) ont été dessinés. on en déduit la taille du halo: plus il y a de pixels, plus le halo est grand.
Nota1 : la carte graphique doit le supporter, je n'ai pas mis de code de remplacement pour gérer les cartes graphiques ne supportant pas cette extension, somme toute assez ancienne
Nota2 : L'interface visuelle est plus que rudimentaire, ce qui est intéressant c'est le code.
Nota3 : Généralisable à un monde de 1 000 000 de polygones avec 10 000 lampes en 2 temps 3 mouvements.