… | |
… | |
364 | camera.d = vec3 (0, 0, -1); |
364 | camera.d = vec3 (0, 0, -1); |
365 | camera.u = vec3 (0, 1, 0); |
365 | camera.u = vec3 (0, 1, 0); |
366 | camera.w = w; camera.h = h; |
366 | camera.w = w; camera.h = h; |
367 | camera.fov = 40.; |
367 | camera.fov = 40.; |
368 | |
368 | |
369 | glEnable (GL_CULL_FACE); |
|
|
370 | glDisable (GL_ALPHA_TEST); |
369 | glDisable (GL_ALPHA_TEST); |
371 | glDisable (GL_BLEND); |
|
|
372 | |
370 | |
373 | /* Loop until done. */ |
371 | /* Loop until done. */ |
374 | frames = 0; |
372 | frames = 0; |
375 | |
373 | |
376 | linear_light mylight; |
374 | linear_light mylight, mylight2; |
|
|
375 | |
377 | mylight.radius = 100000; |
376 | mylight.radius = 100000; |
378 | mylight.c = colour (1., 1, 1, 1.); |
377 | mylight.c = colour (1., 1, 1, 1.); |
379 | mylight.intensity = 1.F; |
378 | mylight.intensity = 1.F; |
380 | |
379 | |
|
|
380 | mylight2.radius = 100000; |
|
|
381 | mylight2.c = colour (1., 0, 0, 1.); |
|
|
382 | mylight2.intensity = 1.F; |
|
|
383 | |
381 | pass pass_light (&mylight); |
384 | pass pass_light (&mylight); |
|
|
385 | pass pass_light2 (&mylight2); |
382 | |
386 | |
383 | while (!done) |
387 | while (!done) |
384 | { |
388 | { |
385 | char *sdl_error; |
389 | char *sdl_error; |
386 | SDL_Event event; |
390 | SDL_Event event; |
… | |
… | |
397 | 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; |
398 | 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; |
399 | |
403 | |
400 | mylight.orig = camera.orig; |
404 | mylight.orig = camera.orig; |
401 | 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); |
402 | |
409 | |
403 | //mylight.intensity = max (sinf (timer.now) + 1.2F, 0.2F); |
410 | //mylight.intensity = max (sinf (timer.now) + 1.2F, 0.2F); |
404 | |
411 | |
405 | camera.begin (); |
412 | camera.begin (); |
406 | camera.render (view::DEPTH, pass_depth); |
413 | camera.render (view::DEPTH, pass_depth); |
407 | camera.render (view::POSTDEPTH, pass_depth); |
414 | camera.render (view::POSTDEPTH, pass_depth); |
408 | camera.render (view::LIGHTED, pass_light); |
415 | camera.render (view::LIGHTED, pass_light); |
|
|
416 | //camera.render (view::LIGHTED, pass_light2); |
409 | camera.end (); |
417 | camera.end (); |
410 | |
418 | |
411 | SDL_GL_SwapBuffers (); |
419 | SDL_GL_SwapBuffers (); |
412 | timer.frame (); |
420 | timer.frame (); |
413 | |
421 | |