m2b-ar-tp2/fish_painter.h

31 lines
621 B
C++

#ifndef FISH_VIEWER_H
#define FISH_VIEWER_H
#include "fish.h"
#include <QOpenGLVertexArrayObject>
#include <QOpenGLBuffer>
#include <QOpenGLShaderProgram>
#include <QOpenGLExtraFunctions>
#include <QMatrix4x4>
#include <QOpenGLTexture>
class FishPainter {
QOpenGLVertexArrayObject vao;
QOpenGLBuffer vbo;
QOpenGLShaderProgram program;
QOpenGLTexture *texture = nullptr;
size_t n_verts;
public:
~FishPainter();
void create(QOpenGLExtraFunctions *glf);
void paint(QOpenGLExtraFunctions *glf,
const QMatrix4x4 &projection,
const QMatrix4x4 &view,
const std::vector<Fish> fishes);
};
#endif