2011-03-07 27 views
5

我從Android SDK sampele採取以下着色器:未能編譯着色器已知是良好的android

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的例子,當我comile的例子正常工作。

然而,當我嘗試編譯着色器在我的計劃,我得到:

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

還有一個事實,即方法:

GLES20.glGetShaderInfoLog(shader) 

返回任何信息(這是我相信的是已知的錯誤,據我所知,從我的谷歌研究)

沒有人知道我做錯了什麼?

感謝, 傑森

回答

9

解決的問題。

的problam是,我試圖將OnSurfaceCreate 造成線程問題

+0

之外創建一個着色器只是需要更多這方面的透明度。所以從你的說法,我可以得出結論着色器程序只加載和編譯onSurfaceCreated方法? – vgokul129 2015-11-23 12:27:47