#pragma once #include #ifdef __linux__ #include #include #else #include #include #endif #include #include "vector.h" namespace simpleengine { /** * @brief A `Vertex` that can be lit up. * */ class LitVertex { public: simpleengine::Vectorf position; glm::vec3 color; glm::vec2 tex_coord; glm::vec3 normal; LitVertex() = default; LitVertex(simpleengine::Vectorf position, glm::vec3 color, glm::vec2 tex_coord, int texture_id = -1.f) : position(position), color(color), tex_coord(tex_coord), normal(glm::vec3(0.f)) { } LitVertex(simpleengine::Vectorf position, glm::vec3 color, glm::vec2 tex_coord, glm::vec3 normal, int texture_id = -1.f) : position(position), color(color), tex_coord(tex_coord), normal(normal) { } LitVertex(simpleengine::Vectorf position, glm::vec2 tex_coord, glm::vec3 normal, int texture_id = -1.f) : position(position), color(glm::vec3(1.f)), tex_coord(tex_coord), normal(normal) { } }; }