OpenGL es 2,着色器不编译

时间:2015-03-10 18:25:13

标签: java android opengl-es-2.0 shader

我正在尝试制作一个非常简单的点光源,而且我失败了。我所知道的是我的着色器无法正确编译(我似乎没有得到太多的错误信息)。 我的着色器是:

顶点着色器代码

"uniform mat4 u_MVPMatrix;"
+ "uniform mat4 u_MVMatrix;"
+ "attribute vec4 a_Position;"
+ "varying vec3 v_Position;"
+ "void main() {"
+ "v_Position = vec3(u_MVMatrix * a_Position);"
+ "gl_Position = uMVPMatrix * a_Position;" + "}";

片段着色器代码

"precision mediump float;"
+ "uniform vec3 u_LightPos;"
+ "varying vec3 v_Position;"
+ "uniform vec4 vColor;"
+ "void main() {"
+ "float distance = length(u_LightPos - v_Position);"
+ "distance = 1.0 / distance;"
+ "distance = clamp(distance, 0.0, 1.0);"
+ "gl_FragColor = vColor * distance;" + "}";

谁能看到我做错了什么? 附:我对opengl es着色器语法知之甚少,所以对任何帮助都表示赞赏。

1 个答案:

答案 0 :(得分:0)

  • uMVPMatrix应为u_MVMatrix

在编译着色器时尝试获取编译日志。

相关问题