java - Android opengles 20 渲染问题

标签 java android opengl-es rendering opengl-es-2.0

我最近在 Android Google Play 商店中创建了一款游戏。当我发布它时,结果发现它不会在大部分下载设备上呈现任何内容。我问了几个 friend 是否可以测试一下,其中一个无法玩。
他有一台运行 Android 4.4.2 的三星 Galaxy S5 mini,我今天与他会面,连接了我的电脑并试图找到错误。但一切似乎都运行正常。游戏进入更新循环,并使用所有正确的渲染值。它正在分配内存(尽管我不确定它是否在 OpenGL 线程上分配了所有必需的内存)。
我的手机运行的是 Android 4.4,是三星 Galaxy S4 mini,一切正常。
我现在完全迷失了,迫切需要指导。 我所有的 GL 调用都是对 GLES 20 API 的,这可能与此有关。
我有一个自定义配置选择器。

package com.honeycomb.touchtycube.testapp.OEngine;

import android.opengl.GLSurfaceView;


import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.egl.EGLDisplay;



class OEConfigChooser implements GLSurfaceView.EGLConfigChooser {

@Override
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
    int attribs[] = {
            EGL10.EGL_LEVEL, 0,
            EGL10.EGL_RENDERABLE_TYPE, 4,  // EGL_OPENGL_ES2_BIT
            EGL10.EGL_COLOR_BUFFER_TYPE, EGL10.EGL_RGB_BUFFER,
            EGL10.EGL_RED_SIZE, 8,
            EGL10.EGL_GREEN_SIZE, 8,
            EGL10.EGL_BLUE_SIZE, 8,
            EGL10.EGL_DEPTH_SIZE, 16,
            EGL10.EGL_SAMPLE_BUFFERS, 1,
            EGL10.EGL_SAMPLES, 4,  // This is for 4x MSAA.
            EGL10.EGL_NONE
    };
    EGLConfig[] configs = new EGLConfig[1];
    int[] configCounts = new int[1];
    egl.eglChooseConfig(display, attribs, configs, 1, configCounts);

    if (configCounts[0] == 0) {
        // Failed! Error handling.
        return null;
    } else {
        return configs[0];
    }
}

}

我想补充一点,这个配置选择器几乎完全来自互联网,除了启用 MSAA 之外,我对它实际的作用几乎一无所知。

这些设备上的渲染方式是否存在可能导致此问题的差异?

最诚挚的问候//

最佳答案

检查着色器编译是否失败。

在某些设备上工作的着色器将无法在其他设备上编译 - 某些设备对其接受的内容过于宽松。

关于java - Android opengles 20 渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32700145/

相关文章:

java - ResultSet 的最大可识别提取大小是多少

javascript - GWT native 函数 - 每个字符串的引用

java - 负责从 Web txt 获取数据的代码行的正确名称是什么?

java - 在fragment之间共享变量,单击fragment1中的按钮在fagment2中显示结果

android - 在 OpenGL ES 2 中将原点设置为屏幕的左上角

java - Android:DOM vs SAX vs XMLPullParser 解析?

android - 在 listview 和 view 之间共享时 Drawable 消失

android - 使用 Android PdfDocument API 编写 PDF 文件

ios - OpenGL ES 纹理质量下降

ios - OpenGL和OSX Mavericks-错误包括OpenGL header