1 #ifndef BLANK_MODEL_HPP_
2 #define BLANK_MODEL_HPP_
14 using Position = glm::vec3;
15 using Color = glm::vec3;
16 using Normal = glm::vec3;
17 using Index = unsigned int;
19 using Positions = std::vector<Position>;
20 using Colors = std::vector<Color>;
21 using Normals = std::vector<Normal>;
22 using Indices = std::vector<Index>;
39 void Reserve(size_t p, size_t i) {
52 Model(const Model &) = delete;
53 Model &operator =(const Model &) = delete;
56 Model &operator =(Model &&);
58 void Update(const Buffer &);
72 GLuint handle[ATTRIB_COUNT];
81 using Position = glm::vec3;
82 using Color = glm::vec3;
84 using Index = unsigned int;
86 using Positions = std::vector<Position>;
87 using Colors = std::vector<Color>;
88 using Lights = std::vector<Light>;
89 using Indices = std::vector<Index>;
106 void Reserve(size_t p, size_t i) {
119 BlockModel(const BlockModel &) = delete;
120 BlockModel &operator =(const Model &) = delete;
122 BlockModel(BlockModel &&);
123 BlockModel &operator =(BlockModel &&);
125 void Update(const Buffer &);
139 GLuint handle[ATTRIB_COUNT];
148 using Position = glm::vec3;
149 using Color = glm::vec3;
150 using Index = unsigned short;
152 using Positions = std::vector<Position>;
153 using Colors = std::vector<Color>;
154 using Indices = std::vector<Index>;
165 OutlineModel(const OutlineModel &) = delete;
166 OutlineModel &operator =(const OutlineModel &) = delete;
168 void Invalidate() { dirty = true; }
171 void Reserve(int vtx_count, int idx_count);
187 GLuint handle[ATTRIB_COUNT];