2013-04-18 97 views
0

我想快速繪製一些固定顏色的線條,給出兩點,我可以隨意更改。在Open GL 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); 
    } 

回答

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

+1

我會嘗試一下,我希望避免爲一條線創建一個新程序,但它看起來像我必須的。 – user1681732