1#ifndef ENGINE_SOURCE_TYPES_H_
2#define ENGINE_SOURCE_TYPES_H_
20#include <glm/gtc/quaternion.hpp>
21#include <glm/gtc/type_ptr.hpp>
45using str = std::string;
80using glm::perspective;
glm::vec2 vec2
2-component float vector (e.g. UV coordinates, mouse position).
glm::mat3 mat3
3×3 column-major float matrix (e.g. normal matrix).
glm::ivec3 ivec3
3-component signed integer vector.
glm::mat4 mat4
4×4 column-major float matrix (model/view/projection).
glm::vec4 vec4
4-component float vector (e.g. RGBA colour, homogeneous coords).
glm::ivec2 ivec2
2-component signed integer vector.
glm::uvec3 uvec3
3-component unsigned integer vector.
glm::vec3 vec3
3-component float vector (e.g. world position, RGB colour, normals).
glm::quat quat
Unit quaternion for rotation (avoids gimbal lock).
glm::uvec4 uvec4
4-component unsigned integer vector.
glm::uvec2 uvec2
2-component unsigned integer vector.
glm::ivec4 ivec4
4-component signed integer vector.
std::string str
Convenience alias for std::string.
double f64
64-bit double — used for high-precision timing.
uint16_t u16
Unsigned 16-bit integer.
int64_t i64
Signed 64-bit integer.
int8_t i8
Signed 8-bit integer.
float f32
32-bit IEEE float — the standard GL scalar type.
int32_t i32
Signed 32-bit integer — used for GL enums and sizes.
uint32_t u32
Unsigned 32-bit integer — also the GL index type.
int16_t i16
Signed 16-bit integer.
uint64_t u64
Unsigned 64-bit integer.
size_t usize
Platform-native unsigned size type.
uint8_t u8
Unsigned 8-bit integer.