이 게시물은 Inflearn의 "삼각형" 님의 "삼각형의 실전! Vulkan 중급" 강의를 학습 목적으로 정리한 게시물입니다.
정리하는 과정에서 살을 붙이거나 강의의 핵심 내용이 누락되었을 수 있습니다.
좀 더 심도있고 깊은 내용을 듣고 싶으시다면 아래 링크를 참고해주세요.
https://www.inflearn.com/course/%EC%8B%A4%EC%A0%84-vulkan/dashboard
삼각형의 실전! Vulkan 중급| 삼각형 - 인프런 강의
현재 평점 3.3점인 강의를 만나보세요. 이 강의를 통해 수강생은 Vulkan의 핵심 개념을 이해할 수 있습니다. 이를 바탕으로 GPU를 효과적으로 사용하는 코드를 작성할 수 있습니다. Vulkan, Graphics
www.inflearn.com
Vulkan Instance란?
어플리케이션이 Vulkan 드라이버와 통신하기 위한 첫 단계이자,
Layer / Extension / 애플리케이션 정보를 정의하는 핵심 초기화 객체
1. Vulkan API 사용의 출발점
- Vulkan에서는 모든 API 호출이 어떤 “생성된 객체”를 기반으로 작동
- 그 중에서도 VkInstance 는 가장 처음 생성해야 하는 루트 객체(root-level object)
- 즉, “Vulkan 환경을 초기화한다”는 건 곧 “Instance를 생성한다”는 의미
2. 어플리케이션과 Vulkan 드라이버 간 연결 (Connection)
- Instance는 애플리케이션과 Vulkan 런타임(드라이버) 간의 연결(communication link) 을 설정
- 이후에 GPU 디바이스를 찾거나(vkEnumeratePhysicalDevices), 디버깅 레이어를 추가할 때 이 연결을 통해 수행
3. Instance Layer 정의
- Instance 생성 시, VkInstanceCreateInfo 구조체의 ppEnabledLayerNames 필드에 Instance Layer(검증 레이어 등) 를 지정
- 예를 들어 "VK_LAYER_KHRONOS_validation" 을 등록하면, 이후 모든 Vulkan 호출이 검증 레이어를 거쳐 동작
4. Instance Extension 정의
- ppEnabledExtensionNames 필드를 통해 사용할 Instance Extension을 지정
- 대표적인 예시는:
- "VK_KHR_surface": 윈도우 창에 렌더링할 수 있게 함
- "VK_KHR_win32_surface": Windows 전용 Surface 확장
- 즉, Instance Extension은 플랫폼별 기능이나 추가 API를 활성화하는 수단
5. 애플리케이션 정보 전달
- VkApplicationInfo 구조체를 통해 애플리케이션 이름, 버전, 엔진 이름, Vulkan API 버전 등을 드라이버에 전달
- 이는 드라이버 최적화나 디버깅 시 참조되는 메타데이터 역할
'DirectX > [Inflearn_삼각형] Vulkan' 카테고리의 다른 글
5. Vulkan Surface (0) | 2025.10.15 |
---|---|
4. Vulkan Extension (0) | 2025.10.13 |
3. Vulkan Device (+Vulkan Queue) (0) | 2025.10.09 |
2. Vulkan Loader (0) | 2025.10.09 |
1. Vulkan이란? (0) | 2025.10.09 |
댓글