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

Comparing libgender/test.C (file contents):
Revision 1.37 by root, Wed Oct 6 06:05:23 2004 UTC vs.
Revision 1.38 by root, Wed Oct 6 07:45:20 2004 UTC

31 31
32/**********************************************************************/ 32/**********************************************************************/
33 33
34view camera; 34view camera;
35vec3 camera_velocity; 35vec3 camera_velocity;
36float camera_angle = 0, camera_velocity_angle;
36float camera_velocity_factor = 20; 37float camera_velocity_factor = 20;
37 38
38void 39void
39HotKey_ToggleFullScreen (void) 40HotKey_ToggleFullScreen (void)
40{ 41{
108 if (event->key.keysym.sym == SDLK_RIGHT) camera_velocity.x++; 109 if (event->key.keysym.sym == SDLK_RIGHT) camera_velocity.x++;
109 if (event->key.keysym.sym == SDLK_a) camera_velocity.y--; 110 if (event->key.keysym.sym == SDLK_a) camera_velocity.y--;
110 if (event->key.keysym.sym == SDLK_s) camera_velocity.y++; 111 if (event->key.keysym.sym == SDLK_s) camera_velocity.y++;
111 if (event->key.keysym.sym == SDLK_v) camera_velocity_factor *= 1.5; 112 if (event->key.keysym.sym == SDLK_v) camera_velocity_factor *= 1.5;
112 if (event->key.keysym.sym == SDLK_b) camera_velocity_factor /= 1.5; 113 if (event->key.keysym.sym == SDLK_b) camera_velocity_factor /= 1.5;
114 if (event->key.keysym.sym == SDLK_e) camera_velocity_angle++;
115 if (event->key.keysym.sym == SDLK_q) camera_velocity_angle--;
113 116
114 if (event->key.keysym.sym == SDLK_ESCAPE) 117 if (event->key.keysym.sym == SDLK_ESCAPE)
115 done = 1; 118 done = 1;
116 119
117 if ((event->key.keysym.sym == SDLK_g) && 120 if ((event->key.keysym.sym == SDLK_g) &&
133 if (event->key.keysym.sym == SDLK_DOWN) camera_velocity.z--; 136 if (event->key.keysym.sym == SDLK_DOWN) camera_velocity.z--;
134 if (event->key.keysym.sym == SDLK_LEFT) camera_velocity.x++; 137 if (event->key.keysym.sym == SDLK_LEFT) camera_velocity.x++;
135 if (event->key.keysym.sym == SDLK_RIGHT) camera_velocity.x--; 138 if (event->key.keysym.sym == SDLK_RIGHT) camera_velocity.x--;
136 if (event->key.keysym.sym == SDLK_a) camera_velocity.y++; 139 if (event->key.keysym.sym == SDLK_a) camera_velocity.y++;
137 if (event->key.keysym.sym == SDLK_s) camera_velocity.y--; 140 if (event->key.keysym.sym == SDLK_s) camera_velocity.y--;
141 if (event->key.keysym.sym == SDLK_e) camera_velocity_angle--;
142 if (event->key.keysym.sym == SDLK_q) camera_velocity_angle++;
138 break; 143 break;
139 144
140 case SDL_QUIT: 145 case SDL_QUIT:
141 done = 1; 146 done = 1;
142 break; 147 break;
281 camera.orig.x = camera.orig.y = camera.orig.z = 0; 286 camera.orig.x = camera.orig.y = camera.orig.z = 0;
282 camera.p = point (0, 0, 10); 287 camera.p = point (0, 0, 10);
283 camera.d = vec3 (0, 0, -1); 288 camera.d = vec3 (0, 0, -1);
284 camera.u = vec3 (0, 1, 0); 289 camera.u = vec3 (0, 1, 0);
285 camera.w = w; camera.h = h; 290 camera.w = w; camera.h = h;
286 camera.fov = 90; 291 camera.fov = 80;
287 292
288 glMatrixMode (GL_MODELVIEW); 293 glMatrixMode (GL_MODELVIEW);
289 glLoadIdentity (); 294 glLoadIdentity ();
290 295
291 glEnable (GL_CULL_FACE); 296 //glEnable (GL_CULL_FACE);
292 glEnable (GL_DEPTH_TEST); 297 glEnable (GL_DEPTH_TEST);
293 298
294 glShadeModel (GL_SMOOTH); 299 glShadeModel (GL_SMOOTH);
295 300
296 glEnable (GL_LIGHTING); 301 glEnable (GL_LIGHTING);
337 char *sdl_error; 342 char *sdl_error;
338 SDL_Event event; 343 SDL_Event event;
339 344
340 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 345 glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
341 346
342 camera.p.x += (camera_velocity_factor * camera_velocity.x) * timer.diff; 347 camera.p.x += camera_velocity_factor * camera_velocity.x * timer.diff;
343 camera.p.y += (camera_velocity_factor * camera_velocity.y) * timer.diff; 348 camera.p.y += camera_velocity_factor * camera_velocity.y * timer.diff;
344 camera.p.z += (camera_velocity_factor * camera_velocity.z) * timer.diff; 349 camera.p.z += camera_velocity_factor * camera_velocity.z * timer.diff;
350
351 camera_angle += camera_velocity_factor * camera_velocity_angle * timer.diff;
352 camera.d.z = -cos (camera_angle * 12 / 180.);
353 camera.d.x = sin (camera_angle * 12 / 180.);
345 354
346 cgGLSetParameter4f (lightpos, camera.p.x, camera.p.y, camera.p.z, 1); 355 cgGLSetParameter4f (lightpos, camera.p.x, camera.p.y, camera.p.z, 1);
347 356
348#if 0 357#if 0
349 static GLfloat ry; 358 static GLfloat ry;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines