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

Comparing libgender/test.C (file contents):
Revision 1.85 by root, Sat Nov 6 00:52:36 2004 UTC vs.
Revision 1.90 by root, Sun Nov 7 02:28:18 2004 UTC

302 302
303 /* Set the gamma for the window */ 303 /* Set the gamma for the window */
304 if (gamma != 0.0) 304 if (gamma != 0.0)
305 SDL_SetGamma (gamma, gamma, gamma); 305 SDL_SetGamma (gamma, gamma, gamma);
306 306
307
308
309 testmat = new test_material; 307 testmat = new test_material;
310 308
311 entity *planet = new entity (new geometry_sphere (testmat, 10)); 309 entity *planet = new entity (new geometry_sphere (testmat, 10));
312 planet->move (vec3 (0, 0, -20)); 310 planet->move (vec3 (0, 0, -20));
313 planet->show (); 311 planet->show ();
331 entity *e = new entity (g); 329 entity *e = new entity (g);
332 e->move (vec3 (i*5, -3, -i*10)); 330 e->move (vec3 (i*5, -3, -i*10));
333 e->show (); 331 e->show ();
334 } 332 }
335 333
336 { 334 {
337 fisch (vec3 (0, 0, -2e9), 1e9, 8); 335 fisch (vec3 (0, 0, -2e9), 1e9, 8);
338 //entity *planet = new entity (new geometry_sphere (1e9)); 336 //entity *planet = new entity (new geometry_sphere (1e9));
339 //planet->move (vec3 (0, 0, -1.5e9)); 337 //planet->move (vec3 (0, 0, -1.5e9));
340 //planet->show (); 338 //planet->show ();
341 } 339 }
342 340
343 { 341 {
344 entity *planet = new entity (new geometry_sphere (testmat, 4e15)); 342 entity *planet = new entity (new geometry_sphere (testmat, 4e15));
345 planet->move (vec3 (0, 0, 1e17)); 343 planet->move (vec3 (0, 0, 1e17));
346 planet->show (); 344 planet->show ();
347 } 345 }
348 346
349 //draw_floor (10, -500, -10, -1000); 347 //draw_floor (10, -500, -10, -1000);
350 draw_level (); 348 draw_level ();
351
352 349
353#if 0 350#if 0
354 { 351 {
355 geometry_heightfield *hf = new geometry_heightfield (100000., 100000.); 352 geometry_heightfield *hf = new geometry_heightfield (100000., 100000.);
356 entity *e = new entity (hf); 353 entity *e = new entity (hf);
367 camera.d = vec3 (0, 0, -1); 364 camera.d = vec3 (0, 0, -1);
368 camera.u = vec3 (0, 1, 0); 365 camera.u = vec3 (0, 1, 0);
369 camera.w = w; camera.h = h; 366 camera.w = w; camera.h = h;
370 camera.fov = 40.; 367 camera.fov = 40.;
371 368
372 glEnable (GL_CULL_FACE);
373 glDisable (GL_ALPHA_TEST); 369 glDisable (GL_ALPHA_TEST);
374 glDisable (GL_BLEND);
375 370
376 /* Loop until done. */ 371 /* Loop until done. */
377 frames = 0; 372 frames = 0;
378 373
379 linear_light mylight; 374 linear_light mylight, mylight2;
375
380 mylight.radius = 100000; 376 mylight.radius = 100000;
381 mylight.c = colour (1., 1, 1, 1.); 377 mylight.c = colour (1., 1, 1, 1.);
382 mylight.intensity = 1.F; 378 mylight.intensity = 1.F;
383 379
380 mylight2.radius = 100000;
381 mylight2.c = colour (1., 0, 0, 1.);
382 mylight2.intensity = 1.F;
383
384 pass pass_light (&mylight); 384 pass pass_light (&mylight);
385 pass pass_light2 (&mylight2);
385 386
386 while (!done) 387 while (!done)
387 { 388 {
388 char *sdl_error; 389 char *sdl_error;
389 SDL_Event event; 390 SDL_Event event;
390 391
391 camera_angle += 180 * camera_velocity_angle * timer.diff; 392 camera_angle += 90 * camera_velocity_angle * timer.diff;
392 camera_angle2 += 180 * camera_velocity_angle2 * timer.diff; 393 camera_angle2 += 90 * camera_velocity_angle2 * timer.diff;
393 394
394 vec3 geradeaus = matrix::rotation (-camera_angle, vec3 (0, 1, 0)) * vec3 (0, 0, -1); 395 vec3 geradeaus = matrix::rotation (-camera_angle, vec3 (0, 1, 0)) * vec3 (0, 0, -1);
395 vec3 right = matrix::rotation (90., vec3 (0, 1, 0)) * geradeaus; 396 vec3 right = matrix::rotation (90., vec3 (0, 1, 0)) * geradeaus;
396 397
397 camera.d = matrix::rotation (camera_angle2, right) * geradeaus; 398 camera.d = matrix::rotation (camera_angle2, right) * geradeaus;
400 camera.p = camera.p - camera.d * (camera_velocity_factor * timer.diff) * camera_velocity.z; 401 camera.p = camera.p - camera.d * (camera_velocity_factor * timer.diff) * camera_velocity.z;
401 camera.p = camera.p - camera.u * (camera_velocity_factor * timer.diff) * camera_velocity.y; 402 camera.p = camera.p - camera.u * (camera_velocity_factor * timer.diff) * camera_velocity.y;
402 403
403 mylight.orig = camera.orig; 404 mylight.orig = camera.orig;
404 mylight.p = camera.p; 405 mylight.p = camera.p;
406
407 mylight2.orig = camera.orig;
408 mylight2.p = camera.p + vec3 (sin (timer.now * 2) * 100, 1, cos (timer.now * 2) * 100);
405 409
406 //mylight.intensity = max (sinf (timer.now) + 1.2F, 0.2F); 410 //mylight.intensity = max (sinf (timer.now) + 1.2F, 0.2F);
407 411
408 camera.begin (); 412 camera.begin ();
409 camera.render (view::DEPTH, pass_depth); 413 camera.render (view::DEPTH, pass_depth);
410 camera.render (view::POSTDEPTH, pass_depth); 414 camera.render (view::POSTDEPTH, pass_depth);
411 camera.render (view::LIGHTED, pass_light); 415 camera.render (view::LIGHTED, pass_light);
416 //camera.render (view::LIGHTED, pass_light2);
412 camera.end (); 417 camera.end ();
413 418
414 SDL_GL_SwapBuffers (); 419 SDL_GL_SwapBuffers ();
415 timer.frame (); 420 timer.frame ();
416 421

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines