# Reference Documentation

### Math

- float2
- A vector of form (x,y).
- float3
- A vector of form (x,y,z).
- float4
- A 3D vector of form (x,y,z,w) in a 4D homogeneous coordinate space.
- float3x3
- A 3-by-3 matrix for linear transformations of 3D geometry.
- float3x4
- A 3-by-4 matrix for affine transformations of 3D geometry.
- float4x4
- A 4-by-4 matrix for affine transformations and perspective projections of 3D geometry.
- Quat
- Represents a rotation or an orientation of a 3D object.
- TranslateOp
- A structure that represents the translate operation for 3D objects.
- ScaleOp
- A structure that represents the scale operation for 3D objects.
- MathFunc.h
- Common mathematical functions.

### Geometry

- AABB
- A 3D axis-aligned bounding box.
- Capsule
- A 3D cylinder with spherical ends.
- Circle
- A two-dimensional circle in 3D space.
- Frustum
- Represents either an orthographic or a perspective viewing frustum.
- Line
- A line in 3D space is defined by an origin point and a direction, and extends to infinity in two directions.
- LineSegment
- A line segment in 3D space is a finite line with a start and end point.
- OBB
- A 3D arbitrarily oriented bounding box.
- Plane
- Specifies a plane in 3D space.
- Polygon
- Represents a two-dimensional closed surface in 3D space.
- Polyhedron
- Represents a three-dimensional closed geometric solid defined by flat polygonal faces.
- Ray
- A ray in 3D space is a line that starts from an origin point and extends to infinity in one direction.
- Sphere
- A 3D sphere.
- Triangle
- Specifies a triangle through three points in 3D space.

### Time

- Clock
- High-resolution timing and system time.

### Random

- LCG
- A linear congruential random number generator.