Open WhiteRainbow opened 4 years ago
确实有问题,应该是之前改透明度问题造成的...
@WhiteRainbow 之前透明度问题的解决方案不完善,导致这里也出了问题。暂时可以通过把橡皮擦的 opacity
属性强制设为 1
来解决。等后续优化了透明度那一块的逻辑之后可以彻底解决这个问题。
@Harley-xk 另外框架如果支持只生成绘制部分的图片就更完美了,因为如果绘制比较少而画布比较大时以整块画布生成图片会有很多空白
You can update blend options to like this it will erase your drawing completely Temp. solution
attachment.isBlendingEnabled = true
attachment.alphaBlendOperation = .subtract
attachment.sourceRGBBlendFactor = .zero
attachment.destinationRGBBlendFactor = .zero
attachment.sourceAlphaBlendFactor = .zero
attachment.destinationAlphaBlendFactor = .zero
测试bug情况 画笔颜色: 纯红色 画笔大小: 20 画布背景颜色: 透明 控制器背景颜色: 棕色 橡皮擦大小: 30
只要橡皮擦大小大于画笔大小就无法完全擦出, demo里背景是白色看不出来, 换个其他颜色可以看到 我试图将MTLRenderPipelineColorAttachmentDescriptor中的所有颜色混合因子都设为0, 虽然可以完全擦除, 但是橡皮擦形状非圆形,而是个正方形