X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fobjectinstance.cpp;h=ef4afffeeab8c5a97753ab6800417d6c15478e4a;hb=afb95d09c066b45b7a66b644c04e2d0b2cee2723;hp=e3bb8f80b0e60f62c45b3926428d258737e52c20;hpb=f14435e58bfa0fa697a06ba9a454bb30cd37d9d8;p=libs%2Fgl.git diff --git a/source/objectinstance.cpp b/source/objectinstance.cpp index e3bb8f80..ef4afffe 100644 --- a/source/objectinstance.cpp +++ b/source/objectinstance.cpp @@ -1,6 +1,6 @@ -#include "object.h" #include "objectinstance.h" #include "renderer.h" +#include "transform.h" using namespace std; @@ -22,5 +22,29 @@ 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); +} + +unsigned ObjectInstance::get_level_of_detail(const Renderer &renderer) const +{ + return renderer.get_object_lod_bias(); +} + + +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