#include "programdata.h"
#include "renderer.h"
#include "technique.h"
+#include "transform.h"
using namespace std;
}
}
+ProgramData &AnimatedObject::get_shader_data()
+{
+ if(!shdata)
+ throw invalid_operation("AnimatedObject::get_shader_data");
+ return *shdata;
+}
+
+const ProgramData &AnimatedObject::get_shader_data() const
+{
+ if(!shdata)
+ throw invalid_operation("AnimatedObject::get_shader_data");
+ return *shdata;
+}
+
void AnimatedObject::set_uniform(const string &name, const KeyFrame::AnimatedUniform &uni)
{
if(!shdata)
AnimatedObject::Loader::Loader(AnimatedObject &o):
DataFile::ObjectLoader<AnimatedObject>(o)
{
+ add("transform", &Loader::transform);
+
+ // Deprecated; Use the transform statement instead
add("position", &Loader::position);
add("rotation", &Loader::rotation);
add("scale", &Loader::scale);
obj.matrix.scale(s);
}
+void AnimatedObject::Loader::transform()
+{
+ Transform trn;
+ load_sub(trn);
+ obj.matrix = trn.to_matrix();
+}
+
} // namespace GL
} // namespace Msp