X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fmesh.h;h=394f46a6000f4e5dde6f28df55c017e6c072aa42;hb=d90ed8aef9e3547eee75ad793c352ee022d35050;hp=6482bde46d291a7f843d1c4d72f1e6251f024121;hpb=46cc932f7ddb0c81f352bc847973dae6b327ebeb;p=demo diff --git a/src/mesh.h b/src/mesh.h index 6482bde..394f46a 100644 --- a/src/mesh.h +++ b/src/mesh.h @@ -15,23 +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 mat_idx; - - unsigned int which_mask; 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_