-static void
-draw_stars (ModeInfo *mi)
-{
- planetstruct *gp = &planets[MI_SCREEN(mi)];
-
- glDisable(GL_TEXTURE_2D);
- glDisable(GL_LIGHTING);
- glDisable(GL_DEPTH_TEST);
-
- glMatrixMode (GL_PROJECTION);
- glPushMatrix ();
- {
- glLoadIdentity ();
-
- glMatrixMode (GL_MODELVIEW);
- glPushMatrix ();
- {
- glLoadIdentity ();
- glOrtho (-0.5 * MI_WIDTH(mi), 0.5 * MI_WIDTH(mi),
- -0.5 * MI_HEIGHT(mi), 0.5 * MI_HEIGHT(mi),
- -100.0, 100.0);
- glRotatef (gp->star_theta, 0.0, 0.0, 1.0);
- glCallList (gp->starlist);
- }
- glPopMatrix ();
- }
- glMatrixMode (GL_PROJECTION);
- glPopMatrix ();
-
- glMatrixMode (GL_MODELVIEW);
-}
-
-
-
-/* Set up lighting */
-static void
-init_sun (ModeInfo * mi)
-{
- planetstruct *gp = &planets[MI_SCREEN(mi)];
-
- GLfloat lamb[4] = { 0.1, 0.1, 0.1, 1.0 };
- GLfloat ldif[4] = { 1.0, 1.0, 1.0, 1.0 };
- GLfloat spec[4] = { 1.0, 1.0, 1.0, 1.0 };
-
- GLfloat mamb[4] = { 0.5, 0.5, 0.5, 1.0 };
- GLfloat mdif[4] = { 1.0, 1.0, 1.0, 1.0 };
- GLfloat mpec[4] = { 1.0, 1.0, 1.0, 1.0 };
- GLfloat shiny = .4;
-
- {
- double h = 0.1 + frand(0.8); /* east-west position - screen-side. */
- double v = -0.3 + frand(0.6); /* north-south position */
-
- if (h > 0.3 && h < 0.8) /* avoid having the sun at the camera */
- h += (h > 0.5 ? 0.2 : -0.2);
-
- gp->sunpos[0] = cos(h * M_PI);
- gp->sunpos[1] = sin(h * M_PI);
- gp->sunpos[2] = sin(v * M_PI);
- gp->sunpos[3] = 0.00;
- }
-
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
-
- glLightfv (GL_LIGHT0, GL_POSITION, gp->sunpos);
- glLightfv (GL_LIGHT0, GL_AMBIENT, lamb);
- glLightfv (GL_LIGHT0, GL_DIFFUSE, ldif);
- glLightfv (GL_LIGHT0, GL_SPECULAR, spec);
-
- check_gl_error("sun");
- glMaterialfv (GL_FRONT, GL_AMBIENT, mamb);
- glMaterialfv (GL_FRONT, GL_DIFFUSE, mdif);
- glMaterialfv (GL_FRONT, GL_SPECULAR, mpec);
- glMaterialf (GL_FRONT, GL_SHININESS, shiny);
-
-
-/* glEnable(GL_BLEND);*/
-/* glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);*/
- glShadeModel(GL_SMOOTH);
-
- check_gl_error("lighting");
-}
-
-
-#define RANDSIGN() ((random() & 1) ? 1 : -1)
-