---
title: GLKVector3
framework: GLKit
role: collectionGroup
role_heading: API Collection
path: glkit/glkvector3-pbt
---

# GLKVector3

## Overview

Overview The 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.

## Topics

### Creating Vectors

- [GLKVector3Make(_:_:_:)](glkit/glkvector3make(_:_:_:).md)
- [GLKVector3MakeWithArray(_:)](glkit/glkvector3makewitharray(_:).md)

### Retrieving Information About a Vector

- [GLKVector3Length(_:)](glkit/glkvector3length(_:).md)
- [GLKVector3Distance(_:_:)](glkit/glkvector3distance(_:_:).md)

### Mathematical Operations Performed on Vectors

- [GLKVector3Negate(_:)](glkit/glkvector3negate(_:).md)
- [GLKVector3Normalize(_:)](glkit/glkvector3normalize(_:).md)
- [GLKVector3AddScalar(_:_:)](glkit/glkvector3addscalar(_:_:).md)
- [GLKVector3SubtractScalar(_:_:)](glkit/glkvector3subtractscalar(_:_:).md)
- [GLKVector3MultiplyScalar(_:_:)](glkit/glkvector3multiplyscalar(_:_:).md)
- [GLKVector3DivideScalar(_:_:)](glkit/glkvector3dividescalar(_:_:).md)
- [GLKVector3Add(_:_:)](glkit/glkvector3add(_:_:).md)
- [GLKVector3Subtract(_:_:)](glkit/glkvector3subtract(_:_:).md)
- [GLKVector3Multiply(_:_:)](glkit/glkvector3multiply(_:_:).md)
- [GLKVector3Divide(_:_:)](glkit/glkvector3divide(_:_:).md)
- [GLKVector3DotProduct(_:_:)](glkit/glkvector3dotproduct(_:_:).md)
- [GLKVector3CrossProduct(_:_:)](glkit/glkvector3crossproduct(_:_:).md)
- [GLKVector3Lerp(_:_:_:)](glkit/glkvector3lerp(_:_:_:).md)
- [GLKVector3Project(_:_:)](glkit/glkvector3project(_:_:).md)
- [GLKVector3Maximum(_:_:)](glkit/glkvector3maximum(_:_:).md)
- [GLKVector3Minimum(_:_:)](glkit/glkvector3minimum(_:_:).md)

### Comparison Operations

- [GLKVector3AllEqualToScalar(_:_:)](glkit/glkvector3allequaltoscalar(_:_:).md)
- [GLKVector3AllEqualToVector3(_:_:)](glkit/glkvector3allequaltovector3(_:_:).md)
- [GLKVector3AllGreaterThanOrEqualToScalar(_:_:)](glkit/glkvector3allgreaterthanorequaltoscalar(_:_:).md)
- [GLKVector3AllGreaterThanOrEqualToVector3(_:_:)](glkit/glkvector3allgreaterthanorequaltovector3(_:_:).md)
- [GLKVector3AllGreaterThanScalar(_:_:)](glkit/glkvector3allgreaterthanscalar(_:_:).md)
- [GLKVector3AllGreaterThanVector3(_:_:)](glkit/glkvector3allgreaterthanvector3(_:_:).md)

### Data Types

- [GLKVector3](glkit/glkvector3.md)

## See Also

### Math Utilties

- [GLKMatrixStack](glkit/glkmatrixstack.md)
- [GLKMatrix3](glkit/glkmatrix3-pcl.md)
- [GLKMatrix4](glkit/glkmatrix4-pce.md)
- [GLKVector2](glkit/glkvector2-pbj.md)
- [GLKVector4](glkit/glkvector4-pbk.md)
- [GLKQuaternion](glkit/glkquaternion-pc6.md)
- [GLKit Math Utilities](glkit/glkit-math-utilities.md)
