… | |
… | |
352 | |
352 | |
353 | glEnable (GL_CULL_FACE); |
353 | glEnable (GL_CULL_FACE); |
354 | glDisable (GL_ALPHA_TEST); |
354 | glDisable (GL_ALPHA_TEST); |
355 | glDisable (GL_BLEND); |
355 | glDisable (GL_BLEND); |
356 | |
356 | |
357 | init_shaders (); |
357 | test_material test_mat; |
358 | |
|
|
359 | osama_material osa_mat; |
|
|
360 | |
358 | |
361 | /* Loop until done. */ |
359 | /* Loop until done. */ |
362 | frames = 0; |
360 | frames = 0; |
363 | |
361 | |
364 | while (!done) |
362 | while (!done) |
… | |
… | |
376 | camera.u = cross (camera.d, right); |
374 | camera.u = cross (camera.d, right); |
377 | |
375 | |
378 | camera.p = camera.p - camera.d * (camera_velocity_factor * timer.diff) * camera_velocity.z; |
376 | camera.p = camera.p - camera.d * (camera_velocity_factor * timer.diff) * camera_velocity.z; |
379 | camera.p = camera.p - camera.u * (camera_velocity_factor * timer.diff) * camera_velocity.y; |
377 | camera.p = camera.p - camera.u * (camera_velocity_factor * timer.diff) * camera_velocity.y; |
380 | |
378 | |
381 | osa_mat.begin (); |
379 | test_mat.enable (); |
382 | |
380 | |
383 | camera.begin (); |
381 | camera.begin (); |
384 | camera.render (view::DEPTH); |
382 | camera.render (view::DEPTH); |
385 | camera.render (view::POSTDEPTH); |
383 | camera.render (view::POSTDEPTH); |
386 | camera.render (view::LIGHTED); |
384 | camera.render (view::LIGHTED); |
387 | camera.end (); |
385 | camera.end (); |
388 | |
386 | |
389 | SDL_GL_SwapBuffers (); |
387 | SDL_GL_SwapBuffers (); |
390 | timer.frame (); |
388 | timer.frame (); |
391 | |
389 | |
392 | osa_mat.end (); |
390 | test_mat.disable (); |
393 | |
391 | |
394 | #if 0 |
392 | #if 0 |
395 | /* Check for error conditions. */ |
393 | /* Check for error conditions. */ |
396 | gl_error = glGetError (); |
394 | gl_error = glGetError (); |
397 | |
395 | |