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

Comparing libgender/test.C (file contents):
Revision 1.9 by root, Sun Oct 3 04:00:51 2004 UTC vs.
Revision 1.17 by root, Mon Oct 4 02:32:20 2004 UTC

309 printf ("SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa, 309 printf ("SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa,
310 value); 310 value);
311 } 311 }
312 312
313 /* Set the window manager title bar */ 313 /* Set the window manager title bar */
314 SDL_WM_SetCaption ("SDL GL test", "testgl"); 314 SDL_WM_SetCaption ("libgender rendering test", "gendertest");
315 315
316 /* Set the gamma for the window */ 316 /* Set the gamma for the window */
317 if (gamma != 0.0) 317 if (gamma != 0.0)
318 SDL_SetGamma (gamma, gamma, gamma); 318 SDL_SetGamma (gamma, gamma, gamma);
319 319
320 // load a entity
321 for (int i = 0; i < 7; i++)
322 {
323 txtprt_parser p;
324 entity_anim *f = new entity_anim;
325 entity *e;
326 try
327 {
328 e = p.read ("test.blasc");
329 } catch (txtprt_i_exception & e)
330 {
331 cout << "ERR: " << e.msg << endl;
332 }
333 f->set (e);
334 f->m.translate (vec3 (i, -1, 0));
335 f->vx = 0;
336 f->vy = 0;
337 f->vz = 0;
338 f->show ();
339 }
340
341 camera.orig.x = camera.orig.y = camera.orig.z = 0;
320 camera.p = point (0, 0, 10); 342 camera.p = point (0, 0, 10);
321 camera.d = vec3 (0, 0, -1); 343 camera.d = vec3 (0, 0, -1);
322 camera.u = vec3 (0, 1, 0); 344 camera.u = vec3 (0, 1, 0);
323 camera.w = w; camera.h = h; 345 camera.w = w; camera.h = h;
324 camera.fov = 90; 346 camera.fov = 90;
325 347
326 glMatrixMode (GL_MODELVIEW); 348 glMatrixMode (GL_MODELVIEW);
327 glLoadIdentity (); 349 glLoadIdentity ();
328 350
351 glEnable (GL_CULL_FACE);
329 glEnable (GL_DEPTH_TEST); 352 glEnable (GL_DEPTH_TEST);
330
331 glDepthFunc (GL_LESS);
332
333 glShadeModel (GL_SMOOTH); 353 glShadeModel (GL_SMOOTH);
334 354
335 glEnable (GL_LIGHTING); 355 glEnable (GL_LIGHTING);
336
337 //GLfloat lightc[4] = { 1, 0.1, 0.1, 1 }; 356 //GLfloat lightc[4] = { 1, 0.1, 0.1, 1 };
338 //glLightf (GL_LIGHT0, GL_QUADRATIC_ATTENUATION); 357 //glLightf (GL_LIGHT0, GL_QUADRATIC_ATTENUATION);
339 //glLightfv (GL_LIGHT0, GL_DIFFUSE, lightc); 358 //glLightfv (GL_LIGHT0, GL_DIFFUSE, lightc);
340 glEnable (GL_LIGHT0); 359 glEnable (GL_LIGHT0);
341 glEnable (GL_COLOR_MATERIAL);
342 360
343 /* Loop until done. */ 361 /* Loop until done. */
344 start_time = SDL_GetTicks (); 362 start_time = SDL_GetTicks ();
345 frames = 0; 363 frames = 0;
364
365 draw_context c (camera);
366
346 while (!done) 367 while (!done)
347 { 368 {
348 GLenum gl_error; 369 GLenum gl_error;
349 char *sdl_error; 370 char *sdl_error;
350 SDL_Event event; 371 SDL_Event event;
360 lightp[3] = 1; 381 lightp[3] = 1;
361 glLightfv (GL_LIGHT0, GL_POSITION, lightp); 382 glLightfv (GL_LIGHT0, GL_POSITION, lightp);
362 383
363#if 0 384#if 0
364 static GLfloat ry; 385 static GLfloat ry;
365 ry += 0.03; 386 ry += 0.001;
366 v.d.x = cos (ry); 387 camera.d.x = cos (ry);
367 v.d.z = sin (ry); 388 camera.d.z = sin (ry);
389 //camera.d.y = sin (ry * 0.1);
368#endif 390#endif
369 391
370 draw_context c; 392 c.mode = draw_context::DEPTH;
393 camera.draw (c);
394 c.drawn.clear ();
371 c.mode = draw_context::LIGHTED; 395 c.mode = draw_context::LIGHTED;
372 camera.draw (c); 396 camera.draw (c);
373 397
374 SDL_GL_SwapBuffers (); 398 SDL_GL_SwapBuffers ();
399 timer.frame ();
375 400
376 /* Check for error conditions. */ 401 /* Check for error conditions. */
377 gl_error = glGetError (); 402 gl_error = glGetError ();
378 403
379 if (gl_error != GL_NO_ERROR) 404 if (gl_error != GL_NO_ERROR)
431 int slowly; 456 int slowly;
432 float gamma = 0.0; 457 float gamma = 0.0;
433 int noframe = 0; 458 int noframe = 0;
434 int fsaa = 0; 459 int fsaa = 0;
435 460
436 // load a entity
437 txtprt_parser p;
438 entity *e;
439 try {
440 e = p.read ("test.blasc");
441 } catch (txtprt_i_exception & e) {
442 cout << "ERR: " << e.msg << endl;
443 }
444 e->show ();
445
446 logo = 0; 461 logo = 0;
447 slowly = 0; 462 slowly = 0;
448 numtests = 1; 463 numtests = 1;
449 for (i = 1; argv[i]; ++i) 464 for (i = 1; argv[i]; ++i)
450 { 465 {
478 ("Usage: %s [-twice] [-logo] [-slow] [-bpp n] [-gamma n] [-noframe] [-fsaa]\n", 493 ("Usage: %s [-twice] [-logo] [-slow] [-bpp n] [-gamma n] [-noframe] [-fsaa]\n",
479 argv[0]); 494 argv[0]);
480 exit (0); 495 exit (0);
481 } 496 }
482 } 497 }
498
483 for (i = 0; i < numtests; ++i) 499 for (i = 0; i < numtests; ++i)
484 {
485 RunGLTest (argc, argv, logo, slowly, bpp, gamma, noframe, fsaa); 500 RunGLTest (argc, argv, logo, slowly, bpp, gamma, noframe, fsaa);
486 } 501
487 return 0; 502 return 0;
488} 503}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines