diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-01-23 14:51:57 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-01-23 14:51:57 +0000 |
commit | d7388ee954d9ea7acea346aad4af57764e20dd04 (patch) | |
tree | 64bad9cdd4572bd2434c2c23c05c759e27d414c0 /game/physical.h | |
parent | Add a basic cache template (diff) | |
download | ilt-d7388ee954d9ea7acea346aad4af57764e20dd04.tar.bz2 ilt-d7388ee954d9ea7acea346aad4af57764e20dd04.tar.xz ilt-d7388ee954d9ea7acea346aad4af57764e20dd04.zip |
Allow physical objects to share meshes and textures
Diffstat (limited to 'game/physical.h')
-rw-r--r-- | game/physical.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/game/physical.h b/game/physical.h index ff9d316..ad2207d 100644 --- a/game/physical.h +++ b/game/physical.h @@ -1,14 +1,16 @@ #ifndef PHYSICAL_H #define PHYSICAL_H -#include "gfx/models/mesh.h" -#include "gfx/models/texture.h" #include <gfx/gl/transform.h> #include <glm/glm.hpp> +#include <memory> #include <string> class Camera; class Shader; +class Mesh; +class Texture; +template<typename Obj> class Cache; class Physical { public: @@ -24,8 +26,13 @@ public: protected: Transform location; - Mesh mesh; - Texture texture; + + std::shared_ptr<Mesh> mesh; + std::shared_ptr<Texture> texture; + +private: + static Cache<Mesh> cachedMesh; + static Cache<Texture> cachedTexture; }; #endif |