金属中笔划相互交融时融合

时间:2018-08-06 05:53:38

标签: ios swift metal metalkit

我绘制了以固定间隔重叠的小方块,因此在“绘图应用程序”中感觉就像纹理笔刷。

当前,我使用管道描述符

pipelineDescriptor.colorAttachments[0].rgbBlendOperation = .add
pipelineDescriptor.colorAttachments[0].alphaBlendOperation = .add
pipelineDescriptor.colorAttachments[0].sourceRGBBlendFactor = .sourceAlpha
pipelineDescriptor.colorAttachments[0].sourceAlphaBlendFactor = .one
pipelineDescriptor.colorAttachments[0].destinationRGBBlendFactor = .oneMinusSourceAlpha
pipelineDescriptor.colorAttachments[0].destinationAlphaBlendFactor = .oneMinusSourceAlpha

我的目标是当两个笔触彼此交叉时,我希望使用白色,如OpenGL中的Blend模式添加剂

我附了一张我现在得到的照片。

enter image description here

当笔划穿过时,它应该显示为白色。

建议一种实现方式

1 个答案:

答案 0 :(得分:0)

您似乎没有在MTLRenderPipelineColorAttachmentDescriptor上设置blendingEnabled属性。另外,请确保您使用的是sRGB纹理,以便采样器将知道如何在混合时将8位值解码为线性光。