+ GLfloat defaultLightAmb [] = {.2f, .2f, .2f, 1.0f};
+ GLfloat defaultLightDiff [] = {.2f, .2f, .2f, 1.0f};
+ GLfloat defaultLightSpec [] = { .3f, .3f, .3f, 1.0f};
+
+ GLfloat defaultGlobalAmb [] = {.3f, .3f, .3f, 1.0f};
+ GLfloat defaultGlobalDiff[] = {.3f, .3f, .3f, 1.0f};
+
+ GLfloat defaultMatShine[] = { 30.0f };
+ GLfloat defaultMatSpec[] = { .4f, .4f, .4f, 1.0f};
+ GLfloat defaultMatAmb[] = { .3f, .3f, .3f, 1.0f};
+ GLfloat defaultMatDiff[] = { .5f, .5f, .5f, 1.0f};
+
+ GLfloat brassMatAmb[] = { .33f, .22f, .03f, 1.0f};
+ GLfloat brassMatDiff[] = { .78f, .57f, .11f, 1.0f};
+ GLfloat brassMatSpec[] = { .99f, .91f, .81f, 1.0f};
+ GLfloat brassMatShine[] = { 27.8f };
+
+ GLfloat emeraldMatAmb[] = { .02f1, .1745f , .021f, 1.0f };
+ GLfloat emeraldMatDiff[] = { .075f, .6142f , .075f, 1.0f };
+ GLfloat emeraldMatSpec[] = { .633f, .7278f , .633f, 1.0f };
+ GLfloat emeraldMatShine[] = { 76.8f };
+
+ GLfloat slateMatAmb[] = { .02f, .02f , .02f, 1.0f };
+ GLfloat slateMatDiff[] = { .02f, .01f , .01f, 1.0f };
+ GLfloat slateMatSpec[] = { .4f, .4f , .4f , 1.0f };
+ GLfloat slateMatShine[] = { .768f };
+
+ // double opnX = nx, opnY = ny, opnZ = z;
+ // eyeX = 1; eyeY = 1, eyeZ = 1;
+
+ impLPos[0] = nx/2.; impLPos[1]= ny/2.; impLPos[2] = 0.;
+ //opnListNum = 1;
+ //impGraphicsFlag = IMP__3D;
+
+ // glutInitDisplayMode (GLUT_DOUBLE| GLUT_RGB | GLUT_DEPTH | GLUT_ACCUM);
+ // glutInitWindowSize (IMP_WIN_X, IMP_WIN_Y);
+ // glutInitWindowPosition (100, 100);
+ // glutCreateWindow ("- imp3D graphics -" );
+
+ glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
+
+ glShadeModel (GL_SMOOTH);
+ glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
+ glHint(GL_LINE_SMOOTH, GL_DONT_CARE);
+ glEnable(GL_NORMALIZE);
+
+
+ glEnable(GL_DEPTH_TEST);
+
+ glLightfv(GL_LIGHT0, GL_AMBIENT, defaultLightAmb);
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, defaultLightDiff);
+ glLightfv(GL_LIGHT0, GL_SPECULAR,defaultLightSpec);
+
+ glLightfv(GL_LIGHT1, GL_AMBIENT, defaultLightAmb);
+ glLightfv(GL_LIGHT1, GL_DIFFUSE, defaultLightDiff);
+ glLightfv(GL_LIGHT1, GL_SPECULAR,defaultLightSpec);
+
+ glLightfv(GL_LIGHT2, GL_AMBIENT , defaultLightAmb);
+ glLightfv(GL_LIGHT2, GL_DIFFUSE , defaultLightDiff);
+ glLightfv(GL_LIGHT2, GL_SPECULAR, defaultLightSpec);
+
+ glLightfv(GL_LIGHT0, GL_POSITION,impLPos);
+ glLightfv(GL_LIGHT1, GL_POSITION,impLPos);
+ glLightfv(GL_LIGHT2, GL_POSITION,impLPos);
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT , defaultMatAmb);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE , defaultMatDiff);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR , defaultMatSpec);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, defaultMatShine);
+
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, defaultGlobalAmb);
+
+ glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
+
+ glEnable(GL_COLOR_MATERIAL);