]> git.tdb.fi Git - libs/game.git/blobdiff - source/gameview/meshrenderer.cpp
Add components for giving entities a visual appearance
[libs/game.git] / source / gameview / meshrenderer.cpp
diff --git a/source/gameview/meshrenderer.cpp b/source/gameview/meshrenderer.cpp
new file mode 100644 (file)
index 0000000..c29aeed
--- /dev/null
@@ -0,0 +1,19 @@
+#include "meshrenderer.h"
+#include <msp/game/entity.h>
+#include <msp/game/transform.h>
+
+namespace Msp::GameView {
+
+MeshRenderer::MeshRenderer(Game::Handle<Game::Entity> e, Game::Handle<Game::MeshSource> s):
+       Component(e),
+       source(s),
+       object(entity->get_stage().get_resources().get<GL::Object>(source->get_object_name())),
+       instance(object)
+{ }
+
+void MeshRenderer::update_matrix()
+{
+       instance.set_matrix(entity->get_transform()->get_world_matrix());
+}
+
+} // namespace Msp::GameView