2 #ifndef GLSDK_MESH_MESH_H
3 #define GLSDK_MESH_MESH_H
14 #include <boost/noncopyable.hpp>
24 struct RenderCmdListData;
57 void DrawArrays(GLenum primitive, GLint startIndex, GLsizei vertexCount);
76 void DrawElements(GLenum primitive, GLsizei vertexCount, GLenum dataType, GLintptr byteOffset,
77 GLint baseVertex = 0);
96 std::auto_ptr<RenderCmdListData> m_pData;
133 class Mesh :
public boost::noncopyable
155 Mesh(
const std::vector<GLuint> &bufferObjects, GLuint mainVao,
const RenderCmdList &renderCmds,
166 void Render(
const std::string &variantName)
const;
176 std::auto_ptr<MeshData> m_pData;
181 void RenderWithCurrVao()
const;
189 #endif //GLSDK_MESH_MESH_H