繁体   English   中英

OpenGL es 2,着色器无法编译

[英]OpenGL es 2, Shaders not compiling

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

顶点着色器代码

"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;" + "}";

谁能看到我在做什么错? PS我对opengl es着色器语法了解甚少,因此不胜感激。

  • uMVPMatrix应该是u_MVMatrix

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM