X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgameview%2Frenderer.h;h=ca45b21b7657c113b30ff1ffb3cf86ef4d5f7067;hb=12c863fc1bc5456a4b3aceacc88904d76bd1d8bb;hp=4e90a7445f9058ad3539bea4e930a1822c2cd56b;hpb=f298027c2042b63cec903c98dfc97e792a4f923f;p=libs%2Fgame.git diff --git a/source/gameview/renderer.h b/source/gameview/renderer.h index 4e90a74..ca45b21 100644 --- a/source/gameview/renderer.h +++ b/source/gameview/renderer.h @@ -10,14 +10,24 @@ #include #include #include +#include "mspgameview_api.h" namespace Msp::GameView { -class Renderer: public Game::System +class MeshRenderer; + +class MSPGAMEVIEW_API Renderer: public Game::System { private: + struct RenderedEntity + { + Game::Handle entity; + Game::Owned mesh_renderer; + }; + GL::View &view; Game::EventObserver event_observer; + std::vector entities; GL::SimpleScene scene; Game::Handle active_camera; GL::Camera gl_camera; @@ -29,6 +39,8 @@ public: ~Renderer(); private: + void entity_created(const Game::Events::EntityCreated &); + void entity_destroyed(const Game::Events::EntityDestroyed &); void camera_changed(const Game::Events::CameraChanged &); public: