我想弄清楚为什么我正在编写的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的行为会导致整个过程中断?
发布于 2016-01-27 23:01:30
事实证明,这是使用模拟器而不是真正的硬件的产物。学到的教训:不要使用模拟器进行自定义CIFilter开发。
https://stackoverflow.com/questions/35024278
复制相似问题