Qu'est-ce qu'une sphère OpenGL®?

Une sphère de bibliothèque graphique ouverte (OpenGL®), au niveau le plus élémentaire, est un objet tridimensionnel (3D) composé d'une série de triangles ou quadrilatères dont les sommets sont tous équidistants à partir d'un point central. Cela signifie que, lorsqu'une sphère OpenGL® est vue sous n'importe quel angle, le contour apparaît comme un cercle parfait pour le spectateur, bien que l'éclairage et l'ombrage puissent donner au volume une apparence plus semblable à une balle. Le nombre de sommets utilisés pour créer une sphère OpenGL® détermine la douceur de l'objet dans son approximation d'une sphère réelle, avec moins de 12 points créant un objet qui ne peut pas être considéré comme une sphère. Même si une sphère est considérée comme une forme primitive dans de nombreuses applications et bibliothèques graphiques, OpenGL® n'a pas de fonctionnalité innée pour rendre une sphère, ce qui signifie que des boîtes à outils supplémentaires telles que la boîte à outils Utilitaire OpenGL® (glut) doivent être utilisées pour éviter d'écrire de code pour générer manuellement la forme.

lorsque le VERTIces dans OpenGL®, le moins de points qui peuvent être utilisés pour générer une sphère avec un certain degré de douceur est de 12, créant un objet avec 20 faces triangulaires connues sous le nom d'icosaèdre. Sans davantage de traitement, une sphère OpenGL® construite de cette manière aura des coins nets visibles sur les bords, ce qui pourrait être acceptable pour certaines applications. Pour atteindre une sphère plus arrondie, chaque visage doit être encore subdivisé.

Subdividant un icosaèdre pour augmenter le nombre de sommets qu'il contient et former une sphère OpenGL® plus lisse implique la création de nouveaux sommets au centre de chaque bord de chaque triangle existant. Cela signifie que chaque visage triangulaire contiendra désormais quatre triangles. La subdivision peut se poursuivre autant que nécessaire, bien que l'ajout de points de façon exponentielle puisse rapidement créer un objet qui a un temps de rendu élevé et peut devenir lourd à traduire.

malgré SOME des commodités mathématiques qu'une sphère OpenGL® fournit pour les programmeurs, tels que les normales de surface qui peuvent être facilement calculées à partir des coordonnées du sommet, la texture d'une sphère peut présenter certaines complexités. L'utilisation d'une texture bidimensionnelle (2D) standard projetée sur la sphère signifie que les zones supérieures et inférieures de l'image de texture deviendront compressées, car la forme des triangles près des pôles de la sphère est elles-mêmes compressées. Pour surmonter cela, la cartographie cube pourrait être utilisée ou le programmeur pourrait générer les coordonnées de texture manuellement pour l'objet.

Un facteur doit être noté sur l'utilisation d'une bibliothèque utilitaire pour générer une sphère OpenGL®. Une sphère générée par GLUT ou des kits d'outils similaires peut parfois être difficile à modifier, optimiser et gérer dans OpenGL® lui-même. Pour cette raison, il est parfois avantageux d'utiliser du code écrit personnalisé pour générer une sphère OpenGL® afin qu'elle soit créée et peut être utilisée de la manière la plus efficace possible WIthin the Program.

DANS D'AUTRES LANGUES