#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;
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));
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);
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));
}