GLKMatrix4
Overview
The GLKMatrix4 type defines a 4x4 floating-point matrix as well as many mathematical operations commonly used to manipulate matrices. 3D graphics programming uses matrices extensively as a convenient way to represent a graphical transformation between different coordinate systems. These transformations include translation, scaling, rotation and projection; through matrix multiplication, multiple transformations can be concatenated into a single transformation matrix.
The functions that manipulate GLKMatrix4 structures treat the inputs as immutable, instead returning a new matrix that represent the results of the operation.
Topics
Creating Matrices
GLKMatrix4Make(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)GLKMatrix4MakeAndTranspose(_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:_:)GLKMatrix4MakeWithArray(_:)GLKMatrix4MakeWithArrayAndTranspose(_:)GLKMatrix4MakeWithColumns(_:_:_:_:)GLKMatrix4MakeWithRows(_:_:_:_:)GLKMatrix4MakeRotation(_:_:_:_:)GLKMatrix4MakeXRotation(_:)GLKMatrix4MakeYRotation(_:)GLKMatrix4MakeZRotation(_:)GLKMatrix4MakeWithQuaternion(_:)GLKMatrix4MakeScale(_:_:_:)GLKMatrix4MakeTranslation(_:_:_:)GLKMatrix4MakeLookAt(_:_:_:_:_:_:_:_:_:)GLKMatrix4MakeOrtho(_:_:_:_:_:_:)GLKMatrix4MakePerspective(_:_:_:_:)GLKMatrix4MakeFrustum(_:_:_:_:_:_:)
Working With Parts of a Matrix
GLKMatrix4GetMatrix2(_:)GLKMatrix4GetMatrix3(_:)GLKMatrix4GetColumn(_:_:)GLKMatrix4GetRow(_:_:)GLKMatrix4SetColumn(_:_:_:)GLKMatrix4SetRow(_:_:_:)
Performing Mathematical Operations on Matrices
GLKMatrix4Invert(_:_:)GLKMatrix4Transpose(_:)GLKMatrix4InvertAndTranspose(_:_:)GLKMatrix4Multiply(_:_:)GLKMatrix4Rotate(_:_:_:_:_:)GLKMatrix4RotateWithVector3(_:_:_:)GLKMatrix4RotateWithVector4(_:_:_:)GLKMatrix4RotateX(_:_:)GLKMatrix4RotateY(_:_:)GLKMatrix4RotateZ(_:_:)GLKMatrix4Scale(_:_:_:_:)GLKMatrix4ScaleWithVector3(_:_:)GLKMatrix4ScaleWithVector4(_:_:)GLKMatrix4Translate(_:_:_:_:)GLKMatrix4TranslateWithVector3(_:_:)GLKMatrix4TranslateWithVector4(_:_:)GLKMatrix4Add(_:_:)GLKMatrix4Subtract(_:_:)
Performing Mathematical Operations on Vectors
GLKMatrix4MultiplyVector3(_:_:)GLKMatrix4MultiplyVector3Array(_:_:_:)GLKMatrix4MultiplyVector3WithTranslation(_:_:)GLKMatrix4MultiplyVector3ArrayWithTranslation(_:_:_:)GLKMatrix4MultiplyVector4(_:_:)GLKMatrix4MultiplyVector4Array(_:_:_:)GLKMatrix4MultiplyAndProjectVector3(_:_:)GLKMatrix4MultiplyAndProjectVector3Array(_:_:_:)