Vulkan选择转换交换链图像的方式

选择转换交换链图像的方式
在某些设备(尤其是移动设备)中,图像可以向不同方向显示。当图像在屏幕上显示时,有时可以设定显示图像的方向,在使用Vulkan时我们可能会获得这项权力。在创建交换链时,需要设定转换方式,该转换方式会在图像被显示前应用于图像。

具体处理过程

(1)获取显示曲面的功能(请参阅“获取显示曲面的功能”小节)。将这些数据存储在一个VkSurfaceCapabilitiesKHR类型的变量中,将该变量命名为surface_capabilities。
(2)将选定的转换方式存储在VkSurfaceTransformFlagBitsKHR类型的位域变量中,将该变量命名为desired_transform。
(3)创建一个VkSurfaceTransformFlagBitsKHR类型的变量,将其命名为surface_transform,该变量用于存储指定显示曲面支持的转换方式。
(4)查明desired_transform变量中已被设置的所有位,是否在显示曲面功能(由surface_capabilities变量代表)的supportedTransforms成员中也被设置了。如果所有这些位都被设置了,就将desired_transform变量的值赋予surface_transform变量。
(5)如果选定的转换方式没有全部得到支持,可通过将surface_capabilities.currentTransform成员的值赋予surface_transform变量,且仅使用指定显示曲面支持的转换方式。

具体运行情况
显示曲面功能的supportedTransforms成员,含有指定硬件平台支持的所有图像转换方式。转换方式定义了在屏幕上显示图像前,应该以何种方式旋转或反射图像。在创建交换链的过程中,我们可以设置转换方式和显示引擎,将它们作为显示处理过程的组成部分应用于图像。
我们可以选用得到支持的任何值。使用下面的代码可以选用我们想要的转换方式,或者仅使用指定硬件平台支持的转换方式。

Vulkan选择转换交换链图像的方式

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

Vulkan实战