Vulkan Cookbook 第二章 17 销毁交换链

销毁交换链

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

当我们使用完交换链,可能我们不想再呈现图像,或者因为我们要关闭应用程序,所以要销毁它。我们需要在销毁交换链创建时使用的表面之前销毁它。

怎么做...

1.获取逻辑设备的句柄并将其储存在名为logical_device的VkDevice类型变量中。
2.获取需要销毁的交换链对象的句柄,将其储存在名为swapchain的VkSwapchainKHR类型变量中。
3.调用vkDestroySwapchainKHR( logical_device, swapchain, nullptr )第一个参数提供逻辑设备句柄,第二个参数提供要销毁的交换链句柄,最后一个为nullptr。
4.出于安全原因,请为swapchain变量分配VK_NULL_HANDLE值。

这个怎么运作...

要销毁交换链,我们可以准备类似下面示例的代码:

if( swapchain ) { 
  vkDestroySwapchainKHR( logical_device,
  swapchain = VK_NULL_HANDLE; 
}

首先检查是否真的创建了交换链(如果它的句柄不是空的)。接下来调用vkDestroySwapchainKHR()函数,然后我们将VK_NULL_HANDLE值赋给swapchain变量,以确保不会尝试两次删除同一个对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值