X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fobjectinstance.cpp;h=450c810646f23b5b8439de2e6275730432ea73e4;hp=b3fc133d4d78060e0aec5d01a4155f53e557d79c;hb=d901696935a6bf9fdad6ac8abe65ffab79bd297d;hpb=46921b54c8252bb535a3b2cb7be97eb38e66eaed diff --git a/source/objectinstance.cpp b/source/objectinstance.cpp index b3fc133d..450c8106 100644 --- a/source/objectinstance.cpp +++ b/source/objectinstance.cpp @@ -1,5 +1,6 @@ #include "objectinstance.h" #include "renderer.h" +#include "transform.h" using namespace std; @@ -21,5 +22,24 @@ 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(o) +{ + add("transform", &Loader::transform); +} + +void ObjectInstance::Loader::transform() +{ + Transform trn; + load_sub(trn); + obj.matrix = trn.to_matrix(); +} + } // namespace GL } // namespaec Msp