0

我正在尝试了解 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 类型。这些参数是可选的。

这是关键信息,因为交换和访问可能导致越界错误。如果您对此进行了研究,请就此发表您的见解。

4

1 回答 1

2

和(和x,如果使用 3D 分配)是宽度和高度(以及 3D 的深度)。这意味着您的内核函数的参数对应于您分配中的数据,。yzinxy

于 2018-01-30T11:34:09.840 回答