#pragma once #include #include #include #include #include #include namespace kuiper { struct vertex { glm::vec3 position; // (x, y, z), float glm::vec3 normal; // (x, y, z), float glm::vec4 tangent; // (x, y, z, w), float glm::vec2 uv; // (x, y) float }; enum class primitive_type : std::uint8_t { none = 0, triangles }; } // namespace kuiper namespace kuiper::resource { struct primitive { primitive_type type {primitive_type::none}; std::vector vertices {}; std::vector indices {}; std::size_t material_idx {}; }; } // namespace kuiper::resource