Files
vb01/lineRenderer.h
T
2021-12-18 19:11:19 +02:00

33 lines
668 B
C++

#ifndef LINE_H
#define LINE_H
#include "vector.h"
#include "mesh.h"
#include <vector>
namespace vb01{
class Shader;
class LineRenderer{
public:
struct Line{int id; Vector3 start; Vector3 end; Vector3 color;};
enum VectorFieldType{START, END, COLOR};
static LineRenderer* getSingleton();
void drawLines();
void addLine(Vector3 start, Vector3 end, Vector3 color);
void changeLineField(int, Vector3, VectorFieldType);
void removeLine(int);
Line& getLine(int);
private:
LineRenderer();
int nextId = 0;
Shader *shader = nullptr;
std::vector<LineRenderer::Line> lines;
};
}
#endif