我对 libgdx 中的片段着色器有疑问。下面是我的片段着色器。
#ifdef GL_ES
precision mediump float;
#endif
uniform float u_aspectRatio;
varying vec2 v_texCoords;
uniform sampler2D u_texture;
void main()
{
gl_FragColor = texture2D(u_texture, v_texCoords);
}
在我做的程序中
shader.setUniformi("u_texture", 0); // work fine
shader.setUniformf("u_aspectRatio", 0.0f); //no uniform with name 'u_aspectRatio' in shader
shader.isCompiled() 返回 true 并且第一个设置工作正常,但在第二个我有错误“在着色器中没有名称为 'u_aspectRatio' 的制服”。如果删除行:
uniform float u_aspectRatio;
从着色器一切正常,但是当我添加这条线(在功能中我想使用这个对象)并尝试设置一些数据时我有错误。