ios - 以相同的 Alpha 混合金属
问题描述
我正在添加带有 alpha 0.2 的红色。
在重叠区域中,我也希望这些区域处于 0.2 的 alpha 中。现在它以 0.6 的形式出现。我怎么能这样做。目前我的管道描述符是
pipelineDescriptor.colorAttachments[0].isBlendingEnabled = true
pipelineDescriptor.colorAttachments[0].rgbBlendOperation = .add
pipelineDescriptor.colorAttachments[0].alphaBlendOperation = .add
pipelineDescriptor.colorAttachments[0].sourceRGBBlendFactor = .one
pipelineDescriptor.colorAttachments[0].sourceAlphaBlendFactor = .one
pipelineDescriptor.colorAttachments[0].destinationRGBBlendFactor = .oneMinusSourceAlpha
pipelineDescriptor.colorAttachments[0].destinationAlphaBlendFactor = .oneMinusSourceAlpha
我需要在 Pipeline Descriptor 或 In Shader 中执行此操作吗?
解决方案
如果您希望最终结果与您正在绘制的 alpha 具有相同的 alpha,则需要将它们设置为:
pipelineDescriptor.colorAttachments[0].sourceAlphaBlendFactor = .one
pipelineDescriptor.colorAttachments[0].destinationAlphaBlendFactor = .zero
这意味着最终的 alpha 对您正在渲染的目标没有任何贡献。
推荐阅读
- arrays - 如何利用 FOR LOOP 中的变量集来访问数组?
- dynamics-crm - 如何为 Power Apps 门户设置 OTP 电话身份验证
- android - 在 FireBase 云消息传递中单击通知时恢复活动
- java - 如何根据位图大小更改 RelativeLayout 大小
- python - 如果没有,如何处理输出中的数据帧跳过列?
- python - 在 SMOTETomek 之前和之后使用 train_test_split 时的不同分数
- python - 为 Visual Studio 安装 Python 调试符号
- javascript - 如何更改背景图像
- javascript - 有没有办法从异步代码同步到顺序执行
- api - 如何将 Salesforce 订单推送到外部 REST API?