|
@@ -26,8 +26,8 @@ namespace engine {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
game_dispatch::game_dispatch(std::shared_ptr<graphics::renderer> renderer)
|
|
game_dispatch::game_dispatch(std::shared_ptr<graphics::renderer> renderer)
|
|
|
- : renderer(renderer), screen_size(env::screen_size()),
|
|
|
|
|
- minimum_frame_duration(env::fps::v60),
|
|
|
|
|
|
|
+ : renderer(new graphics::batch_renderer(renderer.get())),
|
|
|
|
|
+ screen_size(env::screen_size()), minimum_frame_duration(0),
|
|
|
text_engine_(new text_engine("font", renderer->manager())),
|
|
text_engine_(new text_engine("font", renderer->manager())),
|
|
|
counter(new fps_counter(text_engine_)), scenes(),
|
|
counter(new fps_counter(text_engine_)), scenes(),
|
|
|
current_timestamp(env::clock::now()), curr_scene() {}
|
|
current_timestamp(env::clock::now()), curr_scene() {}
|
|
@@ -94,11 +94,11 @@ namespace engine {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void game_dispatch::render() {
|
|
void game_dispatch::render() {
|
|
|
- graphics::batch_renderer batch(renderer.get());
|
|
|
|
|
- batch.clear();
|
|
|
|
|
|
|
+ renderer->clear();
|
|
|
for (auto & obj : counter->glyphs()) {
|
|
for (auto & obj : counter->glyphs()) {
|
|
|
- batch.draw(obj);
|
|
|
|
|
|
|
+ renderer->draw(obj);
|
|
|
}
|
|
}
|
|
|
- curr_scene.ptr->render(batch);
|
|
|
|
|
|
|
+ curr_scene.ptr->render(*renderer);
|
|
|
|
|
+ renderer->flush();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|