GGym's Practice Notes

Vulkan/GLFW/GLM 개발환경 세팅하기 (Windows/VS2017) 본문

Vulkan

Vulkan/GLFW/GLM 개발환경 세팅하기 (Windows/VS2017)

GGym_ 2020. 1. 19. 21:15

 

 

 

 

참조 : https://vulkan-tutorial.com/Development_environment
 

Development environment - Vulkan Tutorial

In this chapter we'll set up your environment for developing Vulkan applications and install some useful libraries. All of the tools we'll use, with the exception of the compiler, are compatible with Windows, Linux and MacOS, but the steps for installing t

vulkan-tutorial.com

 

IDE로는 Microsoft Visual Studio 2017 를 사용합니다. 2013이나 2015는 단계가 다를 수 있다고 되어있지만 크게 차이는 없는 듯 합니다.

 

Vulkan SDK

 Vulkan SDK 에는 헤더, 표준 유효성 검사 레이어, 디버깅 검사 툴, Vulkan 기능용 로더가 포함되어 있습니다. SDK는 LunarG Website에서 다운로드 받을 수 있습니다. 또한 이 사이트에서 유용한 추가 문서를 열람할 수 있습니다.

 

 필자는 SDK 1.1.130.0 을 설치 하였습니다. 설치 후 설치 위치를 확인 하시고 가장 먼저 할일은 그래픽카드와 드라이버가 Vulkan을 지원하는지 확인하는 것 입니다. SDK를 설치 한 후 설치 경로에 가서 bin 폴더에 있는 vkcube.exe 데모를 실행 시키세요. 아래와 같은 화면이 나오면 올바르게 실행이 되는 것 입니다.

오류 메세지가 표시되면 최신 드라이버가 설치 되어 있는지, 그래픽카드가 지원하는지 확인하세요.

 

 설치된 폴더 안에는 개발에 유용한 다른 프로그램들이 있습니다. glslangValidator.exe glslc.exe 프로그램은 사람이 읽을 수 있는 GLSL에서 바이트 코드로 쉐이더를 컴파일 하는데 사용됩니다. 이는 쉐이더 모듈 장에서 자세히 다룹니다.

bin 폴더 안에는 Vulkan 로더와 유효성 검사 레이어, lib 폴더에는 라이브러리, include 폴더에는 Vulkan 헤더가 포함되어 있습니다.

 

 

GLFW

 Vulkan 자체는 플랫폼에 독립적인 API이며 렌더링한 결과를 표시하는 창을 만드는 도구는 포함하지 않습니다. Vulkan의 크로스 플랫폼 이점을 활용하기 위해서 GLFW 라이브러리를 사용하여 Windows, Linux, MacOS가 지원하는 창을 만듭니다. SDL과 같이 같은 목적으로 사용 할 수 있는 라이브러리가 있지만, GLFW의 장점은 창 생성 외에도 Vulkan의 다른 플랫폼 관련 항목을 추상화하고 이를 지원하는 것 입니다. 

 공식 웹사이트에서 GLFW의 최신버전을 다운로드 받을 수 있습니다. 필자의 버전은 3.3.1이며 2020년 1월 19일 현재 최신버전입니다. 다운로드 받으신 후 편한 위치에 설치하십시오. 저는 Vulkan 라이브러리와 같이 관리하기 위해 같은 디렉토리에 설치 하였습니다.

 

 

GLM

 DirectX12와는 달리 Vulkan에는 선형대수연산을 위한 라이브러리가 포함되어 있지 않기 때문에 GLM을 설치 해야합니다. GLM은 그래픽 API와 함께 사용되기 위해 설계된 라이브러리이며 일반적으로 OpenGL과 함께 사용됩니다. 

 GLM은 헤더 전용 라이브러리이므로 최신버전을 다운로드하여 편리한 위치에 저장하세요. 필자의 버전은 9.9.9.7이며 설치 위치는 VulkanSDK, GLFW와 같은 위치를 선택하였습니다. 

 

Visual Studio 설정

 제대로 설치가 되었다면 Visual Studio 설정을 끝낸후 간단한 코드를 작성하여 실행해 볼 수 있습니다.

Visual Studio를 실행한 후 새 프로젝트에서 빈 프로젝트로 설정하고 확인을 누릅니다.

프로젝트가 생성되었다면 솔루션 탐색기의 소스파일에 마우스 오른쪽 클릭 후 추가->새 항목 을 선택하세요.

프로젝트를 구성하기 위하여 몇가지 설정을 더 해야합니다.

대부분의 설정이 디버그 및 릴리스 모드에 모두 적용되므로 상단 메뉴바의 프로젝트 -> 속성 창을 열고 모든 구성을 선택해야 합니다.

 

구성 속성 -> C/C++ -> 일반 -> 추가 포함 디렉터리 에서 편집을 누르고 설치된 경로의 include를 지정합니다.

 

구성 속성 -> 링커 -> 일반 -> 추가 라이브러리 디렉터리 에서 편집을 누르고 아래와 같이 라이브러리 폴더를 추가합니다.

 

구성 속성 -> 링커 -> 입력 -> 추가 종속성 에서 편집을 누르고 아래와 같이 라이브러리 파일을 추가합니다.

아래 코드를 복사 붙여넣기 한 후 F5를 눌러 실행시켜 보세요.

#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>

#include <iostream>

int main() {
    glfwInit();

    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
    GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);

    uint32_t extensionCount = 0;
    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);

    std::cout << extensionCount << " extensions supported" << std::endl;

    glm::mat4 matrix;
    glm::vec4 vec;
    auto test = matrix * vec;

    while(!glfwWindowShouldClose(window)) {
        glfwPollEvents();
    }

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;
}

'Vulkan' 카테고리의 다른 글

1. 삼각형 그리기 _ 1) 설정 /기본 코드 - Vulkan Tutorial  (0) 2020.01.21