static void tachyon_display_draw(dispHandle *dh) { #if defined(USEOPENGL) if (dh->img != NULL) { glwin_handle_events(dh->glwin); glwin_draw_image(dh->glwin, dh->xsize, dh->ysize, dh->img); } #elif defined(USERTVI) if (dh->img != NULL) rt_rtvi_displayimage(dh->img, rtviwin); #endif }
void init_graphics(void *myglwin) { // allw the window to open and do its stuff once glwin_handle_events(myglwin); // setup OpenGL state... glShadeModel(GL_SMOOTH); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, 1.0, 0.01, 10.0); gluLookAt( 0.0, 0.1, -5.0, // eye pos 0.0, 0.0, 0.0, // look at this point 0.0, 1.0, 0.0); // up direction glClearColor(0.0, 0.0, 0.0, 0.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glEnable(GL_DEPTH_TEST); // // Setup cute lighting parms.. // glEnable(GL_LIGHTING); GLfloat lpos[] = { 0.0, 0.0, -100.0, 1.0}; GLfloat lamb[] = { 0.05, 0.05, 0.05, 1.0}; GLfloat ldif[] = { 0.5, 0.5, 0.5, 1.0}; GLfloat lspc[] = { 0.5, 0.5, 0.5, 1.0}; glLightfv(GL_LIGHT0, GL_POSITION, lpos); glLightfv(GL_LIGHT0, GL_AMBIENT, lamb); glLightfv(GL_LIGHT0, GL_DIFFUSE, ldif); glLightfv(GL_LIGHT0, GL_SPECULAR, lspc); glLightf(GL_LIGHT0, GL_SHININESS, 400.0); glEnable(GL_LIGHT0); GLfloat mdif[] = {0.9, 0.0, 0.2, 1.0}; GLfloat mspc[] = {0.2, 0.2, 0.2, 1.0}; glMaterialfv(GL_FRONT, GL_DIFFUSE, mdif); glMaterialfv(GL_FRONT, GL_SPECULAR, mspc); glEnable(GL_COLOR_MATERIAL); }