【问题标题】:GPUImage giving strange outputs on Adreno GPU but working fine on Mali GPUGPUImage 在 Adreno GPU 上给出奇怪的输出,但在 Mali GPU 上工作正常
【发布时间】:2020-10-16 11:15:34
【问题描述】:

我将模糊着色器从着色器玩具转换为在 Android 中使用。通过使用 GPUImage,我的着色器在我的具有 GPU Mali-G72 MP3 的 Oppo 设备和其他具有 Mali GPU 的设备上工作得非常好。但是,当我在具有 GPU Adreno 618 的三星 A71 和其他具有相同 Adreno GPU 的设备上运行代码时,输​​出图像会像第二张图像一样被像素化。

可能是什么问题?

我是这样使用 GPUImage 的:

   Bitmap bitmap = resizeBitmap(original, 1000, 1000);

    GPUImage gpuImage = new GPUImage(this);


    GPUImageFilter filter = new GPUImageFilter(remap(45, 0, 100, 7, 45), new float[]{bitmap.getWidth(), bitmap.getHeight()}, 3);

    gpuImage.setImage(bitmap);

    gpuImage.setFilter(filter);

【问题讨论】:

    标签: android opengl-es gpu textures gpuimage


    【解决方案1】:

    我已经解决了这个问题。发生这种情况的原因是在 Adreno GPU 中不断变化的 gamma 值容易使图像像素化。我将图像的 gamma 提高到 8.0,然后经过一些调整,我将 gamma 标准化为 1.0/8.0。将值从 8.0 降低到 3.7 有助于我正常化游戏。

    【讨论】:

      猜你喜欢
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2023-02-19
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      相关资源
      最近更新 更多