Foundation
Loading...
Searching...
No Matches
Math.hpp
Go to the documentation of this file.
1#pragma once
2#define GLM_FORCE_RADIANS
3#define GLM_FORCE_SWIZZLE
4#define GLM_ENABLE_EXPERIMENTAL
5#define GLM_FORCE_QUAT_DATA_XYZW
6#define GLM_FORCE_XYZW_ONLY
7#define GLM_FORCE_QUAT_CTOR_XYZW
8#include <glm/glm.hpp>
9#include <glm/gtx/transform.hpp>
10#include <glm/gtx/matrix_decompose.hpp>
11#include <glm/gtc/integer.hpp>
12#include <glm/gtc/matrix_transform.hpp>
13#include <glm/gtc/quaternion.hpp>
14#include <glm/ext/quaternion_float.hpp>
15#include <glm/ext/quaternion_transform.hpp>
16#include <glm/vec2.hpp>
17#include <glm/vec3.hpp>
18#include <glm/vec4.hpp>
19#include <glm/mat2x2.hpp>
20#include <glm/mat3x3.hpp>
21#include <glm/mat4x4.hpp>
22
23namespace Foundation::Math {
24 using namespace glm;
25 using float4 = vec4;
26 using float3 = vec3;
27 using float2 = vec2;
28 using float4x4 = mat4;
29 // No Surprises.
30 // Shaders are compiled with -fvk-use-scalar-layout
31 // so interexchange should always be dense
32 static_assert(sizeof(float4) == 4 * sizeof(float));
33 static_assert(sizeof(float3) == 3 * sizeof(float));
34 static_assert(sizeof(float2) == 2 * sizeof(float));
35 static_assert(sizeof(float4x4) == 16 * sizeof(float));
36}
Definition Decompose.hpp:4
vec2 float2
Definition Math.hpp:27
vec3 float3
Definition Math.hpp:26
vec4 float4
Definition Math.hpp:25
mat4 float4x4
Definition Math.hpp:28