return;
Renderer::Push push(renderer);
- renderer.set_shader_program(pass->get_shader_program(), pass->get_shader_data());
- renderer.set_material(pass->get_material());
- renderer.set_texturing(pass->get_texturing());
+ pass->apply(renderer);
setup_render(renderer, tag);
meshes.front()->draw(renderer);
return;
Renderer::Push push(renderer);
- renderer.set_shader_program(pass->get_shader_program(), pass->get_shader_data());
- renderer.set_material(pass->get_material());
- renderer.set_texturing(pass->get_texturing());
+ pass->apply(renderer);
setup_render(renderer, tag);
inst.setup_render(renderer, tag);
const RenderPass *Object::get_pass(const Tag &tag) const
{
- if(!technique || !technique->has_pass(tag))
+ if(!technique)
+ throw logic_error("!technique");
+ if(!technique->has_pass(tag))
return 0;
return &technique->get_pass(tag);
}