android - glGenerateMipmap IMGSRV 错误

标签 android opengl-es-2.0 mipmaps

在我的应用程序中,我尝试使用纹理,但出现错误

:0: SGXQueueTransfer: all paths failed
:0: HardwareMipGen: Failed to generate texture mipmap levels (error=3)

在我的 Galaxy Nexus 上。我的 EVO 4G 上没有出现这些错误。

这是相关的加载代码。

private static int load(Context context, int resID) {
    Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),
            resID);

    int[] texts = new int[1];
    GLES20.glGenTextures(1, texts, 0);
    int texID = texts[0];

    GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texID);

    GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
            GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
    GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
            GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);

    GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,
            GLES20.GL_CLAMP_TO_EDGE);
    GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,
            GLES20.GL_REPEAT);

    GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);

    return texID;
}

private static int loadWithMipmap(Context context, int resID) {
    int texID = load(context, resID);

    GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
            GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR_MIPMAP_NEAREST);
    GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
            GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR_MIPMAP_NEAREST);

    GLES20.glGenerateMipmap(GLES20.GL_TEXTURE_2D);

    return texID;
}

您知道发生了什么以及如何解决它吗?

编辑:只有一张图像导致错误,它是一张 1024x2048 png。

最佳答案

我看到了这个,当我将图像压缩成正方形后,它就起作用了。 OpenGL 不会给出错误。

关于android - glGenerateMipmap IMGSRV 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11065721/

相关文章:

opengl - GLSL 采样器如何确定纹理的缩小程度以及 mipmap 级别?

Android 贴图?

iphone - 在 iPhone 上进行 GPU 加速计算 (GPGPU) 的资源?

opengl-es - 在 OpenGL ES 纹理中查找最小/最大值的最佳方法是什么

android - 正确处理电话号码(存储,最好使用独特的形式)

java - 如何在不推荐使用 tabhost 的情况下实现 Android 选项卡菜单

android - 颠倒的纹理? | OpenGL-ES 2.0 (安卓)

java - 是否可以通过 id 获取 mipmap 图像?

android - 主页按钮服务背景音乐

android - 如何删除生产和激活 Beta 测试 apk