X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fapp.cc;h=60209477591434fc6d9d8c0bb9e952936bcb57bc;hp=250141536d4c047bb83bea85f931a14efe0d73ce;hb=dbcb9345c23c5c027d808915962843e7db2d14aa;hpb=72b941af07bbf2673539ad4eea073e68d3bcbbfc diff --git a/src/app.cc b/src/app.cc index 2501415..6020947 100644 --- a/src/app.cc +++ b/src/app.cc @@ -15,6 +15,7 @@ static void draw_scene(); long time_msec; int win_width, win_height; bool opt_gear_wireframe; +bool show_walk_mesh; static float cam_dist = 0.0; static float cam_theta, cam_phi = 20; @@ -50,20 +51,6 @@ bool app_init() return false; } - /* - datamap_set_path("data"); - if(!datamap_load_map("data.map")) { - fprintf(stderr, "failed to load datafile mappings\n"); - } - - unsigned int sflags = SCNLOAD_FLIPTEX; - if(!(scn->load("data/testscene/patoma.fbx", sflags)) || - !(scn->load("data/testscene/kolones.fbx", sflags))) { - fprintf(stderr, "failed to load test scene\n"); - return false; - } - */ - if(!(sdr = create_program_load("sdr/test.v.glsl", "sdr/test.p.glsl"))) { fprintf(stderr, "failed to load test shaders\n"); return false; @@ -170,6 +157,18 @@ static void draw_scene() glUseProgram(sdr); scn->draw(); glUseProgram(0); + + if(show_walk_mesh && scn->walk_mesh) { + glPushAttrib(GL_ENABLE_BIT); + glEnable(GL_BLEND); + glBlendFunc(GL_ONE, GL_ONE); + glDisable(GL_LIGHTING); + + glColor3f(0.5, 0.4, 0.05); + scn->walk_mesh->draw(); + + glPopAttrib(); + } } @@ -185,10 +184,17 @@ void app_reshape(int x, int y) void app_keyboard(int key, bool pressed) { if(pressed) { + printf("key: %d (mod: %x)\n", key, app_get_modifiers()); switch(key) { case 27: app_quit(); break; + + case 'w': + if(app_get_modifiers() & MOD_CTRL) { + show_walk_mesh = !show_walk_mesh; + } + break; } }