GLKVector3 type defines a
3-component floating-point vector as well as many mathematical operations commonly used to manipulate vectors. Graphics programming uses vectors extensively to represent positions, normals, colors and other data structures.
The functions that manipulate
GLKVector3 structures treat the inputs as immutable, instead returning a new vector that represent the results of the operation.