Este artigo ou secção necessita de referências de fontes secundárias confiáveis e independentes. (setembro de 2018) |
| GLFW – Graphics Library Framework | |
|---|---|
| Desenvolvedor | The GLFW Development Team |
| Lançamento estável | 3.4.0
/ 23 de abril de 2024 |
| Repositório | |
| Escrito em | C |
| Sistema operacional | Multiplataforma |
| Plataforma | Multiplataforma |
| Tipo | API |
| Licença | zlib/libpng |
| Website | www |
GLFW é uma biblioteca para uso com OpenGL. Seu nome é um acrônimo para Graphics Library Framework e permite que programadores possam criar e gerenciar janelas e contextos OpenGL, assim como interagir com joystick, mouse e teclado.
A GLFW é uma biblioteca pequena escrita em linguagem C que permite a criação e gerenciamento de janelas em um contexto OpenGL, tornando possível também o uso de múltiplos monitores e modos de vídeo. Fornece acesso de leitura de teclado, mouse e joysticks. A API fornece uma fina camada de abstração multiplataforma, principalmente para aplicações cuja única saída gráfica é através da API OpenGL. Embora a GLFW seja muito útil para desenvolver aplicações OpenGL multiplataforma, desenvolvedores voltados a apenas uma plataforma também podem se beneficiar ao evitar terem que lidar com APIs mal feitas específicas da plataforma.
Um motivo para que bibliotecas como a GLFW sejam necessárias é que a OpenGL por si só não fornece mecanismos para criar o contexto necessário e gerenciar janelas, entradas do usuário, tempo, etc. Existem muitas outras bibliotecas disponíveis para auxiliar no desenvolvimento OpenGL. As mais comuns são freeglut (uma implementação de código aberto da GLUT) e SDL. No entanto, a freeglut é focada em ser um clone estável da GLUT, enquanto a SDL é muito grande para os interesses de algumas pessoas e nunca teve OpenGL como seu principal foco. A GLFW está baseada na suposição de que há espaço para uma biblioteca leve e moderna para gerenciar contextos OpenGL, janelas e dispositivos de entrada.
A GLFW não foi projetada para ser:
Embora a GLFW tenha sido escrita em C, existem vínculos para usar a API com outras linguagens de programação, incluindo Ada, Common Lisp, D, Go, Haskell, Java, Python, Ruby e Rust, entre outras.
A série 3.3.x da GLFW traz novas funcionalidades e várias correções de bugs, entre outras melhorias.