La biblioteca OpenGL Extension Wrangler (GLEW) es una biblioteca de carga de extensiones C/C++ de código abierto multiplataforma. GLEW proporciona mecanismos de tiempo de ejecución eficientes para determinar qué extensiones OpenGL son compatibles con la plataforma de destino. La funcionalidad principal y de extensión de OpenGL se expone en un único archivo de encabezado. GLEW ha sido probado en una variedad de sistemas operativos, incluidos Windows, Linux, Mac OS X, FreeBSD, Irix y Solaris.
http://glew.sourceforge.net/
https://github.com/nigels-com/glew
La versión actual es 2.2.0. (Registro de cambios)
Fuentes disponibles como ZIP o TGZ.
Binarios de Windows para 32 y 64 bits.
Las instantáneas pueden contener nuevas funciones, correcciones de errores o nuevas extensiones OpenGL antes de los lanzamientos oficiales probados.
glew-20220402.tgz GLEW 2.2.0 - con corrección para glCreateProgressFenceNVX
Se recomienda encarecidamente compilar a partir de una instantánea de lanzamiento tgz o zip. El flujo de trabajo de generación de código es una mezcla compleja de gnu make, perl y python, que funciona mejor en Linux o Mac. Se sabe que la generación de código funciona en Windows usando MSYS2. Para la mayoría de los usuarios finales de GLEW, las versiones oficiales son la mejor opción, con soporte de primera clase.
Históricamente, GNU make es el sistema de compilación principal para GLEW. Incluye objetivos para construir las fuentes y encabezados, con fines de mantenimiento.
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
Objetivos: 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=
Nota: es posible que primero tengas que llamar make
en la carpeta automática
$ 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 compilación de cmake se mantiene principalmente por parte de los contribuyentes. Debido a la multitud de casos de uso, esto se mantiene en la medida de lo posible . Las solicitudes de extracción son bienvenidas.
Se requiere CMake 3.16 o superior.
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
Objetivo | Descripción |
---|---|
brillaba | Construya la biblioteca compartida de glew. |
glew_s | Construya la biblioteca estática glew. |
glewinfo | Compile el ejecutable glewinfo (requiere que BUILD_UTILS esté ON ). |
información visual | Compile el ejecutable visualinfo (requiere que BUILD_UTILS esté ON ). |
instalar | Instale todos los objetivos habilitados en CMAKE_INSTALL_PREFIX . |
limpio | Limpiar artefactos de construcción. |
todo | Construya todos los objetivos habilitados (objetivo predeterminado). |
variables | Descripción |
---|---|
CONSTRUIR_UTILS | Compile los ejecutables glewinfo y visualinfo . |
GLEW_REGAL | Construye en modo Regal. |
GLEW_OSMESA | Construya en modo Mesa fuera de la pantalla. |
CONSTRUIR_FRAMEWORK | Construir como marco MacOSX. Se recomienda configurar CMAKE_INSTALL_PREFIX en /Library/Frameworks . |
Utilice el archivo de proyecto de Visual Studio proporcionado en build/vc15/
También se proporcionan proyectos para vc6, vc10, vc12 y vc14.
Disponible en Mingw
Requisitos: bash, make, gcc
$ mingw32-make
$ mingw32-make install
$ mingw32-make install.all
Cadena de herramientas alternativa: SYSTEM=mingw-win32
Disponible en Msys2 y/o Mingw-w64
Requisitos: bash, make, gcc
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
$ make
$ make install
$ make install.all
Cadena de herramientas alternativa: SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64
glewinfo
es una herramienta de línea de comandos útil para inspeccionar las capacidades de una implementación OpenGL y el soporte de GLEW para eso. Incluya glewinfo.txt
con informes de errores, según corresponda.
---------------------------
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
...
Se necesita un entorno Unix o Mac para construir GLEW desde cero para incluir nuevas extensiones o personalizar la generación de código. Los datos de la extensión se regeneran desde el directorio fuente de nivel superior con:
make extensions
Una alternativa a generar las fuentes GLEW desde cero es descargar una instantánea pregenerada (no compatible):
https://sourceforge.net/projects/glew/files/glew/snapshots/
Nigel Stewart mantiene actualmente GLEW con correcciones de errores, nueva compatibilidad con extensiones OpenGL y nuevos lanzamientos.
GLEW fue desarrollado por Milan Ikits y Marcelo Magallon. Aaron Lefohn, Joe Kniss y Chris Wyman fueron los primeros usuarios y también ayudaron con el proceso de diseño y depuración.
El acrónimo GLEW proviene de Aaron Lefohn. Pasi Kärkkäinen identificó y solucionó varios problemas con GLX y SDL. Nate Robins creó la utilidad wglinfo
, a la que Michael Wimmer realizó modificaciones.
GLEW agradece las contribuciones de la comunidad. Normalmente, estos se coordinan mediante problemas o solicitudes de extracción en la interfaz web de GitHub.
Asegúrese de mencionar los detalles de la plataforma y la cadena de herramientas del compilador al presentar un informe de error. El resultado de glewinfo
también puede ser muy útil para la discusión.
Generalmente, GLEW suele publicarse una vez al año, aproximadamente en la época de la conferencia de gráficos por computadora Siggraph. Si no está utilizando la versión actual de GLEW, asegúrese de verificar si el problema o error se solucionó allí.
GLEW se deriva originalmente del proyecto EXTGL de Lev Povalahev. El código fuente tiene la licencia BSD modificada, la licencia Mesa 3-D (MIT) y la licencia Khronos (MIT).
Los scripts de generación automática de código se publican bajo GNU GPL.