我想快速绘制一条固定颜色的线,给出两点我可以随意改变。
我还有其他一些对象,我有着色器和纹理,我可以使用代码片段,但是它们的代码比我认为简单的行所需要的多。我是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);
}
答案 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传递位置,颜色和矩阵