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