GLFW es una biblioteca multiplataforma de código abierto para el desarrollo de aplicaciones OpenGL, OpenGL ES y Vulkan. Proporciona una API simple e independiente de la plataforma para crear ventanas, contextos y superficies, leer entradas, manejar eventos, etc.
GLFW es compatible de forma nativa con Windows, macOS y Linux y otros sistemas similares a Unix. En Linux se admiten Wayland y X11.
GLFW tiene la licencia zlib/libpng.
Puede descargar la última versión estable como fuente o archivos binarios de Windows. Cada versión que comienza con la 3.0 también tiene una etiqueta anotada correspondiente con archivos fuente y binarios.
La documentación está disponible en línea y se incluye en todos los archivos fuente y binarios. Consulte las notas de la versión para conocer nuevas funciones, advertencias y obsolescencias en la última versión. Para obtener más detalles, consulte el historial de versiones.
La rama master
es la rama de integración estable y siempre debe compilarse y ejecutarse en todas las plataformas compatibles, aunque los detalles de las funciones recién agregadas pueden cambiar hasta que se hayan incluido en una versión. Las nuevas funciones y muchas correcciones de errores se encuentran en otras ramas hasta que sean lo suficientemente estables como para fusionarse.
Si es nuevo en GLFW, puede que le resulte útil el tutorial de GLFW 3. Si ha utilizado GLFW 2 en el pasado, hay una guía de transición para pasar a la API GLFW 3.
GLFW existe gracias a las contribuciones de muchas personas en todo el mundo, ya sea informando errores, brindando soporte a la comunidad, agregando funciones, revisando o probando código, depurando, corrigiendo documentos, sugiriendo funciones o corrigiendo errores.
GLFW está escrito principalmente en C99, y partes del soporte de macOS están escritas en Objective-C. El propio GLFW solo requiere los encabezados y bibliotecas para su sistema operativo y sistema de ventanas. No necesita encabezados adicionales para las API de creación de contexto (WGL, GLX, EGL, NSGL, OSMesa) o API de representación (OpenGL, OpenGL ES, Vulkan) para habilitar su soporte.
GLFW admite la compilación en Windows con Visual C++ 2013 y posteriores, MinGW y MinGW-w64, en macOS con Clang y en Linux y otros sistemas similares a Unix con GCC y Clang. Probablemente también se compilará en otros entornos, pero esto no se prueba periódicamente.
Hay archivos binarios precompilados disponibles para todos los compiladores compatibles en Windows y macOS.
Consulte la guía de compilación para obtener más información sobre cómo compilar GLFW usted mismo.
Consulte la documentación para obtener tutoriales, guías y la referencia de API.
Consulte la guía de contribuciones para obtener más información.
GLFW es compatible con Windows XP y posteriores y macOS 10.11 y posteriores. Linux y otros sistemas similares a Unix que ejecutan el sistema X Window son compatibles incluso sin un entorno de escritorio o extensiones modernas, aunque algunas funciones requieren un administrador de ventanas o portapapeles en ejecución. El backend de OSMesa requiere Mesa 6.3.
Consulte la guía de compatibilidad en la documentación para obtener más información.
El GLFW solo necesita CMake 3.16 o posterior y los encabezados y bibliotecas para su sistema operativo y de ventanas.
Los ejemplos y programas de prueba dependen de varias bibliotecas pequeñas. Estos se encuentran en el directorio deps/
.
La documentación se genera con Doxygen si CMake puede encontrar esa herramienta.
Los errores se informan a nuestro rastreador de problemas. Consulte la guía de contribución para obtener información sobre qué incluir al informar un error.
GLFW_UNLIMITED_MOUSE_BUTTONS
que permite informar los botones del mouse más allá del límite de los tokens del botón del mouse (#2423)QuartzCore
como dependencia del tiempo de enlaceglfwInit
produciría un error de segmentación en el compositor sin asiento (#2517)VK_EXT_headless_surface
EGL_MESA_platform_surfaceless
GLFW_CONTEXT_CREATION_API
configurado en GLFW_NATIVE_CONTEXT_API
(#2518) En glfw.org puede encontrar la última versión de GLFW, así como noticias, documentación y otra información sobre el proyecto.
Si tiene preguntas relacionadas con el uso de GLFW, tenemos un foro.
Si tiene un error que informar, un parche que enviar o una característica que le gustaría solicitar, archívelo en el rastreador de problemas en GitHub.
Finalmente, si está interesado en ayudar con el desarrollo de GLFW o en migrarlo a su plataforma favorita, únase a nosotros en el foro o en GitHub.