Skip to main content

Qu'est-ce que OpenGL Cueillette?

OpenGL La sélection dans la programmation informatique est le processus de détermination de l'objet dans une scène en trois dimensions (3D) située à un point donné de l'écran une fois la scène rendue.Il peut également se référer à la localisation de plusieurs objets à un point ou à l'intérieur d'une boîte.Le plus souvent, OpenGL La sélection est utilisée pour déterminer quel objet 3D à l'écran qu'un utilisateur tente de sélectionner avec un curseur de souris.Bien que cette opération puisse sembler simple, il existe plusieurs subtilités dans la façon dont OpenGL rend une scène qui peut la rendre assez complexe.De plus, il existe des problèmes intrinsèques dans certaines cartes graphiques et conducteurs qui peuvent provoquer l'OpenGL Choisir la fonction pour échouer et renvoyer de faux résultats.

Lorsqu'un utilisateur regarde une scène 3D sur un moniteur d'ordinateur, l'image résultante est connue comme un rendu de la scène.La scène est en fait stockée en mémoire comme une collection de formes ou de polygones primitifs, qui ne sont eux-mêmes que des collections de points 3D dans l'espace de la scène.L'ordinateur utilise des coordonnées mondiales, qui sont parfois appelées coordonnées absolues, pour remplir la plupart des fonctions de base qui manipulent des objets dans la scène.Dans la plupart des applications, l'utilisateur est capable de manœuvrer la vue de la scène sous différents angles afin que les objets puissent être vus dans différentes perspectives.L'emplacement virtuel de l'utilisateur dans la scène est appelé l'angle de la caméra ou la position de la caméra.

La complexité d'OpenGl La cueillette provient de la détermination de l'emplacement de la souris sur l'écran bidimensionnel (2D) à partir d'une position et d'un angle éventuellement arbitraires dans la scène, la position de la caméra.De plus, comme le rendu du point de vue du spectateur humain est vraiment 2D, il n'y a aucun moyen pour l'utilisateur de fournir la profondeur du clic de la souris à l'intérieur de la scène.The OpenGl La fonction de sélection résout ce problème complexe de deux manières.fait lorsque normalement fonctionne, à l'exception que le rendu utilisé pour la sélection n'est pas affiché, il n'est utilisé que pour calculer les positions correctes des objets.La différence est que, au lieu de rendre toute la zone qui serait visible pour l'utilisateur, il ne fait que la zone où se trouve la souris.Cela signifie que tous les objets rendus sont techniquement au point où le pointeur de souris est situé.

Le deuxième problème, à savoir n'ayant aucun moyen d'indiquer la profondeur d'une zone sélectionnée, est résolu en renvoyant tous les objets qui sont sous les coordonnées de la souris dans lescène.The OpenGl La fonction de sélection renvoie tous les objets dans un tableau ainsi que la distance à laquelle ils sont de l'emplacement du spectateur.Cela permet à un programme de trouver rapidement l'objet le plus proche si vous le souhaitez.

Une façon de visualiser OpenGL La sélection est d'imaginer une ligne, parfois appelée un rayon en programmation 3D, en passant de l'emplacement du pointeur de la souris dans la scène et loin de l'emplacement du spectateur.Chaque objet que ce rayon touche est ajouté à un tableau d'objets, ainsi que de la distance de la visionneuse.Ceci est une explication très simple de la façon dont une forme d'OpenGl Picking Works.

Une autre méthode de sélection d'objets dans OpenGL implique de localiser un objet par couleur, et il peut être considérablement plus rapide.Cette méthode rend la scène mais, au lieu d'appliquer l'éclairage et la texture aux objets, ils sont plutôt rendus avec une seule couleur simple.Chaque objet ou groupe d'objets a sa propre couleur distincte.La scène n'est rendue qu'en mémoire et n'est pas affichée, ce qui n'affecte pas ce que l'utilisateur voit.Au lieu de chercher des collisions 3D entre les objets, la couleur en position du curseur de la souris est renvoyée à la place, et cette couleur sera en corrélation avec un objet spécifique.