Kanzi  3.9.7
Kanzi Engine API
matrix4x4.hpp File Reference

Classes

class  kanzi::Matrix4x4
 Matrix with 4x4 elements. More...
 

Namespaces

 kanzi
 Easing functions that require external dependencies for calculation.
 

Functions

optional< Vector4 > kanzi::calculateCameraViewPosition (Matrix4x4 projectionCameraMatrix)
 Calculates a homogeneous camera view position that you can use to calculate the view direction in a shader. More...
 
Matrix4x4 kanzi::createRelativeOrthogonalProjection (float near, float far, Matrix4x4::FieldOfViewType fovType, float orthoSize, float aspectRatio)
 Creates an orthogonal projection matrix for a symmetrical viewing volume. More...
 
Matrix3x3 kanzi::extract3x3 (const Matrix4x4 &matrix)
 Extracts the 3x3 rotation and scaling part of a matrix. More...
 
bool kanzi::extractSRT (const Matrix4x4 &matrix, Vector3 &scale, Vector3 &rotationInRadians, Vector3 &translation)
 Extracts from a matrix the scale, rotation, and translation information. More...
 
float kanzi::getDeterminant (const Matrix4x4 &matrix)
 Calculates the determinant of a matrix. More...
 
float kanzi::getDeterminant3x3 (const Matrix4x4 &matrix)
 Calculates the determinant of the 3x3 part of a matrix. More...
 
float kanzi::getTrace (const Matrix4x4 &matrix)
 Calculates the trace of a matrix. More...
 
optional< Matrix4x4 > kanzi::inverse (const Matrix4x4 &matrix)
 Applies an inversion to a matrix. More...
 
optional< Matrix4x4 > kanzi::inverseAffine (const Matrix4x4 &matrix)
 Applies an inversion to an affine matrix. More...
 
optional< Matrix4x4 > kanzi::inverseOrthogonal (const Matrix4x4 &matrix)
 Applies an inversion to an orthogonal affine matrix. More...
 
bool kanzi::isTranslationOnly (const Matrix4x4 &matrix)
 Returns whether a matrix is translation-only. More...
 
Vector3 kanzi::matrixMultiplyVectorBy3x3 (const Matrix4x4 &matrix, const Vector3 vector)
 Multiplies a 3D vector with the top 3x3 part of a given matrix. More...
 
Matrix4x4 kanzi::multiplyAffine (const Matrix4x4 &left, const Matrix4x4 &right)
 Multiplies two affine matrices and returns the product. More...
 
Matrix4x4 kanzi::normalizeBase (const Matrix4x4 &matrix)
 Normalizes base vectors of a matrix. More...
 
Matrix4x4 kanzi::operator* (const Matrix4x4 &left, const Matrix4x4 &right)
 Multiplies two matrices and returns the product. More...
 
Matrix4x4 kanzi::orthonormalizeBase (const Matrix4x4 &matrix)
 Orthonormalizes base vectors of the given matrix. More...