Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Model.hpp
1#pragma once
2
3#include <stdint.h>
4#include <glm/glm.hpp>
5
6namespace Grindstone::Formats::Model {
7 enum class IndexSize : uint8_t {
8 Bit16,
9 Bit32
10 };
11
12 namespace V1 {
13 struct BoundingData {
14 glm::vec3 minAABB;
15 glm::vec3 maxAABB;
16 glm::vec3 sphereCenter;
17 float sphereRadius;
18 };
19
20 struct Header {
21 uint32_t totalFileSize = 0;
22 uint32_t version = 1;
23 uint32_t meshCount = 0;
24 uint64_t vertexCount = 0;
25 uint64_t indexCount = 0;
26 IndexSize isUsing32BitIndices = IndexSize::Bit16;
27 bool hasVertexPositions = false;
28 bool hasVertexNormals = false;
29 bool hasVertexTangents = false;
30 uint32_t vertexUvSetCount = 0;
31 int numWeightPerBone = 4;
32 };
33 }
34}