【问题标题】:Texture Brush (Drawing Application ) Using Metal使用金属的纹理画笔(绘图应用程序)
【发布时间】:2019-02-02 16:50:47
【问题描述】:

我正在尝试实现一个金属支持的绘图应用程序,其中笔触通过纹理正方形沿手指位置重复绘制在 MTKView 上。

我用 alpha 0.2 绘制这个。当正方形重叠时,添加颜色。如何使用 alpha 0.2 进行绘制。

【问题讨论】:

  • 如果您只是在单个笔划的渲染编码器中使用 alpha = 1 对绘制调用进行编码,但使用正确的 alpha 混合到之前的笔划中会怎样?

标签: ios swift metal metalkit


【解决方案1】:

我认为您需要将画笔方块绘制到单独的纹理,最初清除为透明,而不进行混合。然后通过混合将整个纹理绘制到您的视图中。

如果您将画笔方块直接绘制到视图上,那么它们会累积。绘制正方形 1 后,它是图像的一部分。金属不再能将它与其他已经存在的东西区分开来。因此,当您绘制与其重叠的正方形 2 时,它将与已经存在的东西(包括正方形 1)融合在一起。

【讨论】:

  • 当笔触交叉时,必须进行混合。如果我们禁用混合,我们就不能指望这些交汇点。在正常绘图应用程序中,当两个笔划交叉时,必须混合imgur.com/gallery/UpXNfe9
  • 这与您在问题中所说的完全相反。也许您需要的不是绘制重叠的正方形,而是将手指笔划转换为“粗线”(由三角形组成)。您可以通过混合来绘制这些三角形,但它们不会相互重叠,除非路径实际上越过自身。
猜你喜欢
  • 2014-08-30
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多