我试图弄清楚为什么CIKernel中的sample(sampler img, vec2 coord)
方法我写的不断给我意想不到的结果,所以我做了简单的测试:
这很有效。
kernel vec4 simpleFilter(sampler p)
{
vec2 dc = destCoord();
return sample(p, samplerTransform(p, dc));
}
这不是。它为前255个像素生成[0, 0, 0, 255]
,然后生成[0, 0, 0, 0]
。
kernel vec4 simpleFilter(sampler p)
{
vec2 dc = destCoord();
vec2 tc = samplerTransform(p, dc);
return sample(p, tc);
}
为什么将采样器结果转换为vec2
的行为会导致整个过程中断?
答案 0 :(得分:0)
事实证明,这是使用模拟器而非真实硬件的工件。获得的经验:不要使用模拟器进行自定义CIFilter开发。