void spherical_clipmap::draw(context *c) { // don't bother drawing on the first frame, as we don't have a modelview yet... if (clipmap_rings.size()) { glPushAttrib(GL_ALL_ATTRIB_BITS); glPushClientAttrib(GL_CLIENT_ALL_ATTRIB_BITS); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_INDEX_ARRAY); glEnable(GL_VERTEX_PROGRAM_POINT_SIZE); color::WHITE.set(); for (int i = 0; i <= last_ring; ++i) { if (i >= first_ring) clipmap_rings[i]->draw(); if (c->render_flags & context::RENDER_WIREFRAME) { if (i % 2) color::WHITE.set(); else GRAY.set(); } } clipmap_cap->draw(); // glPopClientAttrib(); glPopAttrib(); } } // spherical_clipmap::draw()