Vulkan Cookbook 第四章 18 摧毁图像

摧毁图像

译者注:示例代码点击此处

应该销毁不在使用的图像以释放其资源。

怎么做...

1.获取逻辑设备的句柄并将其存储在名为logical_device的VkDevice类型变量中。
2.使用图像的句柄初始化名为image的VkImage类型变量。
3.调用vkDestroyImage( logical_device, image, nullptr )并提供逻辑设备句柄,图像的句柄和nullptr值。
4.出于安全原因,请为image变量分配VK_NULL_HANDLE值。

这个怎么运作...

通过单次调用vkDestroyImage()函数来销毁图像。为此,我们提供逻辑设备的句柄,图像的句柄和nullptr值,如下所示:

if( VK_NULL_HANDLE != image ) {
  vkDestroyImage( logical_device, image, nullptr ); 
  image = VK_NULL_HANDLE;
}

首先,检查句柄是否为空,其实我们没有必要这么做,因为vkDestroyImageView()函数内会判空。但是跳过不必要的函数调用是很好的。接下来,我们销毁图像视图并为存储句柄的变量分配空句柄。

我们还尝试通过检查图像的句柄是否为空来避免不必要的函数调用。

猜你喜欢

转载自blog.csdn.net/qq_19473837/article/details/85069697