27 lines
577 B
C++
27 lines
577 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
class DrawingContext;
|
|
class OpenGlShaderProgram;
|
|
class TriMesh;
|
|
|
|
class OpenGlMeshPainter
|
|
{
|
|
public:
|
|
OpenGlMeshPainter();
|
|
|
|
void paint(TriMesh* mesh, DrawingContext* context);
|
|
|
|
private:
|
|
void initializeShader();
|
|
void initializeBuffers();
|
|
|
|
void paint(const std::vector<float>& verts, const std::vector<unsigned>& elements, const std::vector<float>& color);
|
|
|
|
unsigned mVertexBuffer{0};
|
|
unsigned mElementBuffer{0};
|
|
unsigned mVertexArray{0};
|
|
std::unique_ptr<OpenGlShaderProgram> mShaderProgram;
|
|
};
|