Designer::Designer(int argc, char **argv):
screen_w(1280),
screen_h(960),
- base_mesh(0),
+ base_object(0),
cur_route(0),
mode(SELECT),
input(0),
if(!layout->get_base().empty())
{
- base_mesh = new GL::Mesh;
- DataFile::load(*base_mesh, layout->get_base());
+ base_object = new GL::Object;
+ DataFile::load(*base_object, layout->get_base());
}
}
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_CULL_FACE);
+ pipeline = new GL::Pipeline(screen_w, screen_h, false);
+ pipeline->add_renderable(layout_3d->get_scene());
+ if(base_object)
+ pipeline->add_renderable(*base_object);
+
+ light.set_position(0, -0.259, 0.966, 0);
+ lighting.attach(0, light);
+
+ GL::PipelinePass *pass = &pipeline->add_pass(GL::Tag());
+ pass->lighting = &lighting;
+
DataFile::load(ui_res, "marklin.res");
root = new GLtk::Root(ui_res, *wnd);
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
GL::enable(GL::DEPTH_TEST);
+ GL::Texture::unbind();
project_3d();
apply_camera();
if(mode==CATALOGUE)
- cat_layout_3d->render();
+ cat_layout_3d->get_scene().render();
else
{
- if(base_mesh)
- {
- GL::Texture::unbind();
- base_mesh->draw();
- }
- layout_3d->render(true);
- if(cur_route)
+ pipeline->render_all();
+ layout_3d->get_endpoint_scene().render();
+ GL::enable(GL_CULL_FACE);
+ /*if(cur_route)
{
glColor4f(0.5, 0.8, 1.0, 1.0);
const set<const Track *> &rtracks = cur_route->get_tracks();
}
layout_3d->get_track(**i).render_path(path);
}
- }
+ }*/
+
manipulator->render();
if(mode==MEASURE)
measure->render();