private void makeUnitSphere(int m) {
_nv = 8*3;
for (int i=0; i<m; ++i)
_nv *= 4;
int n = _nv*3;
_xyz = new float[n];
float xm = -1.0f, x0 = 0.0f, xp = 1.0f;
float ym = -1.0f, y0 = 0.0f, yp = 1.0f;
float zm = -1.0f, z0 = 0.0f, zp = 1.0f;
n = 0;
n = addTri(xp,y0,z0,x0,yp,z0,x0,y0,zp,m,n);
n = addTri(xm,y0,z0,x0,y0,zp,x0,yp,z0,m,n);
n = addTri(xp,y0,z0,x0,y0,zp,x0,ym,z0,m,n);
n = addTri(xm,y0,z0,x0,ym,z0,x0,y0,zp,m,n);
n = addTri(xp,y0,z0,x0,y0,zm,x0,yp,z0,m,n);
n = addTri(xm,y0,z0,x0,yp,z0,x0,y0,zm,m,n);
n = addTri(xp,y0,z0,x0,ym,z0,x0,y0,zm,m,n);
n = addTri(xm,y0,z0,x0,y0,zm,x0,ym,z0,m,n);
}
private int addTri(