在Open GL ES 2.0中画一条线

时间:2013-04-18 01:25:30

标签: java android opengl-es-2.0

我想快速绘制一条固定颜色的线,给出两点我可以随意改变。

我还有其他一些对象,我有着色器和纹理,我可以使用代码片段,但是它们的代码比我认为简单的行所需要的多。我是Open GL ES 2.0的新手,我无法弄清楚如何在我的屏幕上放置黄色3D线而不会制作一些持有者对象。

这是我的渲染器的onDrawFrame方法

    private void drawTestLine() {
       float[] lineEndPoints = new float[6];
       System.arraycopy(nearPoint, 0, lineEndPoints , 0, nearPoint.length);
       System.arraycopy(farPoint, 0, lineEndPoints , 3, farPoint.length);

//need help here
       GLES20.glDrawArrays(GLES20.GL_LINES, 0, 2);
    }

1 个答案:

答案 0 :(得分:0)

顶点着色器:

attribute vec3 a_posL;
uniform mat4 u_mvpMatrix;
void main()
{
    gl_Position = u_mvpMatrix*vec4(a_posL,1.0);
}

片段着色器:

precision mediump float;
uniform vec4 u_lineColor;
void main()
{
    gl_FragColor = u_lineColor;
}

一旦有了这些着色器,只需使用glVertexAttribPointer和glUniforms传递位置,颜色和矩阵