Una biblioteca gráfica mínima en C++20 para Metal 4 y Vulkan 1.4 que sustituye los buffers y los descriptor sets por punteros de GPU y descriptor heaps.
KhronosGroup/Vulkan-Hpp
Bindings de C++ header-only para la API C de Vulkan, con enumeraciones seguras por tipos, compatibilidad con STL, excepciones y handles RAII.
- Estrellas
- 3,818
- Forks
- 374
- Issues abiertos
- 29
- Último commit
- hace 3 días
¿Qué es?
Vulkan-Hpp es un wrapper de C++ header-only para la API C de Vulkan. Su objetivo es facilitar la escritura de código Vulkan en C++ sin añadir sobrecarga de CPU en tiempo de ejecución. Los bindings aportan seguridad de tipos para enumeraciones y campos de bits, compatibilidad con contenedores STL, gestión de errores mediante excepciones y varias familias de tipos de handle compatibles con RAII.
El repositorio contiene los generadores que leen la especificación XML de Vulkan y producen los headers de C++. La documentación explica cómo compilar y volver a generar los headers, e incluye ejemplos de uso, macros de configuración y las tres familias de handles, con semánticas similares a unique_ptr, shared_ptr y vk::raii. Las macros de configuración de la API C siguen estando disponibles.
Los headers se distribuyen con LunarG Vulkan SDK y el repositorio Khronos Vulkan-Headers, y también están disponibles en paquetes para vcpkg y Conan. La integración continua prueba GCC, Clang y MSVC en Windows, Linux y macOS (mediante MoltenVK).
Funciones clave
- 01Solo requiere headers; no hay que enlazar una biblioteca aparte
- 02Enumeraciones y campos de bits seguros por tipos
- 03Compatibilidad con contenedores STL y gestión de errores mediante excepciones
- 04Varias familias de handles RAII, incluida vk::raii
- 05Headers generados a partir de la especificación XML oficial de Vulkan
- 06Disponible mediante Vulkan SDK, vcpkg y Conan
Casos de uso
- Escribir renderizadores o código de cómputo Vulkan en C++ moderno
- Reducir el código repetitivo y la limpieza manual de recursos en aplicaciones Vulkan
- Compilar proyectos Vulkan con módulos de C++ usando el módulo con nombre vulkan
Inicio rápido
- 1
Instala Vulkan-Hpp con vcpkg: clona el repositorio de vcpkg
git clone https://github.com/Microsoft/vcpkg.git - 2
Prepara vcpkg desde su directorio
cd vcpkg && ./bootstrap-vcpkg.sh - 3
Instala el port vulkan-headers, que incluye Vulkan-Hpp
./vcpkg install vulkan-headers
Antes de usarlo
- Se requiere un compilador de C++ compatible con módulos de C++ o con un estándar de C++ reciente, según las funciones que se utilicen.
- La opción de instalación recomendada es LunarG Vulkan SDK, por lo que el uso independiente puede requerir configuración adicional.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es Vulkan-Hpp?
- Bindings de C++ header-only para la API C de Vulkan, con enumeraciones seguras por tipos, compatibilidad con STL, excepciones y handles RAII. Vulkan-Hpp es un wrapper de C++ header-only para la API C de Vulkan. Su objetivo es facilitar la escritura de código Vulkan en C++ sin añadir sobrecarga de CPU en tiempo de ejecución. Los bindings aportan seguridad de tipos para enumeraciones y campos de bits, compatibilidad con contenedores STL, gestión de errores mediante excepciones y varias familias de tipos de handle compatibles con RAII.
- ¿Vulkan-Hpp es gratuito? ¿Qué licencia tiene?
- Vulkan-Hpp es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿Vulkan-Hpp sigue mantenido?
- Mantenimiento activo. El último commit de Vulkan-Hpp fue el 4 nov 2026.
- ¿Para qué puedo usar Vulkan-Hpp?
- Escribir renderizadores o código de cómputo Vulkan en C++ moderno Reducir el código repetitivo y la limpieza manual de recursos en aplicaciones Vulkan Compilar proyectos Vulkan con módulos de C++ usando el módulo con nombre vulkan
- ¿Cómo se instala Vulkan-Hpp?
- Instala Vulkan-Hpp con vcpkg: clona el repositorio de vcpkg: git clone https://github.com/Microsoft/vcpkg.git Prepara vcpkg desde su directorio: cd vcpkg && ./bootstrap-vcpkg.sh Instala el port vulkan-headers, que incluye Vulkan-Hpp: ./vcpkg install vulkan-headers
- ¿Dónde consigo Vulkan-Hpp?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/KhronosGroup/Vulkan-Hpp
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca de renderizado C++ multiplataforma que abstrae Direct3D, Metal, OpenGL, Vulkan y WebGL para que puedas integrarla en tu propio motor.
Generador de loaders que crea bindings para C/C++ y otros lenguajes para OpenGL, Vulkan, EGL, GLX y WGL a partir de las especificaciones oficiales.
Un wrapper funcional de WebGL que elimina el estado compartido de la GPU y permite describir las llamadas de dibujo como comandos y compilarlas en JavaScript optimizado.
Un framework abierto de compilación de machine learning que permite personalizar pipelines de compilación en Python y desplegar modelos en distintos tipos de hardware.
Herramienta para Windows que permite ver y editar perfiles de controladores NVIDIA, incluidas muchas opciones ocultas que no aparecen en el Panel de control de NVIDIA.