#include <msp/datafile/packsource.h>
#include <msp/fs/stat.h>
#include <msp/fs/utils.h>
-#include <msp/graphics/simplewindow.h>
+#include <msp/graphics/display.h>
+#include <msp/graphics/window.h>
#include <msp/gl/animatedobject.h>
#include <msp/gl/animation.h>
#include <msp/gl/animationplayer.h>
#include <msp/gl/blend.h>
#include <msp/gl/camera.h>
+#include <msp/gl/device.h>
#include <msp/gl/directionallight.h>
#include <msp/gl/framebuffer.h>
#include <msp/gl/lighting.h>
string animation_name;
string renderable_name;
Graphics::WindowOptions wnd_opts;
- Graphics::GLOptions gl_opts;
Options(int, char **);
};
Options opts;
Graphics::Display display;
Graphics::Window window;
- Graphics::GLContext gl_ctx;
+ GL::Device gl_device;
Input::Mouse mouse;
Resources resources;
GL::WindowView view;
wnd_opts.width = lexical_cast<unsigned>(m[1].str);
wnd_opts.height = lexical_cast<unsigned>(m[2].str);
}
- gl_opts.gl_version_major = Graphics::GLOptions::LATEST_VERSION;
- gl_opts.core_profile = true;
}
Viewer::Viewer(int argc, char **argv):
opts(argc, argv),
window(display, opts.wnd_opts),
- gl_ctx(window, opts.gl_opts),
+ gl_device(window),
mouse(window),
- view(window, gl_ctx),
+ view(window),
sequence(0),
renderable(0),
anim_object(0),
{
GL::SequenceTemplate *tmpl = load<GL::SequenceTemplate>(opts.renderable_name);
GL::SequenceBuilder bld(*tmpl);
+ bld.set_debug_name(FS::basename(opts.renderable_name));
sequence = bld.build(view);
}
else
light.set_direction(GL::Vector3(0, 0, -1));
lighting.attach(light);
+ camera.set_debug_name("Camera");
camera.set_up_direction(GL::Vector3(0, 0, 1));
update_camera();
if(!sequence)
{
sequence = new GL::Sequence();
+ sequence->set_debug_name("Sequence");
+ sequence->set_clear_enabled(true);
GL::Sequence::Step &step = sequence->add_step(0, *renderable);
step.set_lighting(&lighting);
step.set_depth_test(GL::LEQUAL);
- step.set_blend(GL::Blend(GL::SRC_ALPHA, GL::ONE_MINUS_SRC_ALPHA));
}
view.set_content(sequence);