X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fobject.cpp;h=964099e51e4022c09335c16b7ca023d491de7c26;hb=01d2500733766710f4a11f49216a5b3dcc75a4a3;hp=5aec7e744a3ce308c8b818edb76c8ce4a8a39abd;hpb=0fc02952ed449ff85f5f9e96ea2fc724c8456891;p=libs%2Fgl.git diff --git a/source/object.cpp b/source/object.cpp index 5aec7e74..964099e5 100644 --- a/source/object.cpp +++ b/source/object.cpp @@ -19,6 +19,12 @@ Object::Object(): meshes(1) { } +Object::Object(const Mesh *m, const Technique *t) +{ + set_mesh(m); + set_technique(t); +} + Object::~Object() { } @@ -71,7 +77,7 @@ void Object::render(Renderer &renderer, const Tag &tag) const return; Renderer::Push push(renderer); - renderer.set_shader(pass->get_shader_program(), pass->get_shader_data()); + renderer.set_shader_program(pass->get_shader_program(), pass->get_shader_data()); renderer.set_material(pass->get_material()); renderer.set_texturing(pass->get_texturing()); @@ -85,12 +91,12 @@ void Object::render(Renderer &renderer, const ObjectInstance &inst, const Tag &t return; Renderer::Push push(renderer); - renderer.set_shader(pass->get_shader_program(), pass->get_shader_data()); + renderer.set_shader_program(pass->get_shader_program(), pass->get_shader_data()); renderer.set_material(pass->get_material()); renderer.set_texturing(pass->get_texturing()); inst.setup_render(renderer, tag); - unsigned lod = min(inst.get_level_of_detail(), meshes.size()-1); + unsigned lod = min(inst.get_level_of_detail(renderer), meshes.size()-1); meshes[lod]->draw(renderer); inst.finish_render(renderer, tag); }