LibGDX-ShaderProgram赢得';不编译

LibGDX-ShaderProgram赢得';不编译,libgdx,glsl,shader,Libgdx,Glsl,Shader,我试图在libgdx1.6.1中设置SpriteBatch的着色器。 问题是着色器没有编译。 顶点着色器: attribute vec3 a_position; uniform mat4 u_projTrans; void main() { gl_Position = u_projTrans * vec4(a_position, 1.0); } 片段着色器: uniform sampler2D u_texture; void main() { gl_FragColor = ve


我试图在libgdx1.6.1中设置
SpriteBatch
的着色器。 问题是着色器没有编译。

顶点着色器:

attribute vec3 a_position;

uniform mat4 u_projTrans;

void main() {
   gl_Position = u_projTrans * vec4(a_position, 1.0);
}

片段着色器:

uniform sampler2D u_texture;
void main() {
   gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}

我认为这段代码还可以,但是日志上写着:“错误C1066:类型构造函数中的类型无效”和“错误C1035:不兼容类型的赋值”。并且编译状态为false。这里有什么问题?

我使用的是
1.9.6
,没有在
1.6.1

顶点着色器:

attribute vec3 a_position;
uniform mat4 u_projTrans;

void main()
{
   gl_Position =  u_projTrans * vec4(a_position,1.0);
}
片段着色器:

#ifdef GL_ES
precision mediump float;
#endif

void main() {

   gl_FragColor = vec4(0.0,1.0,0.0,1.0);
}
然后在代码中:

ShaderProgram shaderProgram=new ShaderProgram(Gdx.files.internal("test.vert.glsl"),Gdx.files.internal("test.frag.glsl"));
shaderProgram.pedantic=false;

if(shaderProgram.isCompiled()){
    batch.setShader(shaderProgram);
}else {
    Gdx.app.log("ShaderTest", shaderProgram.getLog());
}

谢谢,
shaderProgram.pedantic=false
有效:)