Opengl es glGetShaderInfoLog返回一个";编译失败。”;在PowerVR SGX 544MP(Galaxy S4)上
我的问题:Opengl es glGetShaderInfoLog返回一个";编译失败。”;在PowerVR SGX 544MP(Galaxy S4)上,opengl-es,Opengl Es,我的问题: 片段着色器通过APIglGetShaderInfoLog获取“编译失败” 一旦我删除fwsum=fsum\u r+0.1,片段着色器可以工作 此问题仅在PowerVR SGX 544MP(三星Galaxy S4)上再次出现 你有比“编译错误”更多的信息吗?@Mr\u Pouet:glGetShaderiv(dwShader,GL\u INFO\u LOG\u LENGTH,(GLint*)和lInfoLen);glGetShaderInfoLog(dwShader、lInfoLen、
glGetShaderInfoLog
获取“编译失败”fwsum=fsum\u r+0.1代码>,片段着色器可以工作
你有比“编译错误”更多的信息吗?@Mr\u Pouet:glGetShaderiv(dwShader,GL\u INFO\u LOG\u LENGTH,(GLint*)和lInfoLen);glGetShaderInfoLog(dwShader、lInfoLen、TNull、pszInfo);获取lInfoLen=17和pszInfo=Compile失败。是否确实未编译着色器?您是否检查了glGetShaderiv(…GL\u编译\u状态…)?我还遇到了这样一种情况:GL_INFO_LOG_LENGTH返回了一些垃圾,而着色器实际上已经编译并工作了。@Dave。glGetShaderiv(dwShader、GLU编译状态、(GLint*)和bCompiled)。b compiled=False。
/* fragment shader */
void main(void)
{
highp vec3 color;
highp float tx;
highp float ty;
highp vec3 sptr_k;
highp float fsum_r;
highp float fwsum;
highp float value;
highp float w;
highp float stepvalue = 1.0;
int i = 1;
highp float fstep = 2.0;
tx = 1.0 / 720.0;
ty = 1.0 / 720.0;
fstep = fstep * tx;
color.r = texture2D(sampler2DBase, v_baseTexCoord).r;
fsum_r = 0.0;
fwsum = 0.0;
sptr_k.r = color.r;
fwsum = fsum_r + 0.1; // if deleting it works.
fwsum = 1.0 / fwsum;
color.r = clamp(fsum_r * fwsum, 0.0, 1.0);
color.g = color.r;
color.b = color.r;
gl_FragColor = vec4(color.rgb, 1.0);
}