美文网首页
Vulkan开发环境配置

Vulkan开发环境配置

作者: Dragon_boy | 来源:发表于2020-09-09 22:33 被阅读0次

这里使用win10作为开发平台,IDE使用VS2019。首先是Vulkan的SDK配置,它包含头文件、标准层验证、调试工具和Vulkan函数的加载器,这些类似于我们在OpenGL中使用过的Glad和GLEW等。

Vulkan的SDK下载链接:https://vulkan.lunarg.com/

下载好后我们可以运行Bin目录中的vkcube.exedemo程序试一下:


同一目录下的glslangValidator.exeglslc.exe程序可以用来编译着色器程序,将GLSL代码编译为字节码。Bin目录还包含Vulkan加载器和验证层的文件,Lib目录中包含一些库,Include目录包含Vulkan头文件。

之前提到过,Vulkan本身是一个相对来说跨平台的API,并没有自身包含创建窗口来显示渲染结果的工具,这里使用GLFW库来创建窗口,这个就不介绍了。

同理,对于数学操作,我们也可以使用之前介绍过的GLM库。

接下来我们在VS中创建一个空项目,然后在项目配置中配置好相应的头文件目录以及库文件目录,同时链接库文件(新的库文件是vulkan-1.lib)。

接着我们创建一个.cpp文件,写下下面的代码:

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

#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;

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

    glfwDestroyWindow(window);

    glfwTerminate();

    return 0;
}

可以发现创建一个窗口,同时控制台打印了支持的扩展数量。

对于代码,如果写过GLFW配合OpenGL的话,就会发现很容易理解。配置GLFW窗口,然后声明一个窗口指针。vkEnumerateInstanceExtensionProperties可以将Vulkan实例的扩展属性,即可接受扩展数存储在第二个变量中,接着就是窗口渲染循环,事件响应,在循环后摧毁窗口,终止GLFW。

相关文章

网友评论

      本文标题:Vulkan开发环境配置

      本文链接:https://www.haomeiwen.com/subject/vjiyektx.html