我想要画一个像这样的描边圆:
我曾尝试使用普通的顶点着色器和片段着色器,类似于谷歌示例,其中有364个顶点坐标:
vertices = new float[364 * 3];
vertices[0] = 0;
vertices[1] = 0;
vertices[2] = 0;
for (int i =1; i <364; i++){
vertices[(i * 3)+ 0] = (float) (0.5 * Math.cos((3.14/180) * (float)i ));
vertices[(i * 3)+ 1] = (float) (0.5 * Math.sin((3.14/180) * (float)i ));
vertices[(i * 3)+ 2] = 0;
}
然后使用以下方式绘制:
int COORDS_PER_VERTEX = 3;
int vertexCount = 364 * 3 / COORDS_PER_VERTEX;
int vertexStride = COORDS_PER_VERTEX * 4; // 4 bytes per vertex
GLES20.glVertexAttribPointer(mPositionHandle, COORDS_PER_VERTEX, GLES20.GL_FLOAT, false, vertexStride, vertexBuffer);
GLES20.glDrawArrays(GLES20.GL_LINE_LOOP, 1, vertexCount - 1);
但是结果并不如预期,我的圆中有4个缺失的部分。 我该如何绘制像上面例子中的描边圆形?