3#ifndef TRAM_SDK_FRAMEWORK_MATH_H
4#define TRAM_SDK_FRAMEWORK_MATH_H
7#include <glm/gtx/quaternion.hpp>
const vec3 DIRECTION_SIDE(1.0f, 0.0f, 0.0f)
glm::mat2 mat2
Definition: math.h:13
glm::ivec4 ivec4
Definition: math.h:18
glm::vec4 vec4
Definition: math.h:15
glm::vec2 vec2
Definition: math.h:16
glm::ivec3 ivec3
Definition: math.h:17
vec3 MergeAABBMin(vec3 a, vec3 b)
Merges the min component of an AABB.
Definition: math.cpp:79
const vec3 IDENTITY_POSITION(0.0f, 0.0f, 0.0f)
glm::uvec3 uvec3
Definition: math.h:19
glm::vec3 vec3
Definition: math.h:11
const quat IDENTITY_ROTATION(1.0f, 0.0f, 0.0f, 0.0f)
const vec3 IDENTITY_SCALE(1.0f, 1.0f, 1.0f)
glm::quat quat
Definition: math.h:12
vec3 RayTriangleIntersection(vec3 ray_pos, vec3 ray_dir, vec3 point1, vec3 point2, vec3 point3)
Finds the intersection between a ray and a triangle.
Definition: math.cpp:40
void QuatLookAt(quat &quaternion, const vec3 &from, const vec3 &to)
Rotates a quaternion to face a point.
Definition: math.cpp:18
mat4 PositionRotationScaleToMatrix(const vec3 &position, const quat &rotation, const vec3 &scale)
Generates a transform matrix.
Definition: math.cpp:161
glm::mat4 mat4
Definition: math.h:14
mat4 PositionRotationToMatrix(const vec3 &position, const quat &rotation)
Generates a transform matrix.
Definition: math.cpp:153
const vec3 DIRECTION_UP(0.0f, 1.0f, 0.0f)
glm::uvec4 uvec4
Definition: math.h:20
const vec3 DIRECTION_FORWARD(0.0f, 0.0f, -1.0f)
vec3 MergeAABBMax(vec3 a, vec3 b)
Merges the max component of an AABB.
Definition: math.cpp:88
void RotateAABB(vec3 &min, vec3 &max, quat rotation)
Rotates an AABB box by the given rotation.
Definition: math.cpp:100
void ProjectLine(vec3 &point, const vec3 &from, const vec3 &to)
Projects a point on a line.
Definition: math.cpp:26