
void drawtiles(int nx, int ny) {
  int x, y;
  float xf, yf;
  char sub[16];
  int osnapno = snapno;

  snapno = -1;
  xf = 2*(mysiz * xt/yt) / nx;
  yf = 2*mysiz / ny;
  for(y = 0; y < ny; y++) {
    for(x = 0; x < nx; x++) {
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glViewport(0,0,xt,yt);
	glMatrixMode(GL_PROJECTION); glLoadIdentity();
	glFrustum(xf*(x - .5*nx), xf*(x+1 - .5*nx),
		  yf*(ny-1-y - .5*ny), yf*(ny-y - .5*ny),
		  mysiz*focal, farclip);
	glMatrixMode(GL_MODELVIEW); glLoadIdentity();
	drawstars();
	glMultMatrixf(aff);
	drawall(realtope,phase);
	
	if(msg) messages();
	sprintf(sub, ".%02d.%02d", y, x);
	snapshot(sub);
	glutSwapBuffers();
    }
  }
  snapno = osnapno;
}

