… | |
… | |
125 | farlist.clear (); |
125 | farlist.clear (); |
126 | |
126 | |
127 | // check occlusion queries |
127 | // check occlusion queries |
128 | for (vector<oq_data>::iterator i = occ_queries.begin (); i != occ_queries.end (); ++i) |
128 | for (vector<oq_data>::iterator i = occ_queries.begin (); i != occ_queries.end (); ++i) |
129 | { |
129 | { |
130 | occ_query oq(*this, i->second, occ_query_result (i->second)); |
130 | occ_query oq(*this, i->second, ::occ_query_result (i->second)); |
131 | i->first->event (oq); |
131 | i->first->event (oq); |
132 | } |
132 | } |
133 | |
133 | |
134 | occ_queries.clear (); |
134 | occ_queries.clear (); |
135 | |
135 | |
… | |
… | |
173 | else |
173 | else |
174 | { |
174 | { |
175 | glEnable (GL_MINMAX); |
175 | glEnable (GL_MINMAX); |
176 | glDisable (GL_POLYGON_OFFSET_FILL); |
176 | glDisable (GL_POLYGON_OFFSET_FILL); |
177 | glDepthFunc (GL_LESS); |
177 | glDepthFunc (GL_LESS); |
178 | glDepthMask (1); |
178 | glDepthMask (0); |
179 | cgGLEnableProfile (vsh_profile); |
179 | cgGLEnableProfile (vsh_profile); |
180 | cgGLEnableProfile (fsh_profile); |
180 | cgGLEnableProfile (fsh_profile); |
181 | } |
181 | } |
182 | |
182 | |
183 | for (vector<octant *>::iterator i = vislist.begin (); i != vislist.end (); ++i) |
183 | for (vector<octant *>::iterator i = vislist.begin (); i != vislist.end (); ++i) |
… | |
… | |
190 | |
190 | |
191 | if (oq) |
191 | if (oq) |
192 | begin_occ_query (**i); |
192 | begin_occ_query (**i); |
193 | |
193 | |
194 | (*i)->display (*this); |
194 | (*i)->display (*this); |
|
|
195 | |
|
|
196 | if (oq) |
|
|
197 | { |
|
|
198 | glColorMask (0, 0, 0, 0); |
|
|
199 | (*i)->draw_bbox (*this); |
|
|
200 | glColorMask (1, 1, 1, 0); |
|
|
201 | } |
195 | |
202 | |
196 | if (oq) |
203 | if (oq) |
197 | end_occ_query (); |
204 | end_occ_query (); |
198 | } |
205 | } |
199 | |
206 | |