无法编译已知在android上很好的着色器

时间:2011-03-07 15:44:40

标签: android opengl-es-2.0

我从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)

没有返回任何信息(就我从谷歌研究中所理解的那样,我相信这是一个已知的错误)

有谁知道我做错了什么?

谢谢, 杰森

1 个答案:

答案 0 :(得分:9)

解决了这个问题。

问题在于我试图在OnSurfaceCreated之外创建一个着色器 导致线程问题