【发布时间】:2016-05-03 02:07:14
【问题描述】:
我想知道如何为 GPUImage 创建自定义过滤器。现在我可以从这段代码中创建一个棕褐色自定义过滤器(这是由 Brad Larson 在 GitHub 上作为示例提供的):
varying highp vec2 textureCoordinate;
uniform sampler2D inputImageTexture;
void main()
{
lowp vec4 textureColor = texture2D(inputImageTexture, textureCoordinate);
lowp vec4 outputColor;
outputColor.r = (textureColor.r * 0.393) + (textureColor.g * 0.769) + (textureColor.b * 0.189);
outputColor.g = (textureColor.r * 0.349) + (textureColor.g * 0.686) + (textureColor.b * 0.168);
outputColor.b = (textureColor.r * 0.272) + (textureColor.g * 0.534) + (textureColor.b * 0.131);
outputColor.a = 1.0;
gl_FragColor = outputColor;
}
我很想知道 Brad Larson 是如何知道这些数字的,以及这意味着什么。我到处搜索,没有找到这方面的教程。有人可以指导我使用 Photoshop 创建自己的自定义照片滤镜,然后将其转换为 .fsh 代码文件吗?
例如,如果我要在 Photoshop 中将图像更改为粉红色。如何在上面的代码中得到这些数字?
【问题讨论】:
标签: ios objective-c c opengl-es gpuimage