Biblioteca gráfica minimalista em C++20 para Metal 4 e Vulkan 1.4, que substitui buffers e descriptor sets por ponteiros de GPU e heaps de descritores.
KhronosGroup/Vulkan-Hpp
Bindings C++ header-only para a API C do Vulkan, com enums type-safe, suporte à STL, exceções e handles RAII.
- Estrelas
- 3,818
- Forks
- 374
- Issues abertas
- 29
- Último commit
- há 3 dias
O que é?
Vulkan-Hpp é um wrapper C++ header-only para a API C do Vulkan. O objetivo é facilitar a escrita de código Vulkan em C++ sem adicionar overhead de CPU em tempo de execução. Os bindings oferecem segurança de tipos para enums e campos de bits, suporte a contêineres da STL, tratamento de erros baseado em exceções e vários tipos de handles compatíveis com RAII.
O repositório contém os geradores que leem a especificação Vulkan em XML e produzem os headers C++. A documentação aborda como compilar e gerar os headers novamente, exemplos de uso, macros de configuração e as três famílias de handles, com semânticas semelhantes às de unique_ptr, shared_ptr e vk::raii. As macros de configuração da API C continuam disponíveis.
Os headers são distribuídos com o LunarG Vulkan SDK e o repositório Khronos Vulkan-Headers, além de estarem disponíveis nos pacotes do vcpkg e do Conan. A integração contínua testa GCC, Clang e MSVC no Windows, Linux e macOS (via MoltenVK).
Recursos principais
- 01Header-only, sem necessidade de vincular uma biblioteca separada
- 02Enums e campos de bits com segurança de tipos
- 03Suporte a contêineres da STL e tratamento de erros baseado em exceções
- 04Várias famílias de handles RAII, incluindo vk::raii
- 05Headers gerados a partir da especificação oficial do Vulkan em XML
- 06Disponível pelo Vulkan SDK, vcpkg e Conan
Casos de uso
- Escrever renderizadores ou código de computação Vulkan em C++ moderno
- Reduzir código repetitivo e a limpeza manual de recursos em aplicações Vulkan
- Compilar projetos Vulkan com módulos C++ usando o módulo nomeado vulkan
Início rápido
- 1
Instale o Vulkan-Hpp com vcpkg: clone o repositório do vcpkg
git clone https://github.com/Microsoft/vcpkg.git - 2
Inicialize o vcpkg a partir do diretório dele
cd vcpkg && ./bootstrap-vcpkg.sh - 3
Instale o port vulkan-headers, que inclui o Vulkan-Hpp
./vcpkg install vulkan-headers
Antes de usar
- É necessário um compilador C++ com suporte a módulos C++ ou a um padrão C++ recente, dependendo dos recursos utilizados.
- A opção de instalação recomendada é o LunarG Vulkan SDK, então o uso independente pode exigir configuração adicional.
Em coleções
Tópicos
Perguntas frequentes
- O que é Vulkan-Hpp?
- Bindings C++ header-only para a API C do Vulkan, com enums type-safe, suporte à STL, exceções e handles RAII. Vulkan-Hpp é um wrapper C++ header-only para a API C do Vulkan. O objetivo é facilitar a escrita de código Vulkan em C++ sem adicionar overhead de CPU em tempo de execução. Os bindings oferecem segurança de tipos para enums e campos de bits, suporte a contêineres da STL, tratamento de erros baseado em exceções e vários tipos de handles compatíveis com RAII.
- Vulkan-Hpp é gratuito? Qual é a licença?
- Vulkan-Hpp é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- Vulkan-Hpp ainda é mantido?
- Manutenção ativa. O último commit de Vulkan-Hpp foi em 4 de nov. de 2026.
- Para que posso usar Vulkan-Hpp?
- Escrever renderizadores ou código de computação Vulkan em C++ moderno Reduzir código repetitivo e a limpeza manual de recursos em aplicações Vulkan Compilar projetos Vulkan com módulos C++ usando o módulo nomeado vulkan
- Como instalar Vulkan-Hpp?
- Instale o Vulkan-Hpp com vcpkg: clone o repositório do vcpkg: git clone https://github.com/Microsoft/vcpkg.git Inicialize o vcpkg a partir do diretório dele: cd vcpkg && ./bootstrap-vcpkg.sh Instale o port vulkan-headers, que inclui o Vulkan-Hpp: ./vcpkg install vulkan-headers
- Onde consigo Vulkan-Hpp?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/KhronosGroup/Vulkan-Hpp
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca de renderização C++ multiplataforma que abstrai Direct3D, Metal, OpenGL, Vulkan e WebGL para você usar com seu próprio engine.
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.
Um wrapper funcional para WebGL que elimina o estado compartilhado da GPU, permitindo descrever chamadas de desenho como comandos e compilá-los em JavaScript otimizado.
Framework aberto de compilação de machine learning que permite personalizar pipelines de compilação em Python e implantar modelos em diversos alvos de hardware.
Ferramenta para Windows que permite visualizar e editar configurações de perfis do driver NVIDIA, incluindo muitas opções ocultas que não aparecem no Painel de Controle NVIDIA.