X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmodel%2FEntityModel.hpp;h=a89d00b8503cd02bb811853786c2b7ef5ae34e77;hb=957b1df87d9a692c517a269221da81227100240e;hp=bd56a43430b776011b3498f9d56e51b29f08559c;hpb=5998b18978bd8e7a0c9deb516474634e1d3521c9;p=blank.git diff --git a/src/model/EntityModel.hpp b/src/model/EntityModel.hpp index bd56a43..a89d00b 100644 --- a/src/model/EntityModel.hpp +++ b/src/model/EntityModel.hpp @@ -14,18 +14,22 @@ class EntityModel { public: using Position = glm::vec3; - using Color = glm::vec3; + using TexCoord = glm::vec3; + using ColorMod = glm::vec3; using Normal = glm::vec3; using Index = unsigned int; using Positions = std::vector; - using Colors = std::vector; + using TexCoords = std::vector; + using ColorMods = std::vector; using Normals = std::vector; using Indices = std::vector; enum Attribute { ATTRIB_VERTEX, - ATTRIB_COLOR, + ATTRIB_TEXCOORD, + ATTRIB_HSL, + ATTRIB_RGB, ATTRIB_NORMAL, ATTRIB_INDEX, ATTRIB_COUNT, @@ -34,20 +38,26 @@ public: struct Buffer { Positions vertices; - Colors colors; + TexCoords tex_coords; + ColorMods hsl_mods; + ColorMods rgb_mods; Normals normals; Indices indices; void Clear() noexcept { vertices.clear(); - colors.clear(); + tex_coords.clear(); + hsl_mods.clear(); + rgb_mods.clear(); normals.clear(); indices.clear(); } void Reserve(size_t p, size_t i) { vertices.reserve(p); - colors.reserve(p); + tex_coords.reserve(p); + hsl_mods.reserve(p); + rgb_mods.reserve(p); normals.reserve(p); indices.reserve(i); }