我有这两个着色器,我希望这两个将一个着色器完美地绘制纹理,而另一个着色器完美地绘制线条颜色?
private final String fragmentShaderCode =
"precision lowp float; \n"
+"uniform vec4 uTex0; \n"
+"void main(){ \n"
+" gl_FragColor = uTex0; \n"
+"} \n";
另一个
private final String fCode =
"precision mediump float; \n"
+"uniform sampler2D uTex0; \n"
+"uniform vec4 uTex1; \n"
+"varying vec2 v_TexCoordinate; \n"
+"void main(){ \n"
+" gl_FragColor = texture2D(uTex0, v_TexCoordinate); \n"
+"} \n";
当我使用第一个时,它会完美地绘制线条颜色,但是当我使用第二个时,线条颜色将是纹理颜色,我该如何控制呢?如果我使用第二个着色器结果是这样的
线条是黑色的,但实际上我正在通过句柄设置这样的线条颜色
texHandle = GLES20.glGetUniformLocation(sProgram, "uTex0");
GLES20.glUniform4fv(texHandle, 1, LineColor, 0);
它应该像这样画