… | |
… | |
187 | fisch (center + vec3 (-r3, 0, 0), r2, depth); |
187 | fisch (center + vec3 (-r3, 0, 0), r2, depth); |
188 | } |
188 | } |
189 | } |
189 | } |
190 | |
190 | |
191 | extern void draw_level (); |
191 | extern void draw_level (); |
|
|
192 | |
|
|
193 | octant *optimize (octant *o)//D |
|
|
194 | { |
|
|
195 | if (!o) |
|
|
196 | return o; |
|
|
197 | |
|
|
198 | for (int i = 8; --i; ) |
|
|
199 | o->sub[i] = optimize (o->sub[i]); |
|
|
200 | |
|
|
201 | if (o->fill != 1 || o->size ()) |
|
|
202 | return o; |
|
|
203 | |
|
|
204 | printf ("skipped\n"); |
|
|
205 | |
|
|
206 | for (int i = 8; --i; ) |
|
|
207 | if (o->sub[i]) |
|
|
208 | return o->sub[i]; |
|
|
209 | |
|
|
210 | abort (); |
|
|
211 | } |
|
|
212 | |
192 | int |
213 | int |
193 | RunGLTest (int argc, char *argv[], |
214 | RunGLTest (int argc, char *argv[], |
194 | int logo, int slowly, int bpp, float gamma, int noframe, int fsaa) |
215 | int logo, int slowly, int bpp, float gamma, int noframe, int fsaa) |
195 | { |
216 | { |
196 | int i; |
217 | int i; |
… | |
… | |
309 | entity *planet = new entity (new geometry_sphere (testmat, 10)); |
330 | entity *planet = new entity (new geometry_sphere (testmat, 10)); |
310 | planet->move (vec3 (0, 0, -20)); |
331 | planet->move (vec3 (0, 0, -20)); |
311 | planet->show (); |
332 | planet->show (); |
312 | |
333 | |
313 | doom3parse ("test.proc"); |
334 | doom3parse ("test.proc"); |
|
|
335 | |
|
|
336 | for (int i = 8; --i; ) |
|
|
337 | world.sub[i] = optimize (world.sub[i]);//D |
314 | |
338 | |
315 | for (int i = 0; i < 20; i++) |
339 | for (int i = 0; i < 20; i++) |
316 | { |
340 | { |
317 | // load a entity |
341 | // load a entity |
318 | txtprt_parser p; |
342 | txtprt_parser p; |