Monad Engine da02fba2
> Undercity Codex_
Loading...
Searching...
No Matches
Types.h File Reference

Engine-wide primitive type aliases and GLM math imports. More...

#include <cstddef>
#include <cstdint>
#include <string>
#include <glm/gtc/quaternion.hpp>
#include <glm/gtc/type_ptr.hpp>
+ Include dependency graph for Types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mnd
 

Typedefs

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

Detailed Description

Engine-wide primitive type aliases and GLM math imports.

Every engine subsystem uses these aliases instead of raw stdint or GLM types. Keeping all aliases here means a single include gives consistent sizing and naming across the entire codebase (both the Engine library and game code).

Math types (vec3, mat4, quat …) are thin aliases over GLM and can be passed directly to any OpenGL uniform upload helper in ShaderProgram.

Definition in file Types.h.