什么是 vulkan 中的 Alpha 组合?

问题描述 投票:0回答:1

我目前正在学习 Vulkan,最近遇到了一个概念,即 alpha 组合,我很难完全理解它。创建交换链时,我可以通过设置VkSwapchainCreateInfoKHR的compositeAlpha成员来配置此选项。

我已经查看了有关此主题的 Khronos 在线文档,但我仍然有一些问题:

这种情况下的 alpha 合成与我们在着色器程序中实现的相同吗? 如果不是,因为我怀疑这是由窗口系统处理的过程,您能解释一下窗口系统中的 alpha 合成过程吗?

windows vulkan alpha-transparency
1个回答
0
投票

这是指操作系统提供的窗口合成引擎。 Vulkan 为操作系统提供了支持渲染半透明 Windows 的选项,基于帧缓冲区的 alpha 分量。

NVidia 似乎根本不支持此功能。[1][2] Windows 在 DirectX 中支持此功能,但大多数 Vulkan 驱动程序似乎不支持此功能。[1 ][3][8][9] Intel Arc GPU 支持 Windows 的操作系统相关功能。[4] Intel 和 AMD 支持 Linux 的操作系统相关功能。[ 5][6] AMD 支持操作系统相关函数以及 MacOS 的后乘法。[7]

我不确定为什么没有一个主要 GPU 供应商在 Windows 上的 Vulkan 中支持这一点,尽管 DXGI 支持它。我注意到的一件事是,虽然它受 DXGI 支持,但它似乎从未暴露给设备驱动程序接口。 DXGI 可能会在后台将透明度信息传递到桌面窗口管理器,而 Microsoft 从未在 DWM API 中记录过该功能。

鉴于 Windows 明显缺乏支持,您可能只能使用

VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR

© www.soinside.com 2019 - 2024. All rights reserved.