// // Created by Selim Mustafaev on 10.05.15. // #ifndef GLTEST_MESH_H #define GLTEST_MESH_H #include "vertex.h" #include "ShaderProgram.h" #include "GLObject.h" #include #include #include class Mesh: public GLObject { protected: std::size_t _size; public: Mesh(ShaderProgram* shader, std::size_t size); virtual ~Mesh(); private: std::tuple generateVertices() const override final; std::tuple generateIndices() const override final; protected: virtual float heightMapFunc(std::size_t nx, std::size_t ny, float fx, float fy) const = 0; }; #endif //GLTEST_MESH_H