void really_look_at_it(void) { glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(FOV_ANGLE, (double)disp_window_width()/(double)disp_window_height(), 0.1, 1000.0); look_at_it(); }
void disp_really_reshape(int w, int h) { /* set new viewing projections */ assert(glutGetWindow() == disp_win); disp_width = w; disp_height = h; glViewport(0, 0, disp_window_width(), disp_window_height()); glutPostRedisplay(); }
void idle(void) { long newtime = get_time(); long dt = newtime - oldtime; oldtime = newtime; if(fsim_mode) { elevation += ELEV_RATE*dt*trunc(5*(mousey - disp_window_height())); azimuth += AZI_RATE*dt*trunc(5*(mousex - disp_window_width())); if(action & ROLL) roll += ROLL_RATE*dt*trunc(5*(mousex - disp_window_width())); } else { if (action & ROLL) roll_clockwise(); if (action & ZOOM_IN) zoom(); else if (action & ZOOM_OUT) zoom(); } if (action & SPIN) do_spin(); glutPostRedisplay(); }