2014-12-04 94 views
0

在我的第一個項目中,我只需繪製一個矩形輪廓。我通過在我的繪圖調用中使用GLES20.GL_LINE_LOOP和這個索引數組來完成。如何在OpenGL中繪製兩個單獨的矩形輪廓?

private final short[] mIndices = new short[] { 
     0,1,2, //triangle 1 
     2,3,0 // triangle 2 
}; 

現在,我想在第一個矩形上方繪製第二個矩形輪廓。我計算的頂點和建立索引是這樣的:

private final short[] mIndices = new short[] { 
     0,1,2, //triangle 1 
     2,3,0, // triangle 2 

     // Upper rectangle 
     4,5,6, //triangle 3 
     6,7,4, // triangle 4 
}; 

我仍在使用GLES20.GL_LINE_LOOP。問題是繪製的結果並不完全符合我的要求。有一條線連接回原點。我不要想要那條線。

我該怎麼辦?我想這條線是因爲線條循環而繪製的,但我不知道我可以使用哪個原始代替。

這是我所繪製的對象的樣子:

enter image description here

回答

1

不能與GLES20;你應該用線條和指定要吸取哪些:

private final short[] mIndices = new short[] { 
     0,1,1,2, //triangle 1 
     2,3,3,0, // triangle 2 

     // Upper rectangle 
     4,5,5,6, //triangle 3 
     6,7,7,4, // triangle 4 
}; 

如果你有GLES30你可以使用原始的重新啓動矩形之間一個新的循環。

+0

謝謝!像魅力一樣工作! – user2426316 2014-12-04 14:11:21