mat4

float matrix 4 x 4

struct mat4 {}

Constructors

this
this(float v)
Undocumented in source.
this
this(mat4 v)
Undocumented in source.
this
this(float[16] v)
Undocumented in source.

Members

Functions

decompose
bool decompose(vec3* scale, vec4* rotation, vec3* translation)

Decomposes the scale, rotation and translation components of this matrix.

fill
mat4 fill(float v)

fill all items of matrix with specified value

getTranslation
void getTranslation(vec3 translation)

Gets the translational component of this matrix in the specified vector.

invert
mat4 invert()
Undocumented in source. Be warned that the author may not have intended to support it.
lookAt
mat4 lookAt(vec3 eye, vec3 center, vec3 up)
Undocumented in source. Be warned that the author may not have intended to support it.
opAssign
mat4 opAssign(mat4 v)
Undocumented in source. Be warned that the author may not have intended to support it.
opAssign
mat4 opAssign(mat4 v)
Undocumented in source. Be warned that the author may not have intended to support it.
opAssign
mat4 opAssign(float[16] v)
Undocumented in source. Be warned that the author may not have intended to support it.
opBinary
mat4 opBinary(float v)

add scalar to all items of matrix

opBinary
mat4 opBinary(float v)

multiply this matrix by scalar

opBinary
mat4 opBinary(float v)

multiply this matrix by scalar

opBinary
mat4 opBinary(float v)

multiply this matrix by scalar

opBinary
mat4 opBinary(mat4 m2)

multiply this matrix by another matrix

opBinary
vec3 opBinary(vec3 vector)

multiply matrix by vec3

opBinary
vec4 opBinary(vec4 vector)

multiply matrix by vec4

opIndex
float opIndex(int y, int x)

2d index by row, col

opIndex
float opIndex(int y, int x)

2d index by row, col

opIndex
float opIndex(int index)

scalar index by rows then (y*4 + x)

opIndex
float opIndex(int index)

scalar index by rows then (y*4 + x)

opOpAssign
void opOpAssign(mat4 m2)

multiply this matrix by another matrix

opOpAssign
void opOpAssign(float v)

add value to all components of matrix

opOpAssign
void opOpAssign(float v)

multiply all components of matrix by value

opOpAssign
void opOpAssign(float v)

subtract value from all components of matrix

opOpAssign
void opOpAssign(float v)

divide all components of vector by matrix

rotate
mat4 rotate(float angle, vec3 axis)
Undocumented in source. Be warned that the author may not have intended to support it.
rotate
mat4 rotate(float angle, float x, float y, float z)
Undocumented in source. Be warned that the author may not have intended to support it.
rotateX
mat4 rotateX(float angle)
Undocumented in source. Be warned that the author may not have intended to support it.
rotateY
mat4 rotateY(float angle)
Undocumented in source. Be warned that the author may not have intended to support it.
rotateZ
mat4 rotateZ(float angle)
Undocumented in source. Be warned that the author may not have intended to support it.
rotatex
mat4 rotatex(float angle)

inplace rotate around X axis

rotatey
mat4 rotatey(float angle)

inplace rotate around Y axis

rotatez
mat4 rotatez(float angle)

inplace rotate around Z axis

scale
mat4 scale(float x, float y, float z)
Undocumented in source. Be warned that the author may not have intended to support it.
scale
mat4 scale(float v)
Undocumented in source. Be warned that the author may not have intended to support it.
scale
mat4 scale(vec3 v)
Undocumented in source. Be warned that the author may not have intended to support it.
setDiagonal
mat4 setDiagonal(float v)

set to diagonal: fill all items of matrix with zero except main diagonal items which will be assigned to v

setIdentity
mat4 setIdentity()

set to identity: fill all items of matrix with zero except main diagonal items which will be assigned to 1.0f

setLookAt
mat4 setLookAt(vec3 eye, vec3 center, vec3 up)
Undocumented in source. Be warned that the author may not have intended to support it.
setOrtho
void setOrtho(float left, float right, float bottom, float top, float nearPlane, float farPlane)
Undocumented in source. Be warned that the author may not have intended to support it.
setPerspective
void setPerspective(float angle, float aspect, float nearPlane, float farPlane)
Undocumented in source. Be warned that the author may not have intended to support it.
setZero
mat4 setZero()

fill all items of matrix with zero

transformPoint
void transformPoint(vec3 v)
Undocumented in source. Be warned that the author may not have intended to support it.
transformVector
void transformVector(float x, float y, float z, float w, vec3 dst)
Undocumented in source. Be warned that the author may not have intended to support it.
transformVector
void transformVector(vec3 v)
Undocumented in source. Be warned that the author may not have intended to support it.
translate
mat4 translate(vec3 v)
Undocumented in source. Be warned that the author may not have intended to support it.
translate
mat4 translate(float x, float y, float z)
Undocumented in source. Be warned that the author may not have intended to support it.
transpose
void transpose()

transpose matrix

Properties

backVector
vec3 backVector [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
determinant
float determinant [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
dump
string dump [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
forwardVector
vec3 forwardVector [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

identity
mat4 identity()

creates identity matrix

mul
mat4 mul(mat4 m1, mat4 m2)

multiply two matrices

translation
mat4 translation(float x, float y, float z)
Undocumented in source. Be warned that the author may not have intended to support it.
zero
mat4 zero()

creates zero matrix

Static variables

IDENTITY
mat4 IDENTITY;
Undocumented in source.

Variables

m
float[16] m;
Undocumented in source.

Meta