GLFW - GLFW

GLFW
Desenvolvedor (s) A Equipe de Desenvolvimento GLFW
Versão estável
3.3.4 / 8 de abril de 2021 ; 6 meses atrás ( 2021-04-08 )
Repositório
Escrito em C
Sistema operacional Linux , macOS , Microsoft Windows , FreeBSD , NetBSD , OpenBSD
Plataforma Plataforma cruzada
Modelo API
Licença Licença zlib / libpng
Local na rede Internet www .glfw .org

GLFW é uma biblioteca de utilitários leve para uso com OpenGL . GLFW significa Graphics Library Framework. Ele fornece aos programadores a capacidade de criar e gerenciar janelas e contextos OpenGL, bem como controlar entradas de joystick , teclado e mouse .

Arquitetura de software

GLFW é uma pequena biblioteca C que permite a criação e gestão de janelas com contextos OpenGL, possibilitando também a utilização de múltiplos monitores e modos de vídeo. Ele fornece acesso à entrada do teclado, mouse e joysticks. A API fornece uma camada de abstração multi-plataforma fina, principalmente para aplicativos cuja única saída gráfica é por meio da API OpenGL. Embora o GLFW seja muito útil no desenvolvimento de aplicativos OpenGL multiplataforma, os desenvolvedores de plataforma única também podem se beneficiar evitando ter que lidar com diferentes APIs específicas de plataforma.

Uma possível razão pela qual bibliotecas como o GLFW são necessárias é que o OpenGL por si só não fornece nenhum mecanismo para criar o contexto necessário, gerenciar janelas, entrada do usuário, tempo, etc. Existem várias outras bibliotecas disponíveis para ajudar no desenvolvimento do OpenGL. Os mais comuns são FreeGLUT (uma implementação de código aberto de GLUT) e SDL. No entanto, o FreeGLUT está mais preocupado em fornecer um clone estável do GLUT, enquanto o SDL é muito grande para algumas pessoas e nunca teve o OpenGL como seu foco principal. O GLFW é baseado na suposição de que há espaço para uma biblioteca leve e moderna para gerenciar contextos, janelas e entrada OpenGL.

GLFW é por design, não ...

  • uma biblioteca de interface do usuário. Ele permite que o programador crie janelas de nível superior com contextos OpenGL. Sem menus, sem botões.
  • uma biblioteca somente para Windows. As solicitações de recursos que não podem ser implementados portavelmente serão negadas, a menos que sejam discretas, como a porta do Windows procurando por um recurso GLFW_ICON na criação da janela.
  • uma biblioteca de encadeamento. Já existem boas bibliotecas de threading de plataforma cruzada e threading foi adicionado às bibliotecas padrão C11 e C ++ 11.
  • uma biblioteca de carregamento de imagens. Já existem boas bibliotecas de carregamento de imagens de plataforma cruzada.
  • capaz de renderizar texto. Já existem várias bibliotecas que renderizam texto com OpenGL e a renderização consistente de texto em plataforma cruzada não pode depender dos recursos de renderização de texto da plataforma de qualquer maneira.
  • capaz de renderizar qualquer coisa. A renderização fica por conta do programador e / ou outras bibliotecas.
  • integrado com qualquer kit de ferramentas de interface do usuário em qualquer plataforma.
  • Capaz de reproduzir som.
  • GLUT ou SDL .

Ligações de linguagem de programação

Embora GLFW seja escrito em C, existem ligações para usar a API com outras linguagens de programação, incluindo Ada , C # , Common Lisp , D , Delphi , Go , Harbor , Haskell , Java , Python , Rebol , Red , Ruby e Rust , entre outras .

Back-ends

GLFW versão 3.2 tem suporte experimental para Wayland por meio de sinalizadores de tempo de compilação.

Veja também

Referências

  1. ^ "Versões · glfw / glfw" . github.com . Recuperado em 2021-04-10 .
  2. ^ "Licença | GLFW" . glfw.org . Recuperado em 2021-04-10 .
  3. ^ "GLFW: Guia de entrada" . www.glfw.org . Recuperado em 2021-02-07 .
  4. ^ "GLFW - FAQ" . Retirado em 11 de julho de 2015 .
  5. ^ "PNGs em OpenGL?" . www.xspdf.com . Recuperado em 2021-02-07 .
  6. ^ "Ligações de linguagem de programação GLFW" . Retirado em 4 de setembro de 2019 .
  7. ^ "GLFW: Novos recursos em 3.2" .

links externos