La plupart des compilateurs vous fournissent un en-tête OpenGL qui prend en charge OpenGL 1.1, mais la plupart des fonctions fournies dans cette version d'OpenGL sont obsolètes depuis longtemps et manquent de fonctionnalités importantes telles que les shaders et les objets de tampon de vertex. GLEW est fondamentalement juste un en-tête (il existe un fichier source qui doit également être compilé, mais vous pouvez simplement l'inclure dans votre projet) qui fournit des fonctionnalités OpenGL plus récentes.
Qu'est-ce que cela signifie par extension?
Voici un lien d'OpenGL.org à leur sujet. Ce ne sont que des fonctions supplémentaires pour OpenGL qui ne font pas partie d'OpenGL. Ils fournissent des fonctionnalités qui peuvent être utiles, mais vous ne pouvez pas garantir qu'ils fonctionneront sur tous les ordinateurs car ils ne font pas partie du noyau OpenGL.
Que signifie charger des pointeurs vers des fonctions OpenGL?
OpenGL est implémenté par le pilote graphique comme un ensemble de fonctions implémentées conformément aux spécifications, et non comme une bibliothèque autonome, ne peut donc pas être simplement lié à votre projet.
Vous devez appeler une fonction (telle que GetProcAddress, mais cela dépend de la plate-forme pour laquelle vous développez) pour obtenir le pointeur de fonction au moment de l'exécution à partir du pilote pour chaque fonction OpenGL.
GLEW existe parce que cela peut être très difficile. C'est beaucoup plus facile lorsque vous pouvez simplement inclure un en-tête et appeler une fonction lors de l'initialisation, ce qui est exactement ce que fait GLEW. De plus, GLEW est multiplateforme.
Qu'est-ce que cela signifie par "core aussi bien que par extensions"?
Cela signifie qu'il fournit des fonctions OpenGL ainsi que des extensions OpenGL.