Picking par marquage coloré
On redessine la scène dans le back-buffer, en utilisant une couleur par objet
Utiliser
glColor3ub()
, en encodant le nom de l'objet ou la hiérarchie d'objets dans la couleur
Attention aux possibilité hardware, notamment profondeur des buffers (8 bits par couleur = 24 bits par identifiant)
"Partitionner" les bits pour gérer la hiérarchie
Désactiver texturing, blending, dithering, lighting et smooth shading
On lit l'identifiant sous le curseur par
glReadPixels()
Attention aux manipulations sur les front- et back-buffers.
Avantages
Un seul identifiant par point : l'objet le plus proche
Rapide
Frédéric Devernay