[Vulkan Tutorial] 01-Overview

목차: [Series 01] Overview (Link)
다음 글: [Series 02] Vulkan Overview (Link)


Vulkan Tutorial 공부를 하면서 작성한 코드와 읽은 내용을 정리할 계획이다. 이번 글 역시 대부분 출처 1 Vulkan Tutorial 내용을 기반으로 작성할 계획이다. 출처 1 Vulkan Tutorial 내용이 주기적으로 업데이트가 되는 것 같다. 이번 글의 경우 2018년 8월 (August, 2018)에 공유된 Vulkan Tutorial 내용을 기반으로 글을 작성한다. 출처 1 내용 이외에 다른 부분에서 읽은 내용은 출처를 모두 정리할 계획이다. 이번 Series는 아래 목차 순서대로 작성할 계획이다. 하나의 글을 작성할 때마다 목차를 업데이트할 계획이다. 현재 가장 기본적인 부분밖에 해보지 않아서 성공적으로 이 글을 다 완성할 수 있을지 모르겠다.

출처 2는 Vulkan Android 예제 파일을 다운받아서 빌드하는 과정에 대해서 설명되어 있다. Sample 코드를 다운받아서 빌드까지는 쉽게 할 수 있는데 새로운 프로젝트를 만들어서 Vulkan에 필요한 파일을 Import 하는 방법을 아직 잘 모르겠다. 현재 계획은 기본 Sample 코드를 변경하면서 공부를 할 계획이다.


목차

  1. [Series 01] Overview (Link)
  2. [Series 02] Vulkan Overview (Link)
  3. [Series 03] Development Environment (Link)
  4. [Series 04] Create Sub-Module and Base Code (Link)
  5. [Series 05] Create an Instance (Link)
  6. [Series 06] Create Window Surface (Link)
  7. [Series 07] Select Physical Device (Link)
  8. [Series 08] Search and Select Queue Families (Link)
  9. [Series 09] Create Logical Device (Link)
  10. [Series 10] Create Swap Chain (Link)
  11. [Series 11] Create Image Views (Link)
  12. [Series 12] Introduction of Graphics Pipeline (Link)
  13. [Series 13] Shader Modules on Graphics Pipeline (Link)
  14. [Series 14] Fixed Functions on Graphics Pipeline (Link)
  15. [Series 15] Render Passes (Link)
  16. [Series 16] The End of Graphics Pipeline (Link)
  17. [Series 17] TBD

출처

  1. https://vulkan-tutorial.com/
  2. https://developer.android.com/ndk/guides/graphics/getting-started

4 thoughts on “[Vulkan Tutorial] 01-Overview”

  1. 블로그 정리를 잘하시네요, 좋은정보 많이 얻고 갑니다.

    본문중에,
    “Sample 코드를 다운받아서 빌드까지는 쉽게 할 수 있는데 새로운 프로젝트를 만들어서 Vulkan에 필요한 파일을 Import 하는 방법을 아직 잘 모르겠다.”
    ->
    android-24 부터 vulkan을 지원하기 시작하였고, (본문 출처 2번)
    Android NDK 폴더 보시면 android-ndk\platforms\android-24\arch-arm64\usr\lib 안에보면 libvulkan.so가 있음을 보실 수 있습니다. 물론 헤더도 inc 폴더보면 있고요, Vulkan 사용을 위해서는 libvulkan.so 및 헤더파일만 있으면 됩니다. 그외 동작원리는 아실꺼라 생략하고 (-lvulkan 등)

    libvulkan.so 는 Vulkan Loader이고, 이것이 해당 기기의 GPU driver를 찾아서 링크/동작되는 방식입니다.
    Vulkan Loader 또한 오픈소스라서 https://github.com/KhronosGroup/Vulkan-Loader 에서 내부 동작 원리 보실 수 있습니다. (Layer / Extension 관리 등)

    이미 아실수도 있겠지만, 대부분의 HW Vendor에서 아래 Vulkan 샘플도 케어하고 있으니 참고 하세요.
    https://github.com/SaschaWillems/Vulkan

    Reply
    • 안녕하세요. 글 남겨주셔서 정말 감사합니다.
      계속 Vulkan API에 대해서 공부를 하고 있는데 여전히 잘 이해하지 못하는 부분이 많이 있어서 어려운 시간을 보내고 있습니다.
      Vulkan Tutorial을 읽으면서 Vulkan Library를 포함해서 빌드하는 방법에 대해서 조금 이해를 하였습니다.
      하지만 Vulkan Loader에 대한 내용은 전혀 몰랐습니다. 좋은 정보 알려주셔서 감사합니다.
      Vulkan Tutorial에 대한 내용을 읽은 후에 알려주신 Loader에 대해서 꼭 읽어보도록 하겠습니다.
      좋은 자료와 출처 알려주셔서 정말 감사합니다.

      Reply
    • 안녕하세요. 글 읽어주셔서 감사합니다.
      조금이나마 도움이 되었으면 하네요.
      빨리 끝까지 작성을 하도록 하겠습니다.

      Reply

Leave a Reply to Admin Cancel reply