欢迎光临散文网 会员登陆 & 注册

Vulkan 02 - 开发环境

2023-03-25 10:22 作者:rabanastre  | 我要投稿

本章我们创建windows的vulkan开发环境。

我们使用C++17,visual studio 2017或者2019。


Vulkan SDK

SDK包括头文件,标准验证层,调试工具和一个vulkan函数的加载器(loader)。Loader在运行时查询驱动暴露的函数,类似OpenGL的GLEW。

SDK可以从LunarG的官方网站下载,如果仅下载SDK是不需要注册的。

SDK的安装期间,注意一下安装位置。安装完成后,首先我们要确认一下你的显卡和驱动支持vulkan。打开SDK的安装目录,运行bin目录里的vkcube.exe,如果能运行且正确显示一个立方体就正确了。

目录里还有一个有用的程序,glslanValidator.exe和glslc.exe是用来编译GLSL的,编译结果是字节码(byte code)。在之后的着色器章节我们会详细描述。Bin目录里还有vulkan loader和验证层,lib目录里有必须的库文件。

最后,include目录里有vulkan头文件。


GLFW

如前所述,vulkan是平台无关的API,不包括创建窗体的函数。为了支持跨平台,并且避开Win32的众多内容,我们使用GLFW库来创建窗体,它支持Windows, Linux和Macos。还有其它库也有这个功能,例如SDL,但是GLFW的好处是,除了创建窗体,他还抽象了其它一些平台相关的功能。

你可以在GLFW的官方网站上找到最新release版本。本教程我们将使用64-bit二进制的库。

解压缩并且放在你觉得方便的地方。


GLM

不像DirectX 12,Vulkan没有线性代数库,我们需要自己编写,或者使用第三方库。GLM是一个很好的库,它常常用来和OpenGL一起使用。

GLM是一个头文件Only的库,你只需要下载最新版本,解压缩并且放在你觉得方便的地方,最后include就可以了。


设置Visual Studio

我们已经安装了所有的依赖文件,可以设置visual studio了,然后就可以开始写点代码了。

打开Visual Studio然后创建一个Windows Desktop Wizard项目,输入项目名称然后点确定按钮。

在项目创建选项里,选择

Application type: Console Application(.exe)

Additional Options: 选择Empty Project

其它勾选框都不要选。

然后创建一个main.cpp文件,粘贴代码如下。你现在还不需要理解代码做了什么,只是测试可以编译和运行vulkan程序。


#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,"Vulkanwindow",nullptr, nullptr);

    uint32_t extensionCount = 0;

    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount,nullptr);

    std::cout << extensionCount <<"extensionssupported\n";

    glm::mat4 matrix;

    glm::vec4 vec;

    auto test = matrix * vec;

    while(!glfwWindowShouldClose(window))

    {

        glfwPollEvents();

    }

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;

}


现在,设置项目

● 包含目录加入GLFW和GLM的头文件的目录

● 附件库目录加入GLFW库的目录

● 附加库文件加入vulkan-1.lib和glfw3.lib

● c++语言标准设置成C++17


现在可以编译和运行了。

如果运行时,控制台显示的extension的数量不是零,那么恭喜,你已经设置好可以玩玩vulkan了。


Vulkan 02 - 开发环境的评论 (共 条)

分享到微博请遵守国家法律