2022-06-04 16:26:58 +00:00
|
|
|
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
#include "Mesh.h"
|
|
|
|
#include "Buffer.h"
|
|
|
|
#include "Material.h"
|
2022-06-04 23:44:54 +00:00
|
|
|
#include "Texture.h"
|
2022-06-04 16:26:58 +00:00
|
|
|
#include "VertexArray.h"
|
|
|
|
#include "Scene.h"
|
|
|
|
|
|
|
|
|
|
|
|
class Renderable : public SceneNode {
|
|
|
|
public:
|
|
|
|
/*
|
|
|
|
* NOTE: Should combine into a Mesh!!
|
|
|
|
*/
|
|
|
|
Buffer vertexBuffer;
|
|
|
|
Buffer elementBuffer;
|
2022-06-04 23:44:54 +00:00
|
|
|
//Buffer uv;
|
2022-06-04 16:26:58 +00:00
|
|
|
VertexArray VAO;
|
|
|
|
|
|
|
|
|
2022-06-04 23:44:54 +00:00
|
|
|
GLuint UV_id;
|
2022-06-04 16:26:58 +00:00
|
|
|
Material* material;
|
2022-06-04 23:44:54 +00:00
|
|
|
Texture* texture;
|
2022-06-04 16:26:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
Shader* shader;
|
|
|
|
|
|
|
|
~Renderable();
|
|
|
|
|
|
|
|
static Renderable* Load();
|
|
|
|
void Draw();
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::vector<BarinkEngine::Mesh> meshes;
|
|
|
|
Renderable();
|
2022-05-27 20:47:36 +00:00
|
|
|
};
|