Archived
1
Fork 0
This repository has been archived on 2025-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
libxiv/include/mdlparser.h

40 lines
696 B
C
Raw Normal View History

#pragma once
#include <string_view>
#include <vector>
#include <array>
#include "memorybuffer.h"
struct Vertex {
2022-04-12 09:11:14 -04:00
std::array<float, 3> position;
std::array<float, 2> uv;
2022-04-12 09:11:14 -04:00
std::array<float, 3> normal;
std::array<float, 4> boneWeights;
std::array<uint8_t, 4> boneIds;
};
struct PartSubmesh {
uint32_t indexOffset, indexCount;
uint32_t boneStartIndex, boneCount;
};
struct Part {
std::vector<Vertex> vertices;
std::vector<uint16_t> indices;
std::vector<PartSubmesh> submeshes;
};
struct Lod {
std::vector<Part> parts;
};
struct Model {
std::vector<Lod> lods;
std::vector<std::string> affectedBoneNames;
};
Model parseMDL(MemorySpan data);