rsSample()似乎是用于跨多个细节层次的mipmap纹理进行采样,以避免混叠。 fisheye example将是一个很好的用例。
implementation只是从底层的mipmap中抽取8个像素,并对它们进行线性混合。
看来我只能通过这个简单的内核在Google Pixel上获得15 Mpixels /秒:
uchar4 __attribute__((kernel)) rescaletest(uint32_t x, uint32_t y) {
float2 location = {x,y};
return convert_uchar4(rsSample(gInput8888, gWrapLinearMipLinear, location/2000.f, 1.5f)*255.f);
}
考虑到所有合成图形可能使用mipmap,并且甚至一个60fps的纹理合成需要120Mpixels / sec,我做错了什么?