Loon GPU: 'No Graphics API'에 도전한 바인드리스 GPU 추상화 레이어

Writing a bindless GPU abstraction layer

Loon GPU: 'No Graphics API'에 도전한 바인드리스 GPU 추상화 레이어

Kevin Gibson이 Sebastian Aaltonen의 'No Graphics API' 블로그 글에서 영감을 받아 Vulkan 1.3과 Metal 4를 지원하는 오픈소스 GPU 라이브러리 Loon GPU를 개발했다. 버퍼 객체 대신 GPU 포인터를 사용하고, 버텍스 버퍼 대신 버텍스 풀링을 사용하며, 텍스처와 샘플러를 바인드리스로 처리한다. 셰이더에는 Slang을 사용하지만, Vulkan과 Metal 간 셰이더 공유에 어려움이 있어 현재는 Vulkan용 Slang 셰이더를 Metal로 수동 번역하고 있다. 이미지 레이아웃 전환은 피하고, 초기화는 전역 리스트로 관리한다. 이 프로젝트는 아직 초기 단계이며, 일부 기능은 기존 API의 한계로 구현하지 못했다.

API가 그냥 포인터를 주는 것은 사소해 보일 수 있지만, 실제로 CPU 측 코드를 훨씬 자연스럽게 만들어 줍니다.

이 날의 다른 글

2026-07-14