HarmonyOS鸿蒙Next中华为平板调用OpenGL ES提取图片纹理后无法显示

HarmonyOS鸿蒙Next中华为平板调用OpenGL ES提取图片纹理后无法显示 设备信息:华为平板,matepad pro WGR-W19,芯片麒麟9000E

问题:调用OpenGL ES 提取图片纹理后无法显示

问题描述:使用OpenGL ES 提取一张图片的纹理Texture并显示,在WGR-W19设备上不显示(显示一块黑色区域),但是在华为的MatePad DBR-W00设备上提取的图片纹理可以正常显示,为什么?

附录:着色器代码:

private final String mVertexShader  =
        "uniform mat4 uMVPMatrix;" +
                "attribute vec4 position;\n" + // 顶点着色器的顶点坐标,由外部程序传入
                "attribute vec4 inputTextureCoordinate;\n" + // 传入的纹理坐标
                "\n" +
                "varying vec2 textureCoordinate;\n" +
                "\n" +
                "void main()\n" +
                "{\n" +
                "    gl_Position = position;\n" +
                "    textureCoordinate = inputTextureCoordinate.xy;\n" + // 最终顶点位置
                "}";

public static final String mFragmentShader = "" +
        "varying vec4 vColor;" +
        "varying highp vec2 textureCoordinate;\n" + // 最终顶点位置,上面顶点着色器的varying变量会传递到这里
        "\n" +
        "uniform sampler2D inputImageTexture;\n" + // 外部传入的图片纹理 即代表整张图片的数据
        "\n" +
        "void main()\n" +
        "{\n" +
        "     gl_FragColor = texture2D(inputImageTexture, textureCoordinate);\n" +  // 调用函数 进行纹理贴图
        "}";

更多关于HarmonyOS鸿蒙Next中华为平板调用OpenGL ES提取图片纹理后无法显示的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

您好,请您通过在线提单进一步解决:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的反馈和支持。

更多关于HarmonyOS鸿蒙Next中华为平板调用OpenGL ES提取图片纹理后无法显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


MatePad DBR-W00 的芯片是高通865芯片。

在HarmonyOS鸿蒙Next中,华为平板调用OpenGL ES提取图片纹理后无法显示,可能原因包括:纹理未正确绑定、着色器程序未正确编译或链接、纹理坐标设置错误、或未启用必要的OpenGL状态(如深度测试)。建议检查纹理加载、绑定流程,确保着色器程序无误,并验证纹理坐标和OpenGL状态设置。调试时可使用glGetError检查错误。

回到顶部