如何在OpenGL中更改线环的颜色?

时间:2014-11-04 10:37:30

标签: android opengl-es opengl-es-2.0

我正在使用此调用绘制一个简单的矩形线循环:

GLES20.glDrawElements(GLES20.GL_LINE_LOOP,
                    numIndices, GLES20.GL_UNSIGNED_SHORT,
                    getIndicesBuffer());

现在,此线环的颜色为黑色。如何将其更改为其他颜色?例如,红色。

1 个答案:

答案 0 :(得分:1)

您需要更改片段着色器,我假设您要更改每行循环的颜色。

将片段着色器更改为:

uniform vec4 color;

main(){
    gl_FragColor = color;
}

然后在每个glDrawElements之前,您可以调用GLES20.glUniform4f(colorLoc, r, g, b, a);。其中colorLocGLES20.glGetUniformLocation(program, "color");的返回值,而r,g,b和A是您想要的颜色0-1范围内的红色,绿色,蓝色和Alpha值。