5

我从 android SDK 示例中获取了以下着色器:

   final String vertexShader = 
            "uniform mat4 uMVPMatrix;\n" +
            "attribute vec4 aPosition;\n" +
            "attribute vec2 aTextureCoord;\n" +
            "varying vec2 vTextureCoord;\n" +
            "void main() {\n" +
            "  gl_Position = uMVPMatrix * aPosition;\n" +
            "  vTextureCoord = aTextureCoord;\n" +
            "}\n";

着色器来自他们的 opengl es 2.0 示例,当我编译示例时工作正常。

但是,当我尝试在我的程序中编译着色器时,我得到:

03-07 17:36:21.109: ERROR/GLES20TEST(5992): Could not compile shader 35633:

还有一个事实是该方法:

GLES20.glGetShaderInfoLog(shader)

不返回任何信息(据我从谷歌研究中了解,我认为这是一个已知的错误)

有谁知道我做错了什么?

谢谢,杰森

4

1 回答 1

10

解决了这个问题。

问题是我试图在 OnSurfaceCreate 之外创建一个着色器,导致线程问题

于 2011-03-07T18:00:06.507 回答