Spec-Zone.ru › Qt 5.13

Класс QVulkanFunctions

Класс QVulkanFunctions предоставляет кроссплатформенный доступ к базовому API Vulkan 1.0 на уровне экземпляра. Подробнее...

Заголовок: #include <QVulkanFunctions>
qmake: QT += gui
С момента: Qt 5.10

Этот класс был представлен в Qt 5.10.

Подробное описание

Qt и приложения Qt по умолчанию не подключаются к каким-либо библиотекам Vulkan. Вместо этого все функции разрешаются динамически во время выполнения. Каждый QVulkanInstance предоставляет объект QVulkanFunctions, доступный через QVulkanInstance::functions(). Он не содержит функций уровня устройства, чтобы избежать потенциальной нагрузки внутренней диспетчеризации. Вместо этого функции, которые зависят от устройства или от диспетчерируемого дочернего объекта устройства, предоставляются через QVulkanDeviceFunctions и QVulkanInstance::deviceFunctions(). QVulkanFunctions и QVulkanDeviceFunctions вместе предоставляют доступ ко всему основному API Vulkan, исключая любые расширения.

Примечание: экземпляры QVulkanFunctions нельзя создавать напрямую.

Типичное использование:

    void Window::render()
    {
        QVulkanInstance *inst = vulkanInstance();
        QVulkanFunctions *f = inst->functions();
        ...
        VkResult err = f->vkAllocateCommandBuffers(device, &cmdBufInfo, &cmdBuf);
        ...
    }

Примечание: особенности и расширения интерфейса системы окон (WSI) исключены. Этот класс охватывает только основные команды Vulkan, за исключением создания, уничтожения экземпляра и разрешения функций, поскольку такая функциональность покрывается самим QVulkanInstance.

Для доступа к дополнительным функциям приложения могут использовать QVulkanInstance::getInstanceProcAddr() и vkGetDeviceProcAddr(). Приложения также могут решить подключиться к библиотеке Vulkan напрямую, так как платформы с соответствующим загрузчиком обычно экспортируют символы функций для основных команд. Дополнительную информацию см. в странице руководства vkGetInstanceProcAddr.

См. также QVulkanInstance, QVulkanDeviceFunctions, QWindow::setVulkanInstance() и QWindow::setSurfaceType().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qvulkanfunctions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API