X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fglplanet.c;h=a156e5abc9efcc2c214c645017832692b77a0735;hp=5352a5db53d5dde5148037c0a3239080f2339579;hb=c28aecf9fc41e3a03494bacf7279745425e2fa18;hpb=723c9eeee862766a1534b2ce17b78adbfac1c3be diff --git a/hacks/glx/glplanet.c b/hacks/glx/glplanet.c index 5352a5db..a156e5ab 100644 --- a/hacks/glx/glplanet.c +++ b/hacks/glx/glplanet.c @@ -167,6 +167,7 @@ ModStruct planet_description = /* structure for holding the planet data */ typedef struct { GLuint platelist; + GLuint latlonglist; GLuint starlist; int screen_width, screen_height; GLXContext *glx_context; @@ -594,6 +595,8 @@ init_planet (ModeInfo * mi) glEnable(GL_CULL_FACE); glCullFace(GL_BACK); + /* construct the polygons of the planet + */ gp->platelist = glGenLists(1); glNewList (gp->platelist, GL_COMPILE); glColor3f (1,1,1); @@ -602,15 +605,27 @@ init_planet (ModeInfo * mi) glRotatef (90, 1, 0, 0); unit_sphere (resolution, resolution, wire); mi->polygon_count += resolution*resolution; -#if 0 - if (!wire) - { - glDisable(GL_LIGHTING); - glScalef(1.01,1.01,1.01); - unit_sphere (12, 24, 1); - glEnable(GL_LIGHTING); - } -#endif + glPopMatrix (); + glEndList(); + + /* construct the polygons of the latitude/longitude/axis lines. + */ + gp->latlonglist = glGenLists(1); + glNewList (gp->latlonglist, GL_COMPILE); + glPushMatrix (); + if (do_texture) glDisable (GL_TEXTURE_2D); + if (do_light) glDisable (GL_LIGHTING); + glColor3f (0.1, 0.3, 0.1); + glScalef (RADIUS, RADIUS, RADIUS); + glScalef (1.01, 1.01, 1.01); + glRotatef (90, 1, 0, 0); + unit_sphere (12, 24, 1); + glBegin(GL_LINES); + glVertex3f(0, -2, 0); + glVertex3f(0, 2, 0); + glEnd(); + if (do_light) glEnable(GL_LIGHTING); + if (do_texture) glEnable(GL_TEXTURE_2D); glPopMatrix (); glEndList(); } @@ -662,6 +677,8 @@ draw_planet (ModeInfo * mi) } glCallList (gp->platelist); + if (gp->button_down_p) + glCallList (gp->latlonglist); glPopMatrix(); if (mi->fps_p) do_fps (mi);