我正在尝试了解 Renderscript 中的映射内核。
示例映射内核如下所示
uchar4 RS_KERNEL invert(uchar4 in, uint32_t x, uint32_t y) {
uchar4 out = in;
out.r = 255 - in.r;
out.g = 255 - in.g;
out.b = 255 - in.b;
return out;
}
但是,关于 x、y 参数所指的内容并不清楚(x 是指向位图中给定像素的高度还是宽度)
官方文档只说了这么多关于 x, y
映射核函数或归约核累加器函数可以使用特殊参数 x、y 和 z 访问当前执行的坐标,这些参数必须是 int 或 uint32_t 类型。这些参数是可选的。
这是关键信息,因为交换和访问可能导致越界错误。如果您对此进行了研究,请就此发表您的见解。