我安装的是Qt5.15.0,安装自己带了一个vulkan的例子,地址在这里,
C:\Qt\qt5\Examples\Qt-5.15.0\quick\scenegraph\scenegraph.pro
用QtCreator打开后,build一下,发现找不到vulkan/vulkan.h。
下载vulkan SDK
下载地址在这里,
LunarXchange https://vulkan.lunarg.com/sdk/home因为不清楚版本的兼容性,一时半会也没找到可用的信息,我就随便选了一个较近的版本,
https://vulkan.lunarg.com/sdk/home因为不清楚版本的兼容性,一时半会也没找到可用的信息,我就随便选了一个较近的版本,
https://sdk.lunarg.com/sdk/download/1.2.198.1/windows/VulkanSDK-1.2.198.1-Installer.exe
然后安装到了这里,
D:\VulkanSDK\1.2.198.1
编译scenegraph.pro项目
打开scenegraph.pro文件,添加了下面三行,
QT       += vulkan
INCLUDEPATH += D:/VulkanSDK/1.2.198.1/Include
VULKAN_SDK = D:/VulkanSDK/1.2.198.1全部 scenegraph.pro的内容给出来如下,
QT       += vulkan
TEMPLATE = subdirs
qtConfig(opengl(es1|es2)?) {
    SUBDIRS += \
            graph \
            simplematerial \
            sgengine \
            fboitem \
            openglunderqml \
            textureinthread \
            twotextureproviders
}
SUBDIRS += \
        customgeometry \
        rendernode \
        threadedanimation
macos|ios {
    SUBDIRS += \
        metalunderqml \
        metaltextureimport
}
win32 {
    SUBDIRS += d3d11underqml
}
qtConfig(vulkan) {
    SUBDIRS += \
        vulkanunderqml \
        vulkantextureimport
}
EXAMPLE_FILES += \
    shared
INCLUDEPATH += D:/VulkanSDK/1.2.198.1/Include
VULKAN_SDK = D:/VulkanSDK/1.2.198.1这个SDK变量从哪里来呢?
可以到这里去找,
C:\Qt\qt5\5.15.0\msvc2019_64\mkspecs\features\win32\windows_vulkan_sdk.prf
内容如下,
isEmpty(QMAKE_INCDIR_VULKAN) {
    # Pick up the VULKAN_SDK env var set by the LunarG SDK so that the Vulkan
    # headers are found out-of-the-box on typical Windows setups.
    QMAKE_INCDIR_VULKAN = $$(VULKAN_SDK)/include
    # Do not add default include paths as that can knock std headers
    # out of their stride due to their usage of #include_next.
    contains(QMAKE_DEFAULT_INCDIRS, $$QMAKE_INCDIR_VULKAN): \
        QMAKE_INCDIR_VULKAN =
    # Do not export the include dir but resolve it on every qmake call.
    QMAKE_EXPORT_INCDIR_VULKAN = -
}大意就是说,如果包含VULKAN的话,就需要VULKAN_SDK这个地址,这个地址你可以在环境变量中定义,也可以和我一样在scenegraph.pro中定义。
完事之后右击项目,选择run qmake,然后再build,就可以正常运行程序了。
运行子程序
这个scenegraph是一个比较大的项目,里面有很多小项目,你可选择其中的子项目,右击run单独运行,比如我要运行d3d11underqml,如图

然后,就可以看到运行结果了,

本文结束。










