--- ray/src/hd/rhd_glx.c 1997/12/26 16:50:03 3.7 +++ ray/src/hd/rhd_glx.c 1997/12/30 16:59:46 3.9 @@ -100,6 +100,7 @@ char *id; XSizeHints oursizhints; /* set quadtree globals */ qtMinNodesiz = 3; + qtDepthEps = 0.07; /* open display server */ ourdisplay = XOpenDisplay(NULL); if (ourdisplay == NULL) @@ -162,7 +163,7 @@ char *id; XMapWindow(ourdisplay, gwind); dev_input(); /* sets size and view angles */ /* allocate our leaf pile */ - if (!qtAllocLeaves(2 * DisplayWidth(ourdisplay,ourscreen) * + if (!qtAllocLeaves(DisplayWidth(ourdisplay,ourscreen) * DisplayHeight(ourdisplay,ourscreen) / (qtMinNodesiz*qtMinNodesiz))) error(SYSTEM, "insufficient memory for value storage"); @@ -566,12 +567,20 @@ register XKeyPressedEvent *ekey; inpresflags |= DFL(DC_RESUME); return; case CTRL('R'): /* redraw screen */ + if (nxtzmax > FTINY) { + curzmax = nxtzmax; + nxtzmax = 0.; + } glClear(GL_DEPTH_BUFFER_BIT); qtRedraw(0, 0, odev.hres, odev.vres); return; case CTRL('L'): /* refresh from server */ if (inpresflags & DFL(DC_REDRAW)) return; + if (nxtzmax > FTINY) { + curzmax = nxtzmax; + nxtzmax = 0.; + } glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); draw_grids(); glFlush();