]> git.localhorst.tv Git - blank.git/blobdiff - src/model/Instance.hpp
ubuntu latest and devel docker images
[blank.git] / src / model / Instance.hpp
index 60c0212793e132934cf2e2c808c05835ec6868a0..60e195087099fbfe8f28493d326a2680fdd3355a 100644 (file)
@@ -2,17 +2,15 @@
 #define BLANK_MODEL_INSTANCE_HPP_
 
 #include "Part.hpp"
+#include "../graphics/glm.hpp"
 
-#include <memory>
 #include <vector>
-#include <glm/glm.hpp>
 #include <glm/gtc/quaternion.hpp>
 
 
 namespace blank {
 
 class DirectionalLighting;
-class EntityMesh;
 class Model;
 class Part;
 
@@ -25,26 +23,20 @@ public:
        Instance();
        ~Instance();
 
-       Instance(const Instance &);
-       Instance &operator =(const Instance &);
-
        operator bool() const noexcept { return model; }
        const Model &GetModel() const noexcept { return *model; }
 
-       void Render(const glm::mat4 &, DirectionalLighting &);
+       glm::mat4 BodyTransform() const noexcept;
+       Part::State &BodyState() noexcept;
 
-       void SetTextures(const std::vector<float> &t);
-       void SetHSLModifier(const glm::vec3 &m);
-       void SetRGBModifier(const glm::vec3 &m);
+       glm::mat4 EyesTransform() const noexcept;
+       Part::State &EyesState() noexcept;
+
+       void Render(const glm::mat4 &, DirectionalLighting &);
 
 private:
        const Model *model;
        std::vector<Part::State> state;
-       std::vector<std::unique_ptr<EntityMesh>> mesh;
-
-       std::vector<float> tex_map;
-       glm::vec3 hsl_mod;
-       glm::vec3 rgb_mod;
 
 };