我有一个2D查找表,并希望用作过滤器。我已经阅读了如何创建自定义CIFilter,主要部分是编写内核代码,这就是我被卡住的地方。
kernel vec4 coreImageKernel(sampler Image, __table sampler LUT) {
vec4 p = sample(Image, samplerCoord(Image));
float size = 23.0;
float x = p.r * (size - 1.0);
float y = p.g * (size - 1.0) + p.b * (size - 1.0) * size;
vec4 newPix = sample(LUT, vec2(x, y));
return vec4(newPix.rgb, 1.0);
}
然而,这并没有给我任何接近正确的信息。