混合将输入源片段的 R、G、B 和 A 值与存储在片段 (xf,yf) 位置的帧缓冲中每个样本的目标 R、G、B 和 A 值相结合。混合将针对片段覆盖的每个色彩样本进行,而不是每个片段只进行一次。
源值和目标值根据混合操作、由混合因子确定的源值和目标值加权因子四元组以及混合常数进行组合,以获得一组新的 R、G、B 和 A 值,如下所述。
混合是单独计算的,并应用于子通道使用的每个色彩附件,每个附件都有单独的控制。
在执行混合运算之前,有符号和无符号的归一化定点色彩成分会按照从归一化定点到浮点的转换中的规定进行隐含的浮点转换。混合运算被视为浮点运算,基本混合运算的精度和动态范围不低于用于表示目标成分的精度和动态范围。高级混合运算的精度和动态范围不低于用于表示目标组件的精度和动态范围,也不低于用于表示 16 位浮点数值的精度和动态范围。
Note
混合只针对浮点、UNORM、SNORM 和 sRGB 格式。在这些格式中,实现可能只支持其中某些子集的混合。VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT 表示哪些格式支持混合。