ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libgender/view.C
(Generate patch)

Comparing libgender/view.C (file contents):
Revision 1.52 by root, Sat Oct 16 14:48:48 2004 UTC vs.
Revision 1.53 by root, Sat Oct 16 23:23:21 2004 UTC

142 glLoadIdentity (); 142 glLoadIdentity ();
143} 143}
144 144
145void view::begin () 145void view::begin ()
146{ 146{
147 generation++;
148
149 glColorMask (1, 1, 1, 1);
150 glDepthMask (1);
147 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 151 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
148 152
149 vislist.clear (); 153 vislist.clear ();
150
151 generation++;
152
153 farlist.clear ();
154
155 // check occlusion queries
156 for (vector<oq_data>::iterator i = occ_queries.begin (); i != occ_queries.end (); ++i)
157 {
158 occ_query oq(*this, i->data, ::occ_query_result (i->id));
159 i->recv->event (oq);
160 }
161
162 occ_queries.clear ();
163 154
164 z_far = nz_far; 155 z_far = nz_far;
165 c_far = nc_far; 156 c_far = nc_far;
166 157
167 if (z_far < z_near) 158 if (z_far < z_near)
196 //glPolygonOffset (0, 5); 187 //glPolygonOffset (0, 5);
197 glDisable (GL_MINMAX); 188 glDisable (GL_MINMAX);
198 glDepthRange (DEPTH_OFFSET, 1.); 189 glDepthRange (DEPTH_OFFSET, 1.);
199 glDepthFunc (GL_LESS); 190 glDepthFunc (GL_LESS);
200 glEnable (GL_DEPTH_TEST); 191 glEnable (GL_DEPTH_TEST);
201 glDisable (GL_LIGHTING);
202 glColorMask (0, 0, 0, 0); 192 glColorMask (0, 0, 0, 0);
203 glDepthMask (1); 193 glDepthMask (1);
204 break; 194 break;
205 195
206 case POSTDEPTH: 196 case POSTDEPTH:
207 glEnable (GL_DEPTH_TEST); 197 glEnable (GL_DEPTH_TEST);
198 glDepthRange (DEPTH_OFFSET, 1.);
208 glColorMask (0, 0, 0, 0); 199 glColorMask (0, 0, 0, 0);
209 glDepthMask (0); 200 glDepthMask (0);
201
202 // check occlusion queries
203 for (vector<oq_data>::iterator i = occ_queries.begin (); i != occ_queries.end (); ++i)
204 {
205 occ_query oq(*this, i->data, ::occ_query_result (i->id));
206 i->recv->event (oq);
207 }
208
209 occ_queries.clear ();
210
210 break; 211 break;
211 212
212 case LIGHTED: 213 case LIGHTED:
213 glEnable (GL_MINMAX); 214 glEnable (GL_MINMAX);
214 //glDisable (GL_POLYGON_OFFSET_FILL);
215 glDepthRange (0., 1. - DEPTH_OFFSET); 215 glDepthRange (0., 1. - DEPTH_OFFSET);
216 glDepthFunc (GL_LESS); 216 glDepthFunc (GL_LESS);
217 glColorMask (1, 1, 1, 0); 217 glColorMask (1, 1, 1, 1);
218 glDepthMask (0); 218 glDepthMask (0);
219 break; 219 break;
220 } 220 }
221 221
222 for (vector<octant *>::iterator i = vislist.begin (); i != vislist.end (); ++i) 222 for (vector<octant *>::iterator i = vislist.begin (); i != vislist.end (); ++i)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines