#ifndef DUST3D_APPLICATION_MODEL_OPENGL_OBJECT_H_ #define DUST3D_APPLICATION_MODEL_OPENGL_OBJECT_H_ #include #include #include #include #include "model.h" class ModelOpenGLObject { public: void update(std::unique_ptr mesh); void draw(); private: void copyMeshToOpenGL(); QOpenGLVertexArrayObject m_vertexArrayObject; QOpenGLBuffer m_buffer; std::unique_ptr m_mesh; bool m_meshIsDirty = false; QMutex m_meshMutex; int m_meshTriangleVertexCount = 0; }; #endif