Files
Enzo/src/Gui/Viewport/ViewportGLWidget.h
2025-07-10 13:49:25 +01:00

31 lines
883 B
C++

#include <GL/gl.h>
#include <GL/glext.h>
#include <QOpenGLWidget>
#include <iostream>
#include <QOpenGLFunctions_3_2_Core>
#include "Gui/Viewport/GLCamera.h"
#include "Gui/Viewport/GLMesh.h"
#include "Gui/Viewport/GLGrid.h"
#include "Engine/Operator/Geometry.h"
class ViewportGLWidget : public QOpenGLWidget, protected QOpenGLFunctions_3_2_Core
{
public:
ViewportGLWidget(QWidget *parent) : QOpenGLWidget(parent) { }
QSize sizeHint() const override { return QSize(-1, -1); }
GLuint shaderProgram;
GLCamera curCamera;
std::unique_ptr<GLMesh> triangleMesh_ ;
std::unique_ptr<GLGrid> gridMesh_ ;
std::unique_ptr<GLMesh> meshFromGeo(enzo::geo::Geometry& geometry);
protected:
void initializeGL() override;
void resizeGL(int w, int h) override;
void paintGL() override;
public slots:
void geometryChanged(enzo::geo::Geometry& geometry);
};