DarkBASIC Professional Help File

DX11:MATH

Contains various vector / matrix math functionality.
All functions that have a vector / matrix result will return that result, either as the given instance to store the result to, or as a temporary vector / matrix, if no specific
vector / matrix instance to write the result to was provided. This allows these math functions to be chained together in more elaborate calculations. Temporary vectors / matrices
are valid throughout the current frame and purged at the next call to DX11 SYNC.

    DX11 WRAP : Return Float = DX11 WRAP(value, min, max)

    DX11 CREATE VECTOR2 : Return Dword = DX11 CREATE VECTOR2([x], [y])

    DX11 CREATE TEMP VECTOR2 : Return Dword = DX11 CREATE TEMP VECTOR2([x], [y])

    DX11 DELETE VECTOR2 : DX11 DELETE VECTOR2 vector

    DX11 VECTOR2 EXISTS : Return Boolean = DX11 VECTOR2 EXISTS(vector2)

    DX11 COPY VECTOR2 : Return Dword = DX11 COPY VECTOR2(sourceVector2, targetVector2)

    DX11 GET VECTOR2 X : Return Float = DX11 GET VECTOR2 X(vector)

    DX11 GET VECTOR2 Y : Return Float = DX11 GET VECTOR2 Y(vector)

    DX11 SET VECTOR2 : DX11 SET VECTOR2 vector, x, y

    DX11 IS VECTOR2 EQUAL : Return Boolean = DX11 IS VECTOR2 EQUAL(vectorA, vectorB)

    DX11 GET VECTOR2 LENGTH : Return Float = DX11 GET VECTOR2 LENGTH(vector)

    DX11 NORMALIZE VECTOR2 : Return Dword = DX11 NORMALIZE VECTOR2(sourceVector, [resultVector])

    DX11 ADD VECTOR2 : Return Dword = DX11 ADD VECTOR2(vectorA, vectorB, [resultVector])

    DX11 SUBTRACT VECTOR2 : Return Dword = DX11 SUBTRACT VECTOR2(vectorA, vectorB, [resultVector])

    DX11 MULTIPLY VECTOR2 : Return Dword = DX11 MULTIPLY VECTOR2(vectorA, vectorB, [resultVector])

    DX11 DIVIDE VECTOR2 : Return Dword = DX11 DIVIDE VECTOR2(vectorA, vectorB, [resultVector])

    DX11 GET VECTOR2 DOT PRODUCT : Return Float = DX11 GET VECTOR2 DOT PRODUCT(vectorA, vectorB)

    DX11 TRANSFORM VECTOR2 : Return Dword = DX11 TRANSFORM VECTOR2(vector, matrix, [resultVector])

    DX11 TRANSFORM VECTOR2 COORD : Return Dword = DX11 TRANSFORM VECTOR2 COORD(vector, matrix, [resultVector])

    DX11 CREATE VECTOR3 : Return Dword = DX11 CREATE VECTOR3([x], [y], [z])

    DX11 CREATE TEMP VECTOR3 : Return Dword = DX11 CREATE TEMP VECTOR3([x], [y], [z])

    DX11 DELETE VECTOR3 : DX11 DELETE VECTOR3 vector

    DX11 VECTOR3 EXISTS : Return Boolean = DX11 VECTOR3 EXISTS(vector3)

    DX11 COPY VECTOR3 : Return Dword = DX11 COPY VECTOR3(sourceVector3, targetVector3)

    DX11 GET VECTOR3 X : Return Float = DX11 GET VECTOR3 X(vector)

    DX11 GET VECTOR3 Y : Return Float = DX11 GET VECTOR3 Y(vector)

    DX11 GET VECTOR3 Z : Return Float = DX11 GET VECTOR3 Z(vector)

    DX11 SET VECTOR3 : DX11 SET VECTOR3 vector, x, y, z

    DX11 IS VECTOR3 EQUAL : Return Boolean = DX11 IS VECTOR3 EQUAL(vectorA, vectorB)

    DX11 GET VECTOR3 LENGTH : Return Float = DX11 GET VECTOR3 LENGTH(vector)

    DX11 NORMALIZE VECTOR3 : Return Dword = DX11 NORMALIZE VECTOR3(sourceVector, [resultVector])

    DX11 ADD VECTOR3 : Return Dword = DX11 ADD VECTOR3(vectorA, vectorB, [resultVector])

    DX11 SUBTRACT VECTOR3 : Return Dword = DX11 SUBTRACT VECTOR3(vectorA, vectorB, [resultVector])

    DX11 MULTIPLY VECTOR3 : Return Dword = DX11 MULTIPLY VECTOR3(vectorA, vectorB, [resultVector])

    DX11 DIVIDE VECTOR3 : Return Dword = DX11 DIVIDE VECTOR3(vectorA, vectorB, [resultVector])

    DX11 GET VECTOR3 DOT PRODUCT : Return Float = DX11 GET VECTOR3 DOT PRODUCT(vectorA, vectorB)

    DX11 GET VECTOR3 CROSS PRODUCT : Return Dword = DX11 GET VECTOR3 CROSS PRODUCT(vectorA, vectorB, [resultVector])

    DX11 TRANSFORM VECTOR3 : Return Dword = DX11 TRANSFORM VECTOR3(vector, matrix, [resultVector])

    DX11 TRANSFORM VECTOR3 COORD : Return Dword = DX11 TRANSFORM VECTOR3 COORD(vector, matrix, [resultVector])

    DX11 CREATE VECTOR4 : Return Dword = DX11 CREATE VECTOR4([x], [y], [z], [w])

    DX11 CREATE TEMP VECTOR4 : Return Dword = DX11 CREATE TEMP VECTOR4([x], [y], [z], [w])

    DX11 DELETE VECTOR4 : DX11 DELETE VECTOR4 vector

    DX11 VECTOR4 EXISTS : Return Boolean = DX11 VECTOR4 EXISTS(vector4)

    DX11 COPY VECTOR4 : Return Dword = DX11 COPY VECTOR4(sourceVector4, targetVector4)

    DX11 GET VECTOR4 X : Return Float = DX11 GET VECTOR4 X(vector)

    DX11 GET VECTOR4 Y : Return Float = DX11 GET VECTOR4 Y(vector)

    DX11 GET VECTOR4 Z : Return Float = DX11 GET VECTOR4 Z(vector)

    DX11 GET VECTOR4 W : Return Float = DX11 GET VECTOR4 W(vector)

    DX11 SET VECTOR4 : DX11 SET VECTOR4 vector, x, y, z, w

    DX11 IS VECTOR4 EQUAL : Return Boolean = DX11 IS VECTOR4 EQUAL(vectorA, vectorB)

    DX11 GET VECTOR4 LENGTH : Return Float = DX11 GET VECTOR4 LENGTH(vector)

    DX11 NORMALIZE VECTOR4 : Return Dword = DX11 NORMALIZE VECTOR4(sourceVector, [resultVector])

    DX11 ADD VECTOR4 : Return Dword = DX11 ADD VECTOR4(vectorA, vectorB, [resultVector])

    DX11 SUBTRACT VECTOR4 : Return Dword = DX11 SUBTRACT VECTOR4(vectorA, vectorB, [resultVector])

    DX11 MULTIPLY VECTOR4 : Return Dword = DX11 MULTIPLY VECTOR4(vectorA, vectorB, [resultVector])

    DX11 DIVIDE VECTOR4 : Return Dword = DX11 DIVIDE VECTOR4(vectorA, vectorB, [resultVector])

    DX11 GET VECTOR4 DOT PRODUCT : Return Float = DX11 GET VECTOR4 DOT PRODUCT(vectorA, vectorB)

    DX11 TRANSFORM VECTOR4 : Return Dword = DX11 TRANSFORM VECTOR4(vector, matrix, [resultVector])

    DX11 CREATE MATRIX : Return Dword = DX11 CREATE MATRIX([_11], [_12], [_13], [_14], [_21], [_22], [_23], [_24], [_31], [_32], [_33], [_34], [_41], [_42], [_43], [_44])

    DX11 CREATE TEMP MATRIX : Return Dword = DX11 CREATE TEMP MATRIX([_11], [_12], [_13], [_14], [_21], [_22], [_23], [_24], [_31], [_32], [_33], [_34], [_41], [_42], [_43], [_44])

    DX11 DELETE MATRIX : DX11 DELETE MATRIX matrix

    DX11 MATRIX EXISTS : Return Boolean = DX11 MATRIX EXISTS(matrix)

    DX11 COPY MATRIX : Return Dword = DX11 COPY MATRIX(sourceMatrix, targetMatrix)

    DX11 SET MATRIX ELEMENT : DX11 SET MATRIX ELEMENT matrix, row, column, value

    DX11 GET MATRIX ELEMENT : Return Float = DX11 GET MATRIX ELEMENT(matrix, row, column)

    DX11 MULTIPLY MATRIX : Return Dword = DX11 MULTIPLY MATRIX(matrixA, matrixB, [resultMatrix])

    DX11 IS MATRIX EQUAL : Return Boolean = DX11 IS MATRIX EQUAL(matrixA, matrixB)

    DX11 IS MATRIX IDENTITY : Return Boolean = DX11 IS MATRIX IDENTITY(matrix)

    DX11 GET IDENTITY MATRIX : Return Dword = DX11 GET IDENTITY MATRIX([matrix])

    DX11 GET WORLD MATRIX : Return Dword = DX11 GET WORLD MATRIX(object, [matrixResult])

    DX11 GET MATRIX INVERSE : Return Float determinant  = DX11 GET MATRIX INVERSE(sourceMatrix, resultMatrix)

    DX11 GET MATRIX INVERSE WITHOUT DETERMINANT : Return Dword = DX11 GET MATRIX INVERSE WITHOUT DETERMINANT(sourceMatrix, [resultMatrix])

    DX11 GET MATRIX TRANSPOSE : Return Dword = DX11 GET MATRIX TRANSPOSE(sourceMatrix, [resultMatrix])

    DX11 GET MATRIX DETERMINANT : Return Float = DX11 GET MATRIX DETERMINANT(matrix)

    DX11 BUILD LOOKAT LHMATRIX : Return Dword = DX11 BUILD LOOKAT LHMATRIX(eyePos, lookAtPos, upVector, [resultMatrix])

    DX11 BUILD LOOKAT RHMATRIX : Return Dword = DX11 BUILD LOOKAT RHMATRIX(eyePos, lookAtPos, upVector, [resultMatrix])

    DX11 BUILD PERSPECTIVE LHMATRIX : Return Dword = DX11 BUILD PERSPECTIVE LHMATRIX(fov, aspectRatio, nearZ, [farZ], [resultMatrix])

    DX11 BUILD PERSPECTIVE RHMATRIX : Return Dword = DX11 BUILD PERSPECTIVE RHMATRIX(fov, aspectRatio, nearZ, [farZ], [resultMatrix])

    DX11 BUILD ORTHOGRAPHIC LHMATRIX : Return Dword = DX11 BUILD ORTHOGRAPHIC LHMATRIX(left, right, bottom, top, near, [far], [resultMatrix])

    DX11 BUILD ORTHOGRAPHIC RHMATRIX : Return Dword = DX11 BUILD ORTHOGRAPHIC RHMATRIX(left, right, bottom, top, near, [far], [resultMatrix])

    DX11 BUILD REFLECTION MATRIX : Return Dword = DX11 BUILD REFLECTION MATRIX(planeVector4, [resultMatrix])

    DX11 BUILD EULER ROTATION MATRIX : Return Dword = DX11 BUILD EULER ROTATION MATRIX(pitch, yaw, roll, [resultMatrix])

    DX11 BUILD ROTATION MATRIX X : Return Dword = DX11 BUILD ROTATION MATRIX X(angle, [resultMatrix])

    DX11 BUILD ROTATION MATRIX Y : Return Dword = DX11 BUILD ROTATION MATRIX Y(angle, [resultMatrix])

    DX11 BUILD ROTATION MATRIX Z : Return Dword = DX11 BUILD ROTATION MATRIX Z(angle, [resultMatrix])

    DX11 BUILD TRANSLATION MATRIX : Return Dword = DX11 BUILD TRANSLATION MATRIX(x, y, z, [resultMatrix])

    DX11 BUILD SCALING MATRIX : Return Dword = DX11 BUILD SCALING MATRIX(x, y, z, [resultMatrix])

    DX11 BUILD SHADOW MATRIX : Return Dword = DX11 BUILD SHADOW MATRIX(vec4ShadowPlane, vec4LightPosition, [resultMatrix])