46 lines
789 B
C++
46 lines
789 B
C++
#pragma once
|
|
#include <glm/glm.hpp>
|
|
#include "../Graphics/Primitives/Shader.h"
|
|
#include "../Graphics/Primitives/Mesh.h"
|
|
namespace BarinkEngine {
|
|
struct IdentifierComponent {
|
|
std::string name;
|
|
};
|
|
|
|
struct TransformComponent {
|
|
glm::mat4 transform = glm::mat4(1.0f);
|
|
|
|
};
|
|
|
|
struct LightComponent {
|
|
float Strength = 1.0f;
|
|
glm::vec3 Color = glm::vec3(1.0f, 1.0f, 1.0f);
|
|
|
|
};
|
|
|
|
|
|
struct CameraComponent {
|
|
glm::mat4 view;
|
|
|
|
};
|
|
|
|
struct Render3DComponent {
|
|
unsigned int VAO = 0;
|
|
unsigned int IBO = 0;
|
|
Mesh mesh;
|
|
// TODO: becomes a material
|
|
glm::vec3 color;
|
|
Shader shader;
|
|
|
|
Render3DComponent()
|
|
: shader(Shader("build/Debug/test.vs", "build/Debug/test.fs")),
|
|
color(glm::vec3(1.0f, 0.0f, 0.0f))
|
|
{
|
|
}
|
|
};
|
|
|
|
struct Render2DComponent {
|
|
glm::vec3 Colour;
|
|
|
|
};
|
|
}; |