摧毁图像
译者注:示例代码点击此处
应该销毁不在使用的图像以释放其资源。
怎么做...
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()函数内会判空。但是跳过不必要的函数调用是很好的。接下来,我们销毁图像视图并为存储句柄的变量分配空句柄。
我们还尝试通过检查图像的句柄是否为空来避免不必要的函数调用。