跳转至

vkGetSwapchainImagesKHR

函数原型

1
2
3
4
5
VkResult vkGetSwapchainImagesKHR(
    VkDevice                                    device,
    VkSwapchainKHR                              swapchain,
    uint32_t*                                   pSwapchainImageCount,
    VkImage*                                    pSwapchainImages);

描述

获得与交换链关联的可显式图像。

参数

  • device : 与交换链关联的逻辑设备。

  • swapchain : 获取图像的交换链。

  • pSwapchainImageCount : 可呈现图像数量的指针。

  • pSwapchainImages : NULL或者 VkImage 结构体数组指针。

    • pSwapchainImages 为NULL时,pSwapchainImageCount 返回可显示图像数量;
    • pSwapchainImages 不为NULL时,返回 pSwapchainImageCount 个可显示图像到 pSwapchainImages中。

返回值

代码示例

VkSurfaceCapabilitiesKHR capabilities;
// 查询基础表面特性
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, surface, &capabilities);
// 交换链支持的最小图像个数+1数量类实现三倍缓存
uint32_t imageCount = capabilities.minImageCount + 1; 
vkGetSwapchainImagesKHR(device, swapChain, &imageCount, nullptr);

// 交换链图像句柄
vector<VkImage> swapChainImages; 
swapChainImages.resize(imageCount);
vkGetSwapchainImagesKHR(device, swapChain, &imageCount, swapChainImages.data());