Adam Macdonald a8d8b9b9ab
All checks were successful
Build (Arch Linux) / build (push) Successful in 3m10s
initial commit
2025-04-16 01:58:29 +01:00

39 lines
737 B
C++

#pragma once
#include <cstddef>
#include <glm/vec2.hpp>
#include <glm/vec3.hpp>
#include <glm/vec4.hpp>
#include <cstdint>
#include <vector>
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<vertex> vertices {};
std::vector<std::uint32_t> indices {};
std::size_t material_idx {};
};
} // namespace kuiper::resource