X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmodel%2FPart.hpp;fp=src%2Fmodel%2FPart.hpp;h=f3d78e26f610e8c124d1047a89ddf26a4646b422;hb=a26ca06878d45d3ce77cbc28b574f2553e121944;hp=029442bfabb5646f3dd22c45d5e45c3de80387a6;hpb=bc2806164f55b7ac48dbb6d224b7d4b55683decf;p=blank.git diff --git a/src/model/Part.hpp b/src/model/Part.hpp index 029442b..f3d78e2 100644 --- a/src/model/Part.hpp +++ b/src/model/Part.hpp @@ -13,8 +13,9 @@ namespace blank { class DirectionalLighting; -class EntityMesh; +class Instance; class Model; +class Shape; struct Part { @@ -24,7 +25,7 @@ struct Part { glm::vec3 position = glm::vec3(0.0f, 0.0f, 0.0f); glm::quat orientation = glm::quat(1.0f, 0.0f, 0.0f, 0.0f); } initial; - const EntityMesh *mesh; + const Shape *shape; Part(); ~Part(); @@ -35,10 +36,14 @@ struct Part { std::uint16_t Enumerate(std::uint16_t) noexcept; void Index(std::vector &) noexcept; - glm::mat4 LocalTransform(const std::vector &) const noexcept; - glm::mat4 GlobalTransform(const std::vector &) const noexcept; + glm::mat4 LocalTransform(const Instance &) const noexcept; + glm::mat4 GlobalTransform(const Instance &) const noexcept; - void Render(const glm::mat4 &, const std::vector &, DirectionalLighting &) const; + void LoadMeshes(Instance &) const; + void Render( + const glm::mat4 &, + const Instance &, + DirectionalLighting &) const; private: const Part *parent;