-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#include "object.h"
#include "objectinstance.h"
-#include "programdata.h"
+#include "renderer.h"
+#include "transform.h"
+
+using namespace std;
namespace Msp {
namespace GL {
object(obj)
{ }
-void ObjectInstance::render() const
+void ObjectInstance::render(const Tag &tag) const
+{
+ Renderer renderer(0);
+ render(renderer, tag);
+}
+
+void ObjectInstance::render(Renderer &renderer, const Tag &tag) const
+{
+ object.render(renderer, *this, tag);
+}
+
+void ObjectInstance::setup_render(Renderer &renderer, const Tag &) const
+{
+ renderer.transform(matrix);
+}
+
+
+ObjectInstance::Loader::Loader(ObjectInstance &o):
+ DataFile::ObjectLoader<ObjectInstance>(o)
{
- object.render(this);
+ add("transform", &Loader::transform);
}
-void ObjectInstance::render(const std::string &pn) const
+void ObjectInstance::Loader::transform()
{
- object.render(pn, this);
+ Transform trn;
+ load_sub(trn);
+ obj.matrix = trn.to_matrix();
}
} // namespace GL