X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fengineer.cpp;h=bc32dfb848a52d92c4069aeb076760fc90d05182;hb=29433673a88dffd61ecb8e6c8fe6ab38e2012586;hp=b9e252301b5adbd1b3d77bc0ec6f068ba85239d9;hpb=621c5c938d70ba0d155e0eda91a708db0a52c0dc;p=r2c2.git diff --git a/source/engineer/engineer.cpp b/source/engineer/engineer.cpp index b9e2523..bc32dfb 100644 --- a/source/engineer/engineer.cpp +++ b/source/engineer/engineer.cpp @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -33,8 +32,6 @@ using namespace std; using namespace R2C2; using namespace Msp; -Application::RegApp Engineer::reg; - Engineer::Engineer(int argc, char **argv): options(argc, argv), window(options.screen_w, options.screen_h, options.fullscreen), @@ -100,15 +97,15 @@ Engineer::Engineer(int argc, char **argv): lighting.set_ambient(GL::Color(0.4)); lighting.attach(0, light); - GL::PipelinePass *pass = &pipeline.add_pass(0); - pass->depth_test = &GL::DepthTest::lequal(); - pass->lighting = &lighting; + GL::Pipeline::Pass *pass = &pipeline.add_pass(0); + pass->set_depth_test(&GL::DepthTest::lequal()); + pass->set_lighting(&lighting); pass = &pipeline.add_pass("unlit"); - pass->depth_test = &GL::DepthTest::lequal(); + pass->set_depth_test(&GL::DepthTest::lequal()); pass = &pipeline.add_pass("overlay"); - pass->blend = &GL::Blend::alpha(); + pass->set_blend(&GL::Blend::alpha()); view_all(); @@ -198,7 +195,7 @@ void Engineer::tick() GL::Framebuffer::system().clear(GL::COLOR_BUFFER_BIT|GL::DEPTH_BUFFER_BIT); - pipeline.render_all(); + pipeline.render(); if(pointer_moved) { @@ -227,29 +224,18 @@ void Engineer::tick() if(picking && picking_track && picking_entry>=0) { - GL::PushMatrix push_mat; + GL::MatrixStack::Push push_mat(GL::MatrixStack::modelview()); float rot = picking_track->get_endpoint_direction(picking_entry); Vector pos = picking_track->get_endpoint_position(picking_entry); - GL::translate(pos.x, pos.y, pos.z+0.03); - GL::rotate(rot*180/M_PI+180, 0, 0, 1); + GL::MatrixStack::modelview() *= GL::Matrix::translation(pos.x, pos.y, pos.z+0.03); + GL::MatrixStack::modelview() *= GL::Matrix::rotation(rot+M_PI, 0, 0, 1); arrow_mesh.draw(); } - const GLtk::Geometry &rgeom = root->get_geometry(); - GL::matrix_mode(GL::PROJECTION); - GL::load_identity(); - GL::ortho_bottomleft(rgeom.w, rgeom.h); - GL::matrix_mode(GL::MODELVIEW); - GL::load_identity(); - - { - GL::Bind blend(GL::Blend::alpha()); - root->render(); - GL::Texture::unbind(); - } + root->render(); window.swap_buffers(); }