#ifndef QSCENERENDERER_H #define QSCENERENDERER_H #include #include #include #include "terrain.h" #include "tile.h" #include #include #include "matrix2d.h" class QSceneRenderer : public QOpenGLWidget { public: QSceneRenderer(QWidget* parent = Q_NULLPTR) ; inline Matrix2D * getMapPoints() {return m_point;} inline int getNumPointsWidth() const {return m_numPointsWidth;} inline int getNumPointsHeight() const {return m_numPointsHeight;} inline int getNumPoints05() const {return m_numPoints05;} Tile * getTile(int x, int y); protected: void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void keyPressEvent(QKeyEvent * e); void wheelEvent(QWheelEvent * e); void initializeGL(); void resizeGL(int w, int h); void paintGL(); float m_camera_x =10.0; float m_camera_y=0.0; QMatrix4x4 Projection; QMatrix4x4 cameraTransformation; QVector3D cameraPosition; QVector3D cameraUpDirection; Matrix2D * m_point; Matrix2D * tiles; QPoint lastPos; float zRot=0; float m_numPointsWidth; float m_numPointsHeight; int m_numPoints05; float m_zoom; }; #endif // QSCENERENDERER_H