Files
Enzo/src/gui/viewport/ViewportGLWidget.h
2025-07-01 16:04:28 +01:00

28 lines
828 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(std::unique_ptr<enzo::geo::Geometry>& geometry);
protected:
void initializeGL() override;
void resizeGL(int w, int h) override;
void paintGL() override;
};