在片段着色器中读取像素数据

Reading pixel Data in Fragment Shader

我正在用 Metal 做一个照片编辑应用程序 iOS。我有图像的纹理。当用户点击纹理时,我想有一个工具我想制作点击点(点击点周围的方形区域)我想阅读那个特定区域,我想阅读颜色,我想把它变成灰度。

我知道我们可以在内核函数中读取纹理的像素数据。是否可以在Fragment Shader中读取像素数据,做上面的场景。

您描述的是Apple提供的HelloCompute Metal示例。只需下载它,看看纹理是如何渲染的,以及如何使用着色器将彩色像素转换为灰度。 BasicTexturing 示例还展示了如何自行进行普通纹理渲染。