All checks were successful
Build (Arch Linux) / build (push) Successful in 3m10s
39 lines
737 B
C++
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
|