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
您好,请您通过在线提单进一步解决: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
检查错误。