#pragma once #include "..\Header\FileInterface.h" #include #include #include #include #include #include struct DrawInformation { unsigned int offset; unsigned int size; unsigned int textureIndex; QMatrix4x4 modelMatrix; }; class GeometryEngine : public QObject, protected QOpenGLFunctions { Q_OBJECT public: GeometryEngine(); virtual ~GeometryEngine(); private: QOpenGLBuffer m_arrayBuf; QOpenGLBuffer m_indexBuf; QVector m_textures; QVector m_drawList; void loadTexture(const char* filePath); void clearData(); public slots: void loadFile(const char* filePath); void drawGeometry(QOpenGLShaderProgram *program); signals: void requestResetView(); };