has glut => sub {
my $self = shift;
my $system = $self->load_system('GLUT');
$self->opengl->on(render => sub { $system->swap_buffers });
return $system;
};
has opengl => sub {
my $self = shift;
my $system = $self->load_system('OpenGL');
$self->glut->on(resize=> sub { shift; $system->resize(@_) });
return $self;
};