在我的第一个项目中,我只需绘制一个矩形轮廓。我通过在绘图调用中使用GLES20.GL_LINE_LOOP
和this indices数组来做到这一点。
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
。问题是绘制的结果并不完全是我想要的。有一条线连接回原点。我不想要那条线。
我该怎么办?我猜这行是因为行循环而绘制的,但我不知道可以使用哪种原语。
这是我绘制的对象的样子:
答案 0 :(得分:1)
不是GLES20;你应该使用LINES并指定你想要绘制的:
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,你可以使用原始重启来启动矩形之间的新循环。