meshes(1)
{ }
+Object::Object(const Mesh *m, const Technique *t)
+{
+ set_mesh(m);
+ set_technique(t);
+}
+
Object::~Object()
{
}
void Object::set_mesh(unsigned i, const Mesh *m)
{
if(i>meshes.size())
- throw invalid_argument("Object::set_mesh");
+ throw out_of_range("Object::set_mesh");
if(i==meshes.size())
meshes.push_back(m);
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());
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<unsigned>(inst.get_level_of_detail(), meshes.size()-1);
+ unsigned lod = min<unsigned>(inst.get_level_of_detail(renderer), meshes.size()-1);
meshes[lod]->draw(renderer);
inst.finish_render(renderer, tag);
}
void Object::Loader::mesh_inline_lod(unsigned l)
{
if(l>obj.meshes.size())
- throw invalid_argument("Object::Loader::mesh_inline_lod");
+ throw out_of_range("Object::Loader::mesh_inline_lod");
RefPtr<Mesh> msh = new Mesh;
load_sub(*msh);