1

rsSample() 似乎旨在从多个细节级别的 mipmaped 纹理中进行采样以避免混叠。鱼眼示例将是一个很好的用例。

实现只是从底层 mipmap 中采样 8 个像素,并对它们进行线性混合。

使用这个简单的内核,我似乎只能在 Google Pixel 上获得 15 Mpixels/second:

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,我做错了什么?

4

0 回答 0