GL_POINTS
GL_LINE_STRIP
GL_TRIANGLE_FAN
画正方体比较简单,分六组画四个正方形即可。
画圆自己2了,先想到从圆心发起的三角形,用GL_TRIANGLE_FAN画一圈即可,在使用Math时,犯2似的直接把参数当成了度数。结果居然还画出来了,发现圆边上棱角比较严重。于是改成GL_POINTS看一下,结果点发现居然是OK的,再改成GL_LINES,才明白肯定是Math用错了,网上找了一个看一下,入参应该是弧度。改好后再去看了一下网上的例子,不用从圆心画,从圆上的任意一个点画与其他所有点画三角形都可以,以下是初始化,toRadians是将角度改成弧度,然后slices是可以将360度切成多少份,每份2个点2个坐标,所以X4,欧了。
private static int slices = 720 * 4; // 720个点
vertices = new float[slices];
for (int i = 0; i < slices; i += 2) {
vertices[i] = (float) (Math.cos(toRadians(i * 720.0 / slices)) * 1);
vertices[i + 1] = (float) (Math.sin(toRadians(i * 720.0 / slices)) * 1);
}
明天再来画球形吧~慢慢学习,每天进步一点点=,=