InstanceArray::~InstanceArray()
{
+ for(std::vector<ObjectInstance *>::iterator i=instances.begin(); i!=instances.end(); ++i)
+ delete *i;
delete vtx_setup;
delete instance_data;
delete instance_buffer;
const Technique *tech = object.get_technique();
if(!tech)
throw logic_error("no technique");
- if(!tech->has_pass(tag))
+ const RenderPass *pass = tech->find_pass(tag);
+ if(!pass)
return;
- const RenderPass &pass = tech->get_pass(tag);
const Mesh *mesh = object.get_mesh();
mesh->get_vertices().refresh();
instance_data->refresh();
Renderer::Push push(renderer);
- pass.apply(renderer);
+ pass->apply(renderer);
mesh->draw_instanced(renderer, *vtx_setup, instances.size());
}
else