Toast Engine
Loading...
Searching...
No Matches
vertex.hpp
Go to the documentation of this file.
1
4
5#pragma once
6
7#include <array>
8#include <cstddef>
9#include <glm/glm.hpp>
10
11namespace renderer {
12
13struct Vertex {
14 glm::vec<3, float> position;
15 glm::vec<3, float> normal;
16 glm::vec<2, float> uv;
17 glm::vec<4, float> tangent;
18
19 glm::vec<3, float> color {1.0f, 1.0f, 1.0f};
20};
21
22struct SkinVertex {
23 glm::vec<4, uint16_t> joints {0, 0, 0, 0};
24 glm::vec<4, float> weights {0.0f, 0.0f, 0.0f, 0.0f};
25};
26
27static_assert(sizeof(Vertex) == 60, "skinning.slang's kVertexStride");
28static_assert(offsetof(Vertex, position) == 0, "skinning.slang's kVertexPositionOffset");
29static_assert(offsetof(Vertex, normal) == 12, "skinning.slang's kVertexNormalOffset");
30static_assert(offsetof(Vertex, uv) == 24, "skinning.slang's kVertexUvOffset");
31static_assert(offsetof(Vertex, tangent) == 32, "skinning.slang's kVertexTangentOffset");
32static_assert(offsetof(Vertex, color) == 48, "skinning.slang's kVertexColorOffset");
33
34static_assert(sizeof(SkinVertex) == 24, "skinning.slang's kSkinStride");
35static_assert(offsetof(SkinVertex, joints) == 0, "skinning.slang's kSkinJointsOffset");
36static_assert(offsetof(SkinVertex, weights) == 8, "skinning.slang's kSkinWeightsOffset");
37
38}
Definition vertex.hpp:22
Definition vertex.hpp:13