#pragma once
#include <vector>
#include "Mesh.h"
#include "Buffer.h"
#include "Material.h"
#include "Texture.h"
#include "VertexArray.h"
#include "Scene.h"


class Renderable  : public SceneNode {
public:
	/*
	* NOTE: Should combine into a Mesh!!
	*/
	Buffer vertexBuffer;
	Buffer elementBuffer;
	//Buffer uv;
	VertexArray VAO;


	GLuint UV_id;
	Material* material;
	Texture* texture;

	
	Shader* shader;

	~Renderable();

	static Renderable* Load(std::string& path);
	void Draw();

private:
	std::vector<BarinkEngine::Mesh> meshes;
	Renderable(std::string& path);
};