-
Récupérer l'objet cliqué
Bonjour.
Etant nouveau dans le monde d'OpenGL, et comme Qt/3D ne fait pas encore parti du SDK, j'ai décidé de réimplémenter moi-même un petit moteur 3D (juste pour afficher des trucs et se déplacer autour, c'est tout). Toutefois, un grand mystère pour moi c'est la détection de ce qui est sous la souris.
Actuellement, j'affiche des objets par un widget hérité de QGLWidget, et je gère les mouvements à la souris et au clavier par ce même widget + une classe perso "camera" (qui contient en gros la position de la caméra et permet de calculer différents QVector3D contenant les infos sur son orientation etc...). La question que je me pose maintenant est la suivante, comment détecter ce qui est "sous le pointeur de ma souris" dans le QGLWidget ? (par exemple pour sélectionner l'un des objets rendu par le QGLWidget)
Merci ;)
-
Bonjour
Ce que tu recherches à faire s'appelle du picking. Il existe plusieurs techniques mais il n'y a rien de spécifique à Qt (dans Qt3D, il existe une classe QGLPickNode, tu peux regarder comment ils font) : c'est géré uniquement côté OpenGL. Une recherche sur le forum OpenGL devrait t'aider.