Files
MapLibreParticleLab/include/llmr/renderer/painter.hpp
2014-01-08 14:32:58 +01:00

50 lines
790 B
C++

#ifndef LLMR_RENDERER_PAINTER
#define LLMR_RENDERER_PAINTER
#include "shader-fill.hpp"
#include "shader-line.hpp"
namespace llmr {
class platform;
class transform;
class tile;
class painter {
public:
painter(class platform *platform, class transform *tranform);
void setup();
void teardown();
void viewport();
void clear();
void render(tile *tile);
void switchShader(Shader *shader, float matrix[16]);
private:
void setupShaders();
void changeMatrix(tile *tile);
public:
private:
platform *platform;
transform *transform;
float matrix[16];
Shader *currentShader;
FillShader *fillShader;
LineShader *lineShader;
uint32_t vertexArray;
uint32_t triangleVertexBuffer;
uint32_t fillVertexBuffer;
};
}
#endif