#include <msp/gl/animationplayer.h>
#include <msp/gl/blend.h>
#include <msp/gl/camera.h>
+#include <msp/gl/directionallight.h>
#include <msp/gl/framebuffer.h>
-#include <msp/gl/light.h>
#include <msp/gl/lighting.h>
#include <msp/gl/mesh.h>
#include <msp/gl/object.h>
GL::Renderable *renderable;
GL::AnimatedObject *anim_object;
GL::AnimationPlayer *anim_player;
- GL::Light light;
+ GL::DirectionalLight light;
GL::Lighting lighting;
GL::Camera camera;
float yaw;
object = new GL::Object;
GL::Technique *tech = new GL::Technique;
- tech->add_pass(0);
+ tech->add_method(0);
object->set_mesh(mesh);
object->set_technique(tech);
renderable = object;
IO::BufferedFile in(opts.renderable_name);
DataFile::Parser parser(in, opts.renderable_name);
ldr.load(parser);
- renderable = ldr.get_scene();
+ renderable = ldr.get_object();
}
else
renderable = &resources.get<GL::Scene>(opts.renderable_name);
mouse.signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Viewer::button_release), false));
mouse.signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Viewer::axis_motion), false));
- light.set_position(GL::Vector4(0, 0, 1, 0));
+ light.set_direction(GL::Vector3(0, 0, -1));
lighting.attach(light);
camera.set_up_direction(GL::Vector3(0, 0, 1));
if(!sequence)
{
- sequence = new GL::Sequence(view);
+ sequence = new GL::Sequence();
GL::Sequence::Step &step = sequence->add_step(0, *renderable);
step.set_lighting(&lighting);
step.set_depth_test(GL::LEQUAL);
float sy = sin(light_yaw);
float cp = cos(light_pitch);
float sp = sin(light_pitch);
- light.set_position(GL::Vector4(-cy*cp, -sy*cp, -sp, 0));
+ light.set_direction(GL::Vector3(cy*cp, sy*cp, sp));
}