진행 중인 프로젝트/Vulkan 5

Vulkan GPU 선택, 논리적 장치, 큐를 생성, 스왑체인 화면 출력 기본 구조 설정

각 단계들을 구현하는 데 생겼던 문제점을 우선 적어본다. 각 구조체의 Extension 범위들을 동적으로 처리해줘야하는데 학습 특성상 이 기술이 나오기 전에는 고정된 값으로 들어갔다는 것을 파악하지 못하면 왜 안되는 지 고민하게 될 것이다. 즉 학습을 할 때 새로 넣었거나 현재에 맞게 작성된 코드더라도 다음 나올 것들을 생각해서 어떤 연관이 있는 코드들이 나왔을 때 어디를 연결시켜야 할 것인가를 우선적으로 생각하고 작성해야할 것 같다.동적처리를 찾지 못했다면 아마 왜 안되는 가에 대한 고민으로 많은 시간을 소모했을 것 같아 우려가 되어 글을 적어본다.

Vulkan 학습을 하며 알아야 할 점

중요한 것은 항상 자신이 안다고 생각하면 안된다는 것이다. 작은 것 하나하나 체크해가며 벽돌로 집을 짓듯이 쌓아올려야한다. 집을 지었는데 벽돌이 몇 개 깨져있었다고 생각해보자 항상 집에 불안요소를 앉고 살아야한다는 것이다. 저레벨 API라는 것은 벽돌 하나 하나로 집을 짓는 과정이라고 보면 된다. 불안요소를 앉고 있다는 것은 언제든 원점으로 돌아가 고쳐나가야 할 수도 있다는 점이다.그렇기에 항상 공식 다큐먼트들을 읽어보며 모든 구조를 다 알 필요는 없지만 핵심적으로 필요한 부분을 어떤 자료보다 더 정확하게 적혀있으니 모르는 부분이 나올 때마다 확인하여 제대로 알아갔으면 하여 SDK 다큐먼트와 API 다큐먼트의 주소를 올린다.1. Vulkan SDK Documenthttps://vulkan.lunarg.c..

Vulkan 인스턴스 생성 및 삭제

전체 코드#include#includeint main() { // Vulkan 어플리케이션 정보를 설정하기. VkApplicationInfo appInfo{}; appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; appInfo.pApplicationName = "Hello Vulkan"; appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); appInfo.pEngineName = "No Engine"; appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); appInfo.apiVersion = VK_API_VERSION_1_3; //Vulkan 인스턴스 생성 정보를 설정합니다. VkIn..

Vulkan SDK 및 학습용 라이브러리 GLFW, GLM 환경변수 설정 - 2

4.  프로젝트 내에서 환경변수 설정하기      1)  속성 - 구성속성 - 일반 - C++ 언어 표준 20표준 이상으로 변경 (std:: 같은 예제에 쓰일 명령어가 오류 남)       2)  속성 - C/C++ - 일반 - 추가 포함 디렉터리 (VulkanSDK 내 Include 폴더, GLFW 내 Include 폴더, GLM 폴더 연결)       3)  속성 - 링커 - 일반 - 추가 라이브러리 디렉터리 (Vulkan SDK 내 Lib 폴더, GlFW내 vc-               폴더 연결)       4)  속성 - 링커 - 입력 - 추가 종속성 (vulkan-1.lib, glfw3.lib 연결) 주의 : lib파일들이 전부 있는지 위에 설정한 주소로 들어가서 확인해야한다. 없다면 다른 ..

Vulkan SDK 및 학습용 라이브러리 GLFW, GLM 환경변수 설정 - 1

1. SDK 및 GLFW, GLM 라이브러리 다운로드   1) GLMhttps://github.com/g-truc/glm GitHub - g-truc/glm: OpenGL Mathematics (GLM)OpenGL Mathematics (GLM). Contribute to g-truc/glm development by creating an account on GitHub.github.com    2) GLFWhttps://www.glfw.org/download.html DownloadGLFW source code and binary distribution download links.www.glfw.org   3) Vulkan SDKhttps://vulkan.lunarg.com/sdk/home LunarX..

반응형