#pragma once #include #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; }; };