【发布时间】:2019-04-30 05:02:12
【问题描述】:
我正在 Metal iOS 中做一个照片编辑应用程序。我有图像纹理。当用户点击纹理时我想要一个工具我想要制作点击点(点击点周围的方形区域)我想要读取该特定区域并且我想要读取颜色并且我想要使其成为灰度。
我知道我们可以在内核函数中读取纹理的像素数据。是否可以在 Fragment Shader 中读取像素数据并执行上述场景。
【问题讨论】:
-
在 iOS 上,片段着色器可以从颜色附件接收颜色作为输入变量。使用
[[color(m)]]属性装饰参数(或[[stage_in]]结构参数的字段)。请参阅 Metal Shading Language Specification 中的 Programmable Blending 部分,其中实际给出了转换为灰度的示例。 -
@KenThomases 我会解释这个问题。我有一个尺寸为 0f 2732*2048 的纹理。 .当用户点击(732.5,456.6)时。我需要在大小为 3 像素宽度的抽头点周围制作一个正方形,并且我想读取该像素,我想直接附加该像素。在某些情况下,我想要灰度。我想在绘图应用程序中使用橡皮擦工具之类的一些场景