#pragma once


struct Drawer3DVert {
	glm::vec3 pos;
	glm::vec4 color = glm::vec4(1,0,0,1);
};

class Buffer;
class ShaderProgram;

class Drawer3D {
	public:
	Buffer* buff;
	float* buff_ptr;
	float* prev_buff_ptr;

	ShaderProgram* shader_prog;

	int vert_cnt = 0;
	int vert_cnt_accum = 0;

	Drawer3D();

	void push_vert(Drawer3DVert v);
	void draw_line(Drawer3DVert a, Drawer3DVert b);

	void flush();

	void reset();
};
