--- libgender/view.C 2004/10/06 17:55:40 1.32 +++ libgender/view.C 2004/10/09 02:08:29 1.36 @@ -16,7 +16,7 @@ { } -bool view::may_draw (entity_base *e) +bool view::may_draw (const entity *e) { if (drawn.find (e) != drawn.end ()) return false; @@ -36,8 +36,8 @@ gl_error = glGetError (); GLdouble aspect = (GLdouble)w/h; - GLdouble zNear = 0.1; - GLdouble zFar = 50.; + GLdouble zNear = 1.; + GLdouble zFar = 500.; gl_error = glGetError (); GLdouble ymax = zNear * tan (fov * (M_PI / 360.0)); @@ -92,6 +92,7 @@ for (vector::iterator i = farlist.begin (); i != farlist.end (); ++i) ; + farlist.clear (); // check occlusion queries here @@ -143,25 +144,26 @@ drawn.clear (); - if (mode == view::LIGHTED) + if (mode == view::DEPTH || 1) { glEnable (GL_DEPTH_CLAMP_NV); glDepthFunc (GL_LESS); + if (1) glDepthFunc (GL_LEQUAL); glEnable (GL_COLOR_MATERIAL); glDisable (GL_LIGHTING); -#if 1 cgGLDisableProfile (vsh_profile); cgGLDisableProfile (fsh_profile); -#endif glShadeModel (GL_FLAT); +#if 0 static int count; count++; if (farlist.size ()) printf ("%d: size %d\n", count, farlist.size ()); +#endif for (vector::iterator i = farlist.begin (); i != farlist.end (); ++i) { - glColor3f (1 / (GLfloat)(i - farlist.begin()), 1, 1 / (GLfloat)(i - farlist.begin())); + glColor3f (1,0,0); (*i)->draw_bbox (*this); }