void Renderer::component_created(const Game::Events::ComponentCreated &event)
{
if(auto shape = dynamic_handle_cast<Game::Shape>(event.component))
- {
- RenderedEntity &re = get_rendered_entity(event.component->get_entity());
- if(!re.generated_mesh)
+ if(!shape->get_technique_name().empty())
{
- const GL::Technique &tech = stage.get_resources().get<GL::Technique>(shape->get_technique_name());
- re.generated_mesh = Game::Owned<DynamicMeshSource>(re.entity, (GL::VERTEX3, GL::NORMAL3, GL::TEXCOORD2,GL::UNSIGNED_SHORT), tech);
- GL::ShapeBuilder(shape->get_shape(), shape->get_render_detail()).build(re.generated_mesh->get_mesh());
+ RenderedEntity &re = get_rendered_entity(event.component->get_entity());
+ if(!re.generated_mesh)
+ {
+ const GL::Technique &tech = stage.get_resources().get<GL::Technique>(shape->get_technique_name());
+ re.generated_mesh = Game::Owned<DynamicMeshSource>(re.entity, (GL::VERTEX3, GL::NORMAL3, GL::TEXCOORD2,GL::UNSIGNED_SHORT), tech);
+ GL::ShapeBuilder(shape->get_shape(), shape->get_render_detail()).build(re.generated_mesh->get_mesh());
+ }
}
- }
auto mesh_source = dynamic_handle_cast<Game::MeshSource>(event.component);
auto dyn_mesh_src = dynamic_handle_cast<DynamicMeshSource>(event.component);