Bonjour,
Je développe une application opengl qui nécessite le codage d'un fonction de selection de primitive à la souris rapide. Les maillages affichés sont de l'ordre de la centaine de milliers de triangles.
J'ai déja expérimenté le picking (glRenderMode(GL_SELECT)) sans succés : fonctionne mais trop lentement pour de gros objets.
J'ai ensuite expérimenté le système par index de couleur qui fonctionne déja bcp plus rapidement mais pas encore suffisament.
Ma question : Pour accélerer la selection en mode index couleur, je désirerai stoquer l'image en mode index couleur pour pouvoir effectuer des tests de couleur (glReadPixel par ex) sans devoir re-renderiser à chaque click de souris (oui j'ai besoin de quelque chose de TRES rapide). Je m'explique mieux : apres un rendu en mode index couleur de mon maillage, je désirerai stoquer l'image obtenue dans un buffer et effectuer mes tests de selection sur ce buffer (et non sur le tampon écran). Quelle est la méthode la plus efficace pour faire cela, est-ce qu'un "glReadPixel de toute la surface écran" est la seule solution ? (je n'aime pas car il y a un transfert mem video -> mem vive qui est plutot lent)
Deuxième question : J'ai entendu parler de "layers" par ami. Selon lui il s'agirai d'un bibliothèque externe qui permettrai de faire du rendu par couche. (Tres utile pour re-afficher seulement les primitives qui viennent d'etres selectionnées par un glissement + click de souris par exemple). Quelqu'un connaitrait-il cette lib ?
Merci par avance.
Rémi.
Partager