La bibliothèque OpenGL Extension Wrangler (GLEW) est une bibliothèque de chargement d'extensions C/C++ open source multiplateforme. GLEW fournit des mécanismes d'exécution efficaces pour déterminer quelles extensions OpenGL sont prises en charge sur la plate-forme cible. Les fonctionnalités de base et d'extension d'OpenGL sont exposées dans un seul fichier d'en-tête. GLEW a été testé sur divers systèmes d'exploitation, notamment Windows, Linux, Mac OS X, FreeBSD, Irix et Solaris.
http://glew.sourceforge.net/
https://github.com/nigels-com/glew
La version actuelle est la 2.2.0. (Journal des modifications)
Sources disponibles en ZIP ou TGZ.
Binaires Windows pour 32 bits et 64 bits.
Les instantanés peuvent contenir de nouvelles fonctionnalités, des corrections de bugs ou de nouvelles extensions OpenGL avant les versions officielles testées.
glew-20220402.tgz GLEW 2.2.0 - avec correctif pour glCreateProgressFenceNVX
Il est fortement recommandé de créer à partir d'un instantané de version tgz ou zip. Le flux de travail de génération de code est un mélange complexe de gnu make, perl et python, qui fonctionne mieux sous Linux ou Mac. La génération de code est connue pour fonctionner sous Windows en utilisant MSYS2. Pour la plupart des utilisateurs finaux de GLEW, les versions officielles constituent le meilleur choix, avec un support de première classe.
GNU make est historiquement le principal système de construction pour GLEW. Il comprend des cibles pour construire les sources et les en-têtes, à des fins de maintenance.
Debian/Ubuntu/Mint : $ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev
RedHat/CentOS/Fedora : $ sudo yum install libXmu-devel libXi-devel libGL-devel
FreeBSD : # pkg install xorg lang/gcc git cmake gmake bash python perl5
$ make
$ sudo make install
$ make clean
Cibles : all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall
Variables : SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=
Remarque : vous devrez peut-être d'abord appeler make
dans le dossier auto .
$ sudo apt install libegl1-mesa-dev
$ make SYSTEM=linux-egl
$ sudo apt install libosmesa-dev
$ make SYSTEM=linux-osmesa
$ sudo apt install mingw-w64
$ make SYSTEM=linux-mingw32
$ make SYSTEM=linux-mingw64
La version cmake est principalement maintenue par les contributeurs. En raison de la multitude de cas d’utilisation, cela est maintenu au mieux . Les demandes de tirage sont les bienvenues.
CMake 3.16 ou supérieur est requis.
Debian/Ubuntu/Mint : $ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git
RedHat/CentOS/Fedora : $ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git
$ cd build
$ cmake ./cmake
$ make -j4
Cible | Description |
---|---|
lueur | Créez la bibliothèque partagée Glew. |
glew_s | Construisez la bibliothèque statique Glew. |
glewinfo | Créez l'exécutable glewinfo (nécessite que BUILD_UTILS soit ON ). |
info visuelle | Créez l'exécutable visualinfo (nécessite que BUILD_UTILS soit ON ). |
installer | Installez toutes les cibles activées dans CMAKE_INSTALL_PREFIX . |
faire le ménage | Nettoyez les artefacts de construction. |
tous | Créez toutes les cibles activées (cible par défaut). |
Variables | Description |
---|---|
CONSTRUIRE_UTILS | Créez les exécutables glewinfo et visualinfo . |
GLEW_REGAL | Construisez en mode Regal. |
GLEW_OSMESA | Construisez en mode Mesa hors écran. |
BUILD_FRAMEWORK | Construire en tant que framework MacOSX. Il est recommandé de définir CMAKE_INSTALL_PREFIX sur /Library/Frameworks . |
Utilisez le fichier de projet Visual Studio fourni dans build/vc15/
Des projets pour vc6, vc10, vc12 et vc14 sont également fournis
Disponible chez Mingw
Exigences : bash, make, gcc
$ mingw32-make
$ mingw32-make install
$ mingw32-make install.all
Chaîne d'outils alternative : SYSTEM=mingw-win32
Disponible depuis Msys2 et/ou Mingw-w64
Exigences : bash, make, gcc
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
$ make
$ make install
$ make install.all
Chaîne d'outils alternative : SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64
glewinfo
est un outil de ligne de commande utile pour inspecter les capacités d'une implémentation OpenGL et la prise en charge de GLEW pour cela. Veuillez inclure glewinfo.txt
avec les rapports de bogues, le cas échéant.
---------------------------
GLEW Extension Info
---------------------------
GLEW version 2.0.0
Reporting capabilities of pixelformat 3
Running on a Intel(R) HD Graphics 3000 from Intel
OpenGL version 3.1.0 - Build 9.17.10.4229 is supported
GL_VERSION_1_1: OK
---------------
GL_VERSION_1_2: OK
---------------
glCopyTexSubImage3D: OK
glDrawRangeElements: OK
glTexImage3D: OK
glTexSubImage3D: OK
...
Un environnement Unix ou Mac est nécessaire pour créer GLEW à partir de zéro afin d'inclure de nouvelles extensions ou de personnaliser la génération de code. Les données d'extension sont régénérées à partir du répertoire source de niveau supérieur avec :
make extensions
Une alternative à la génération des sources GLEW à partir de zéro consiste à télécharger un instantané pré-généré (non pris en charge) :
https://sourceforge.net/projects/glew/files/glew/snapshots/
GLEW est actuellement maintenu par Nigel Stewart avec des corrections de bugs, une nouvelle prise en charge des extensions OpenGL et de nouvelles versions.
GLEW a été développé par Milan Ikits et Marcelo Magallon. Aaron Lefohn, Joe Kniss et Chris Wyman ont été les premiers utilisateurs et ont également contribué au processus de conception et de débogage.
L'acronyme GLEW vient d'Aaron Lefohn. Pasi Kärkkäinen a identifié et résolu plusieurs problèmes avec GLX et SDL. Nate Robins a créé l'utilitaire wglinfo
, auquel Michael Wimmer a apporté des modifications.
GLEW accueille les contributions de la communauté. Généralement, ceux-ci sont coordonnés via des problèmes ou des demandes d'extraction dans l'interface Web de GitHub.
Assurez-vous de mentionner les détails de la plate-forme et de la chaîne d'outils du compilateur lors du dépôt d'un rapport de bogue. Le résultat de glewinfo
peut également être très utile pour la discussion.
Généralement, GLEW est publié une fois par an, à peu près au moment de la conférence d'infographie Siggraph. Si vous n'utilisez pas la version actuelle de GLEW, assurez-vous de vérifier si le problème ou le bogue y est résolu.
GLEW est à l'origine dérivé du projet EXTGL de Lev Povalahev. Le code source est sous licence BSD modifiée, licence Mesa 3-D (MIT) et licence Khronos (MIT).
Les scripts de génération automatique de code sont publiés sous GNU GPL.