X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fmesh.h;h=394f46a6000f4e5dde6f28df55c017e6c072aa42;hb=HEAD;hp=36a79cd342847bcf19c968c5a1a3bb96043b98db;hpb=64e2adbbab48320b6cd792e515b44cea112a3be4;p=demo diff --git a/src/mesh.h b/src/mesh.h index 36a79cd..394f46a 100644 --- a/src/mesh.h +++ b/src/mesh.h @@ -15,21 +15,25 @@ enum { }; class Mesh { -private: - // call before draw in gl - virtual void update_vertex_data() = 0; +protected: + bool vdata_valid; + public: std::vector indices; std::vector vertices; std::vector normals; - std::vector tangents; std::vector tex_coords; - std::string name; - unsigned int which_mask; + std::string name; Mesh(); virtual ~Mesh() = 0; + + virtual void draw() const = 0; + virtual void draw_normals(float scale) const = 0; + virtual bool update_vertex_data() = 0; + virtual void transform(const Mat4 &mat); + virtual void invalidate(); }; -#endif // MESH_H_ \ No newline at end of file +#endif // MESH_H_