天天看點

Vulkan 學習筆記二 - 開發環境搭建Windows

– 本文記錄了,我在windows 下設定Vulkan應用程式的環境中,和如何安裝一些比較有用的庫。

開發環境搭建

  • Windows
    • Vulkan SDK
    • GLFW
    • GLM
    • Visual Studio 2017 環境安裝
      • 建立項目
      • 設定環境
      • 編寫代碼

Windows

我們需要支援C++17的編譯器,我選擇的是Visual Studio 2017 傳說vs2017以後的都支援了

Vulkan SDK

開發Vulkan應用程式所需的最重要的元件是SDK。它包括标題,标準驗證層,調試工具和Vulkan函數的加載程式。加載程式會在運作時在驅動程式中查找功能,類似于OpenGL的GLEW-如果您熟悉的話。

下載下傳位址:Vulkan SDK

GLFW

當然你還需要 GLFW或者SDL 這兩個選一個就行了,我用的是 GLFW因為我看的教程是這個。

下載下傳位址: GLFW or SDL

GLM

下載下傳位址:GLM

Visual Studio 2017 環境安裝

建立項目

Vulkan 學習筆記二 - 開發環境搭建Windows
Vulkan 學習筆記二 - 開發環境搭建Windows

設定環境

Vulkan 學習筆記二 - 開發環境搭建Windows
Vulkan 學習筆記二 - 開發環境搭建Windows
Vulkan 學習筆記二 - 開發環境搭建Windows
Vulkan 學習筆記二 - 開發環境搭建Windows
Vulkan 學習筆記二 - 開發環境搭建Windows
Vulkan 學習筆記二 - 開發環境搭建Windows

編寫代碼

#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\n";

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

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

	glfwDestroyWindow(window);

	glfwTerminate();

	return 0;
}