GPU 포인터와 디스크립터 힙을 사용해 버퍼와 디스크립터 세트를 대체하는 Metal 4 및 Vulkan 1.4용 최소한의 C++20 그래픽 라이브러리입니다.
KhronosGroup/Vulkan-Hpp
Vulkan C API를 위한 헤더 전용 C++ 바인딩으로, 타입 안전한 enum, STL 지원, 예외 처리, RAII 핸들을 제공합니다.
- 스타
- 3,818
- 포크
- 374
- 열린 이슈
- 29
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
Vulkan-Hpp는 Vulkan C API를 감싸는 헤더 전용 C++ 래퍼입니다. 런타임 CPU 오버헤드를 추가하지 않으면서 C++로 Vulkan 코드를 더 쉽게 작성할 수 있도록 하는 것이 목표입니다. 바인딩은 enum과 비트 필드의 타입 안전성, STL 컨테이너 지원, 예외 기반 오류 처리, 여러 종류의 RAII 지원 핸들 타입을 제공합니다.
이 저장소에는 Vulkan XML 사양을 읽어 C++ 헤더를 생성하는 생성기가 포함되어 있습니다. 문서에는 헤더 빌드 및 재생성 방법, 사용 예제, 구성 매크로, unique_ptr과 유사한 방식, shared_ptr과 유사한 방식, vk::raii 의미 체계를 제공하는 세 가지 핸들 계열에 대한 설명이 있습니다. C API의 구성 매크로도 계속 사용할 수 있습니다.
헤더는 LunarG Vulkan SDK와 Khronos Vulkan-Headers 저장소에 포함되어 있으며, vcpkg와 Conan용 패키지도 제공됩니다. 지속적 통합에서는 Windows, Linux, macOS(MoltenVK 사용)에서 GCC, Clang, MSVC를 테스트합니다.
핵심 기능
- 01헤더 전용으로 별도 라이브러리를 링크할 필요가 없음
- 02타입 안전한 enum과 비트 필드
- 03STL 컨테이너 지원 및 예외 기반 오류 처리
- 04vk::raii를 포함한 여러 RAII 핸들 계열
- 05공식 Vulkan XML 사양을 바탕으로 생성된 헤더
- 06Vulkan SDK, vcpkg, Conan을 통해 사용 가능
활용 사례
- 최신 C++로 Vulkan 렌더러 또는 컴퓨트 코드를 작성할 때
- Vulkan 애플리케이션의 상용구 코드와 수동 리소스 정리를 줄일 때
- 이름이 지정된 vulkan 모듈을 사용해 C++ 모듈로 Vulkan 프로젝트를 빌드할 때
빠른 시작
- 1
vcpkg로 Vulkan-Hpp 설치: vcpkg 저장소를 클론합니다
git clone https://github.com/Microsoft/vcpkg.git - 2
vcpkg 디렉터리에서 vcpkg를 부트스트랩합니다
cd vcpkg && ./bootstrap-vcpkg.sh - 3
Vulkan-Hpp가 포함된 vulkan-headers 포트를 설치합니다
./vcpkg install vulkan-headers
사용 전 알아둘 점
- 사용하는 기능에 따라 C++ 모듈 또는 최신 C++ 표준을 지원하는 C++ 컴파일러가 필요합니다.
- 권장 설치 방법은 LunarG Vulkan SDK를 사용하는 것이므로, 단독으로 사용하려면 추가 설정이 필요할 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- Vulkan-Hpp은(는) 무엇인가요?
- Vulkan C API를 위한 헤더 전용 C++ 바인딩으로, 타입 안전한 enum, STL 지원, 예외 처리, RAII 핸들을 제공합니다. Vulkan-Hpp는 Vulkan C API를 감싸는 헤더 전용 C++ 래퍼입니다. 런타임 CPU 오버헤드를 추가하지 않으면서 C++로 Vulkan 코드를 더 쉽게 작성할 수 있도록 하는 것이 목표입니다. 바인딩은 enum과 비트 필드의 타입 안전성, STL 컨테이너 지원, 예외 기반 오류 처리, 여러 종류의 RAII 지원 핸들 타입을 제공합니다.
- Vulkan-Hpp은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- Vulkan-Hpp은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- Vulkan-Hpp은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. Vulkan-Hpp의 마지막 커밋은 2026년 11월 4일입니다.
- Vulkan-Hpp은(는) 어디에 사용할 수 있나요?
- 최신 C++로 Vulkan 렌더러 또는 컴퓨트 코드를 작성할 때 Vulkan 애플리케이션의 상용구 코드와 수동 리소스 정리를 줄일 때 이름이 지정된 vulkan 모듈을 사용해 C++ 모듈로 Vulkan 프로젝트를 빌드할 때
- Vulkan-Hpp는 어떻게 설치하나요?
- vcpkg로 Vulkan-Hpp 설치: vcpkg 저장소를 클론합니다: git clone https://github.com/Microsoft/vcpkg.git vcpkg 디렉터리에서 vcpkg를 부트스트랩합니다: cd vcpkg && ./bootstrap-vcpkg.sh Vulkan-Hpp가 포함된 vulkan-headers 포트를 설치합니다: ./vcpkg install vulkan-headers
- Vulkan-Hpp은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/KhronosGroup/Vulkan-Hpp
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Direct3D, Metal, OpenGL, Vulkan, WebGL을 추상화해 자체 엔진에 연결할 수 있는 크로스 플랫폼 C++ 렌더링 라이브러리입니다.
공식 사양을 바탕으로 OpenGL, Vulkan, EGL, GLX, WGL 등의 C/C++ 및 다른 언어용 바인딩을 생성하는 로더 생성기입니다.
공유 GPU 상태를 없애고, 드로우 호출을 명령으로 기술해 최적화된 JavaScript로 컴파일하는 함수형 WebGL 래퍼입니다.
개발자가 Python에서 컴파일러 파이프라인을 맞춤 설정하고 다양한 하드웨어 대상으로 모델을 배포할 수 있는 오픈 머신러닝 컴파일 프레임워크입니다.