Repolode
Dav1dde

Dav1dde/glad

Gerador de loaders que cria bindings para C/C++ e outras linguagens para OpenGL, Vulkan, EGL, GLX e WGL com base nas especificações oficiais.

Estrelas
4,629
Forks
514
Issues abertas
33
Último commit
mês passado

O que é?

glad gera código de loader para APIs gráficas como OpenGL, OpenGL ES, Vulkan, EGL, GLX e WGL. Os drivers gráficos disponibilizam a maioria dessas funções em tempo de execução, em vez de por meio de bibliotecas vinculadas, então os aplicativos precisam de um loader para localizar os ponteiros de função antes de chamá-las. glad gera esse loader a partir das especificações oficiais das APIs: você escolhe a versão da API e as extensões necessárias e recebe os arquivos de cabeçalho e de código-fonte correspondentes.

O projeto é um gerador que conta com um serviço web em gen.glad.sh, onde você seleciona a API, a versão, o perfil e as extensões e baixa os arquivos gerados. Há saídas para várias linguagens; o README apresenta exemplos em C e C++ e em Rust, e observa que algumas linguagens só estão disponíveis no gerador glad1 anterior. Um plugin da comunidade adiciona suporte a Fortran.

Os exemplos abrangem bibliotecas de janelas comuns, incluindo GLFW e SDL2/SDL3, além de configurações que usam diretamente GLX, WGL e EGL.

Recursos principais

  • 01Gera loaders para OpenGL, OpenGL ES, Vulkan, EGL, GLX e WGL.
  • 02Criado com base nas especificações oficiais das APIs, com versões e extensões selecionáveis.
  • 03Disponível como serviço web para escolher opções e baixar os arquivos gerados.
  • 04Oferece exemplos em C/C++ e Rust, além de bindings para outras linguagens por meio de plugins.

Casos de uso

  • Configurar um renderer OpenGL ou Vulkan em um aplicativo C ou C++ com GLFW ou SDL.
  • Gerar um loader fixado em uma versão específica do OpenGL e em um conjunto de extensões.
  • Criar um programa gráfico em Rust que precise de ponteiros para funções GL.

Início rápido

  1. 1

    Gere os arquivos de loader necessários com o serviço web glad2

  2. 2

    Inclua o cabeçalho gerado (por exemplo, glad/gl.h) e chame gladLoadGL usando o loader da sua biblioteca de gerenciamento de janelas

Antes de usar

  • Algumas linguagens só estão disponíveis no gerador antigo glad1.
  • Esta é a branch 2.0, que altera a API em relação às versões anteriores.
  • A licença não foi identificada claramente, e algumas especificações Khronos incluídas estão sob a licença Apache 2.0.

Tópicos

Perguntas frequentes

O que é glad?
Gerador de loaders que cria bindings para C/C++ e outras linguagens para OpenGL, Vulkan, EGL, GLX e WGL com base nas especificações oficiais. glad gera código de loader para APIs gráficas como OpenGL, OpenGL ES, Vulkan, EGL, GLX e WGL. Os drivers gráficos disponibilizam a maioria dessas funções em tempo de execução, em vez de por meio de bibliotecas vinculadas, então os aplicativos precisam de um loader para localizar os ponteiros de função antes de chamá-las. glad gera esse loader a partir das especificações oficiais das APIs: você escolhe a versão da API e as extensões necessárias e recebe os arquivos de cabeçalho e de código-fonte correspondentes.
glad é gratuito? Qual é a licença?
glad é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
glad ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de glad foi em 28 de set. de 2026.
Para que posso usar glad?
Configurar um renderer OpenGL ou Vulkan em um aplicativo C ou C++ com GLFW ou SDL. Gerar um loader fixado em uma versão específica do OpenGL e em um conjunto de extensões. Criar um programa gráfico em Rust que precise de ponteiros para funções GL.
Como instalar glad?
Gere os arquivos de loader necessários com o serviço web glad2 Inclua o cabeçalho gerado (por exemplo, glad/gl.h) e chame gladLoadGL usando o loader da sua biblioteca de gerenciamento de janelas
Onde consigo glad?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Dav1dde/glad

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados