-
Notifications
You must be signed in to change notification settings - Fork 2
Outline
8BitSlime edited this page Sep 12, 2017
·
2 revisions
The information here is not guaranteed to be up to date, but it may still be helpful.
Default MMATH_DOUBLEType float double Size 4 bytes 8 bytes
Name Data Size (single) Size (double) Accessors vec2 2 scalars 8 bytes 16 bytes scalar data[2]scalar x, yvec3 3 scalars 12 bytes 24 bytes scalar data[3]scalar x, y, zscalar r, g, bvec4 4 scalars 16 bytes 32 bytes scalar data[4]scalar x, y, z, wscalar r, g, b, a
vec2 vec3ToVec2(vec3 a) vec2 vec4ToVec2(vec4 a) vec3 vec2ToVec3(vec2 a, scalar z) vec3 vec4ToVec3(vec4 a) vec4 vec2ToVec4(vec2 a, scalar z, scalar w) vec4 vec3ToVec4(vec3 a, scalar w) vec3 vecCross(vec3 a, vec3 b) vec vecAdd(vec a, vec b) vec vecSub(vec a, vec b) vec vecMul(vec a, vec b) vec vecDiv(vec a, vec b) vec vecAddScalar(vec a, scalar b) vec vecSubScalar(vec a, scalar b) vec vecMulScalar(vec a, scalar b) vec vecDivScalar(vec a, scalar b) vec vecNormalize(vec a) vec vecLerp(vec f, vec l, scalar t) scalar vecDot(vec a, vec b) scalar vecLength(vec a)
Name Data Size (single) Size (double) Accessors quat 4 scalars 16 bytes 32 bytes scalar data[4]vec4 vecvec3 axisscalar x, y, z, w
quat quatAdd(quat a, quat b) quat quatMul(quat a, quat b) quat quatMulVec3(quat a, vec3 b) quat quatMulScalar(quat a, scalar b) quat quatNormalize(quat a) quat quatNegate(quat a) quat quatConjugate(quat a) quat quatInverse(quat a) quat quatEuler(vec3 e) quat quatAxisAngle(vec3 axis, scalar r) quat quatSlerp(quat f, quat l, scalar t) mat3 quatToMat3(quat a) scalar quatLength(quat a)
Name Data Size (single) Size (double) Accessors mat2 4 scalars 16 bytes 32 bytes scalar data[4]vec2 row[2]scalar x0, y0scalar x1, y1mat3 9 scalars 24 bytes 48 bytes scalar data[9]vec3 row[3]scalar x0, y0, z0scalar x1, y1, z1scalar x2, y2, z2mat4 16 scalars 64 bytes 128 bytes scalar data[16]vec4 row[4]scalar x0, y0, z0, w0scalar x1, y1, z1, w1scalar x2, y2, z2, w2scalar x3, y3, z3, w3
mat2 mat3ToVec2(mat3 a) mat2 mat4ToVec2(mat4 a) mat3 mat2ToVec3(mat2 a, scalar z) mat3 mat4ToVec3(mat4 a) mat4 mat2ToVec4(mat2 a, scalar z, scalar w) mat4 mat3ToVec4(mat3 a, scalar w) mat3 mat3RotateX(scalar r) mat3 mat3RotateY(scalar r) mat3 mat3RotateZ(scalar r) mat4 mat4Perspective(scalar aspect, scalar fovY, scalar zNear, scalar zFar) mat4 mat4LookAt(vec3 eye, vec3 center, vec3 up) mat matDiagonal(scalar a) mat matAdd(mat a, mat b) mat matSub(mat a, mat b) mat matMul(mat a, mat b) mat matMulScalar(mat a, scalar b) mat matTranspose(mat a) vec matMulVec(mat a, vec b)
Name Data Size (single) Size (double) Accessors transformation 2 vec3s
1 quat40 bytes 80 bytes vec3 posvec3 scalequat rot
transform transformMul(transform a, transform b) transform transformLerp(transform f, transform l, scalar t) mat4 transformToMat4(transform t)