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.

Arquitetura de Software 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:

uma biblioteca para interface gráfica do usuário. Ela permite que o programador crie janelas de nível superior com contextos OpenGL, mas sem menus ou botões. uma biblioteca apenas para Windows. Solicitações de recursos que não podem ser portados para outras plataformas serão negadas a menos que sejam discretas, como a implementação para Windows da procura por um recurso GLFW_ICON na criação de uma janela. uma biblioteca de threads. Já existem boas bibliotecas multiplataforma para lidar com threads. Além disso, esse recurso foi adicionado às bibliotecas padrão tanto em C11 quanto em C++11. uma biblioteca de carga de imagens. Já existem boas bibliotecas multiplataforma para carregamento de imagens. capaz de renderizar texto. Já existem várias bibliotecas para renderização de texto com OpenGL, e renderizadores de texto multiplataforma consistentes não podem, de forma alguma, depender de recursos de renderização de texto específicos de uma plataforma. capaz de renderizar qualquer coisa. A renderização está a cargo do programador e/ou outras bibliotecas. integrada a quaisquer kit de ferramentas de interface em nenhuma plataforma. capaz de reproduzir som. GLUT ou SDL.

Vínculos com linguagens de programação 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.

Back-ends A série 3.3.x da GLFW traz novas funcionalidades e várias correções de bugs, entre outras melhorias.

Ver também GLUT – toolkit OpenGL legado GLEW SDL

Ligações externas Site oficial Página no Github

Categoria:Bibliotecas para C Categoria:Interface de programação de aplicações Categoria:OpenGL Categoria:Computação gráfica Categoria:Realidade virtual Categoria:Desenvolvimento de jogos eletrônicos Categoria:APIs do Linux Categoria:APIs do Windows Categoria:APIs do macOS