J'utilise un objet framebuffer séparé pour la sélection de couleur des objets 2d dans opengl. Je suis curieux de savoir s'il est possible de dessiner uniquement sur le framebuffer et lire la couleur en cas de besoin. Ce que je fais maintenant est dans la boucle de rendu principale. Je dessine la scène dans le framebuffer principal et restitue ensuite les objets sélectionnables au framebuffer "picking". Lorsque l'utilisateur clique sur la souris, il lie le framebuffer "picking" et lit le pixel et je sais quel objet est sélectionné. le problème avec ceci est que je n'ai besoin que du "frameing" tampon de sélection lorsqu'un utilisateur clique sur la souris, ce qui fait que chaque image est inefficace. J'ai essayé de rendre le framebuffer "picking" lorsque l'utilisateur clique sur la souris et ensuite lire directement mais tout ce que je reçois est blanc (la couleur de fond et non la couleur pour me dire quel objet il est). dessiner le framebuffer "picking" montre juste tout le blanc comme si rien ne lui était réellement rendu. Ai-je besoin d'arrêter de dessiner dans la boucle principale tout en rendant le framebuffer "picking"? ou est-ce qu'il manque quelque chose qui rendrait cela possible?est-il possible de rendre à l'objet framebuffer en dehors de la boucle de rendu principale
EDIT: J'ai essayé de ne pas dessiner dans la boucle principale pendant le rendu au framebuffer picking et cela n'a pas fonctionné non plus.
Avez-vous 'glFlush()' entre votre dessin et votre lecture? – genpfault
je fais. Je pense que la réponse «Non» pourrait être la bonne. – cuatro
Faites-vous cela en même temps? – tibur