src/raymath

Search:
Group by:
Source   Edit  

Types

Float3 = array[3, float32]
Source   Edit  
Float16 = array[16, float32]
Source   Edit  

Procs

func add(left: Matrix; right: Matrix): Matrix {.importc: "MatrixAdd",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func add(q1: Quaternion; q2: Quaternion): Quaternion {.importc: "QuaternionAdd",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func add(v1: Vector2; v2: Vector2): Vector2 {.importc: "Vector2Add",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func add(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Add",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func add(v1: Vector4; v2: Vector4): Vector4 {.importc: "Vector4Add",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func addValue(q: Quaternion; add: float32): Quaternion {.
    importc: "QuaternionAddValue", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func addValue(v: Vector2; add: float32): Vector2 {.importc: "Vector2AddValue",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func addValue(v: Vector3; add: float32): Vector3 {.importc: "Vector3AddValue",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func addValue(v: Vector4; add: float32): Vector4 {.importc: "Vector4AddValue",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func angle(v1: Vector2; v2: Vector2): float32 {.importc: "Vector2Angle",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func angle(v1: Vector3; v2: Vector3): float32 {.importc: "Vector3Angle",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func barycenter(p: Vector3; a: Vector3; b: Vector3; c: Vector3): Vector3 {.
    importc: "Vector3Barycenter", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func clamp(v: Vector2; min: Vector2; max: Vector2): Vector2 {.
    importc: "Vector2Clamp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func clamp(v: Vector3; min: Vector3; max: Vector3): Vector3 {.
    importc: "Vector3Clamp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func clamp(value: float32; min: float32; max: float32): float32 {.
    importc: "Clamp", header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func clampValue(v: Vector2; min: float32; max: float32): Vector2 {.
    importc: "Vector2ClampValue", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func clampValue(v: Vector3; min: float32; max: float32): Vector3 {.
    importc: "Vector3ClampValue", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc crossProduct(v1: Vector2; v2: Vector2): float32 {.
    importc: "Vector2CrossProduct", sideEffect, header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func crossProduct(v1: Vector3; v2: Vector3): Vector3 {.
    importc: "Vector3CrossProduct", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func cubicHermite(v1: Vector3; tangent1: Vector3; v2: Vector3;
                  tangent2: Vector3; amount: float32): Vector3 {.
    importc: "Vector3CubicHermite", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func cubicHermiteSpline(q1: Quaternion; outTangent1: Quaternion; q2: Quaternion;
                        inTangent2: Quaternion; t: float32): Quaternion {.
    importc: "QuaternionCubicHermiteSpline", header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func decompose(mat: Matrix; translation: out Vector3; rotation: out Quaternion;
               scale: out Vector3) {.importc: "MatrixDecompose",
                                     header: "raymath.h", ...raises: [], tags: [],
                                     forbids: [].}
Source   Edit  
func determinant(mat: Matrix): float32 {.importc: "MatrixDeterminant",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func distance(v1: Vector2; v2: Vector2): float32 {.importc: "Vector2Distance",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func distance(v1: Vector3; v2: Vector3): float32 {.importc: "Vector3Distance",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func distance(v1: Vector4; v2: Vector4): float32 {.importc: "Vector4Distance",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func distanceSqr(v1: Vector2; v2: Vector2): float32 {.
    importc: "Vector2DistanceSqr", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func distanceSqr(v1: Vector3; v2: Vector3): float32 {.
    importc: "Vector3DistanceSqr", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func distanceSqr(v1: Vector4; v2: Vector4): float32 {.
    importc: "Vector4DistanceSqr", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func divide(q1: Quaternion; q2: Quaternion): Quaternion {.
    importc: "QuaternionDivide", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func divide(v1: Vector2; v2: Vector2): Vector2 {.importc: "Vector2Divide",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func divide(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Divide",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func divide(v1: Vector4; v2: Vector4): Vector4 {.importc: "Vector4Divide",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func dotProduct(v1: Vector2; v2: Vector2): float32 {.
    importc: "Vector2DotProduct", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func dotProduct(v1: Vector3; v2: Vector3): float32 {.
    importc: "Vector3DotProduct", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func dotProduct(v1: Vector4; v2: Vector4): float32 {.
    importc: "Vector4DotProduct", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func equals(p: Quaternion; q: Quaternion): int32 {.importc: "QuaternionEquals",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func equals(p: Vector2; q: Vector2): int32 {.importc: "Vector2Equals",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func equals(p: Vector3; q: Vector3): int32 {.importc: "Vector3Equals",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func equals(p: Vector4; q: Vector4): int32 {.importc: "Vector4Equals",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func equals(x: float32; y: float32): int32 {.importc: "FloatEquals",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func fromAxisAngle(axis: Vector3; angle: float32): Quaternion {.
    importc: "QuaternionFromAxisAngle", header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func fromEuler(pitch: float32; yaw: float32; roll: float32): Quaternion {.
    importc: "QuaternionFromEuler", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func fromMatrix(mat: Matrix): Quaternion {.importc: "QuaternionFromMatrix",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func fromVector3ToVector3(from: Vector3; to: Vector3): Quaternion {.
    importc: "QuaternionFromVector3ToVector3", header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func frustum(left: float64; right: float64; bottom: float64; top: float64;
             nearPlane: float64; farPlane: float64): Matrix {.
    importc: "MatrixFrustum", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func identity(_: typedesc[Matrix]): Matrix {.inline.}
Get identity matrix Source   Edit  
func identity(_: typedesc[Quaternion]): Quaternion {.inline.}
Get identity quaternion Source   Edit  
func invert(mat: Matrix): Matrix {.importc: "MatrixInvert", header: "raymath.h",
                                   ...raises: [], tags: [], forbids: [].}
Source   Edit  
func invert(q: Quaternion): Quaternion {.importc: "QuaternionInvert",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func invert(v: Vector2): Vector2 {.importc: "Vector2Invert",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func invert(v: Vector3): Vector3 {.importc: "Vector3Invert",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func invert(v: Vector4): Vector4 {.importc: "Vector4Invert",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func length(q: Quaternion): float32 {.importc: "QuaternionLength",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func length(v: Vector2): float32 {.importc: "Vector2Length",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func length(v: Vector3): float32 {.importc: "Vector3Length",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func length(v: Vector4): float32 {.importc: "Vector4Length",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func lengthSqr(v: Vector2): float32 {.importc: "Vector2LengthSqr",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func lengthSqr(v: Vector3): float32 {.importc: "Vector3LengthSqr",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func lengthSqr(v: Vector4): float32 {.importc: "Vector4LengthSqr",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func lerp(q1: Quaternion; q2: Quaternion; amount: float32): Quaternion {.
    importc: "QuaternionLerp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func lerp(start: float32; end: float32; amount: float32): float32 {.
    importc: "Lerp", header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func lerp(v1: Vector2; v2: Vector2; amount: float32): Vector2 {.
    importc: "Vector2Lerp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func lerp(v1: Vector3; v2: Vector3; amount: float32): Vector3 {.
    importc: "Vector3Lerp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func lerp(v1: Vector4; v2: Vector4; amount: float32): Vector4 {.
    importc: "Vector4Lerp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func lineAngle(start: Vector2; end: Vector2): float32 {.
    importc: "Vector2LineAngle", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func lookAt(eye: Vector3; target: Vector3; up: Vector3): Matrix {.
    importc: "MatrixLookAt", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func max(v1: Vector2; v2: Vector2): Vector2 {.importc: "Vector2Max",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func max(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Max",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func max(v1: Vector4; v2: Vector4): Vector4 {.importc: "Vector4Max",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func min(v1: Vector2; v2: Vector2): Vector2 {.importc: "Vector2Min",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func min(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Min",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func min(v1: Vector4; v2: Vector4): Vector4 {.importc: "Vector4Min",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func moveTowards(v: Vector2; target: Vector2; maxDistance: float32): Vector2 {.
    importc: "Vector2MoveTowards", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func moveTowards(v: Vector3; target: Vector3; maxDistance: float32): Vector3 {.
    importc: "Vector3MoveTowards", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func moveTowards(v: Vector4; target: Vector4; maxDistance: float32): Vector4 {.
    importc: "Vector4MoveTowards", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func multiply(left: Matrix; right: Matrix): Matrix {.importc: "MatrixMultiply",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func multiply(q1: Quaternion; q2: Quaternion): Quaternion {.
    importc: "QuaternionMultiply", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func multiply(v1: Vector2; v2: Vector2): Vector2 {.importc: "Vector2Multiply",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func multiply(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Multiply",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func multiply(v1: Vector4; v2: Vector4): Vector4 {.importc: "Vector4Multiply",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func negate(v: Vector2): Vector2 {.importc: "Vector2Negate",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func negate(v: Vector3): Vector3 {.importc: "Vector3Negate",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func negate(v: Vector4): Vector4 {.importc: "Vector4Negate",
                                   header: "raymath.h", ...raises: [], tags: [],
                                   forbids: [].}
Source   Edit  
func nlerp(q1: Quaternion; q2: Quaternion; amount: float32): Quaternion {.
    importc: "QuaternionNlerp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func normalize(q: Quaternion): Quaternion {.importc: "QuaternionNormalize",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func normalize(v: Vector2): Vector2 {.importc: "Vector2Normalize",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func normalize(v: Vector3): Vector3 {.importc: "Vector3Normalize",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func normalize(v: Vector4): Vector4 {.importc: "Vector4Normalize",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func normalize(value: float32; start: float32; end: float32): float32 {.
    importc: "Normalize", header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func one(_: typedesc[Vector2]): Vector2 {.inline.}
Vector with components value 1'f32 Source   Edit  
func one(_: typedesc[Vector3]): Vector3 {.inline.}
Vector with components value 1'f32 Source   Edit  
func one(_: typedesc[Vector4]): Vector4 {.inline.}
Vector with components value 1'f32 Source   Edit  
func ortho(left: float64; right: float64; bottom: float64; top: float64;
           nearPlane: float64; farPlane: float64): Matrix {.
    importc: "MatrixOrtho", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func orthoNormalize(v1: var Vector3; v2: var Vector3) {.
    importc: "Vector3OrthoNormalize", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func perpendicular(v: Vector3): Vector3 {.importc: "Vector3Perpendicular",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func perspective(fovY: float64; aspect: float64; nearPlane: float64;
                 farPlane: float64): Matrix {.importc: "MatrixPerspective",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func project(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Project",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func reflect(v: Vector2; normal: Vector2): Vector2 {.importc: "Vector2Reflect",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func reflect(v: Vector3; normal: Vector3): Vector3 {.importc: "Vector3Reflect",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func refract(v: Vector2; n: Vector2; r: float32): Vector2 {.
    importc: "Vector2Refract", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func refract(v: Vector3; n: Vector3; r: float32): Vector3 {.
    importc: "Vector3Refract", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func reject(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Reject",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func remap(value: float32; inputStart: float32; inputEnd: float32;
           outputStart: float32; outputEnd: float32): float32 {.
    importc: "Remap", header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func rotate(axis: Vector3; angle: float32): Matrix {.importc: "MatrixRotate",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func rotate(v: Vector2; angle: float32): Vector2 {.importc: "Vector2Rotate",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func rotateByAxisAngle(v: Vector3; axis: Vector3; angle: float32): Vector3 {.
    importc: "Vector3RotateByAxisAngle", header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func rotateByQuaternion(v: Vector3; q: Quaternion): Vector3 {.
    importc: "Vector3RotateByQuaternion", header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func rotateX(angle: float32): Matrix {.importc: "MatrixRotateX",
                                       header: "raymath.h", ...raises: [],
                                       tags: [], forbids: [].}
Source   Edit  
func rotateXYZ(angle: Vector3): Matrix {.importc: "MatrixRotateXYZ",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func rotateY(angle: float32): Matrix {.importc: "MatrixRotateY",
                                       header: "raymath.h", ...raises: [],
                                       tags: [], forbids: [].}
Source   Edit  
func rotateZ(angle: float32): Matrix {.importc: "MatrixRotateZ",
                                       header: "raymath.h", ...raises: [],
                                       tags: [], forbids: [].}
Source   Edit  
func rotateZYX(angle: Vector3): Matrix {.importc: "MatrixRotateZYX",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func scale(q: Quaternion; mul: float32): Quaternion {.
    importc: "QuaternionScale", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func scale(v: Vector2; scale: float32): Vector2 {.importc: "Vector2Scale",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func scale(v: Vector3; scalar: float32): Vector3 {.importc: "Vector3Scale",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func scale(v: Vector4; scale: float32): Vector4 {.importc: "Vector4Scale",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func scale(x: float32; y: float32; z: float32): Matrix {.importc: "MatrixScale",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func slerp(q1: Quaternion; q2: Quaternion; amount: float32): Quaternion {.
    importc: "QuaternionSlerp", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func subtract(left: Matrix; right: Matrix): Matrix {.importc: "MatrixSubtract",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func subtract(q1: Quaternion; q2: Quaternion): Quaternion {.
    importc: "QuaternionSubtract", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func subtract(v1: Vector2; v2: Vector2): Vector2 {.importc: "Vector2Subtract",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func subtract(v1: Vector3; v2: Vector3): Vector3 {.importc: "Vector3Subtract",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func subtract(v1: Vector4; v2: Vector4): Vector4 {.importc: "Vector4Subtract",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func subtractValue(q: Quaternion; sub: float32): Quaternion {.
    importc: "QuaternionSubtractValue", header: "raymath.h", ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
func subtractValue(v: Vector2; sub: float32): Vector2 {.
    importc: "Vector2SubtractValue", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func subtractValue(v: Vector3; sub: float32): Vector3 {.
    importc: "Vector3SubtractValue", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func subtractValue(v: Vector4; add: float32): Vector4 {.
    importc: "Vector4SubtractValue", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func toAxisAngle(q: Quaternion; outAxis: out Vector3; outAngle: out float32) {.
    importc: "QuaternionToAxisAngle", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func toEuler(q: Quaternion): Vector3 {.importc: "QuaternionToEuler",
                                       header: "raymath.h", ...raises: [],
                                       tags: [], forbids: [].}
Source   Edit  
func toFloatV(mat: Matrix): Float16 {.inline, noinit, ...raises: [], tags: [],
                                      forbids: [].}
Get float array of matrix data Source   Edit  
func toFloatV(v: Vector3): Float3 {.inline, noinit, ...raises: [], tags: [],
                                    forbids: [].}
Get Vector3 as float array Source   Edit  
func toMatrix(q: Quaternion): Matrix {.importc: "QuaternionToMatrix",
                                       header: "raymath.h", ...raises: [],
                                       tags: [], forbids: [].}
Source   Edit  
func trace(mat: Matrix): float32 {.importc: "MatrixTrace", header: "raymath.h",
                                   ...raises: [], tags: [], forbids: [].}
Source   Edit  
func transform(q: Quaternion; mat: Matrix): Quaternion {.
    importc: "QuaternionTransform", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func transform(v: Vector2; mat: Matrix): Vector2 {.importc: "Vector2Transform",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func transform(v: Vector3; mat: Matrix): Vector3 {.importc: "Vector3Transform",
    header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func translate(x: float32; y: float32; z: float32): Matrix {.
    importc: "MatrixTranslate", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func transpose(mat: Matrix): Matrix {.importc: "MatrixTranspose",
                                      header: "raymath.h", ...raises: [], tags: [],
                                      forbids: [].}
Source   Edit  
func unitW(_: typedesc[Vector4]): Vector4 {.inline.}
Unit vector along W axis Source   Edit  
func unitX(_: typedesc[Vector2]): Vector2 {.inline.}
Unit vector along X axis Source   Edit  
func unitX(_: typedesc[Vector3]): Vector3 {.inline.}
Unit vector along X axis Source   Edit  
func unitX(_: typedesc[Vector4]): Vector4 {.inline.}
Unit vector along X axis Source   Edit  
func unitY(_: typedesc[Vector2]): Vector2 {.inline.}
Unit vector along Y axis Source   Edit  
func unitY(_: typedesc[Vector3]): Vector3 {.inline.}
Unit vector along Y axis Source   Edit  
func unitY(_: typedesc[Vector4]): Vector4 {.inline.}
Unit vector along Y axis Source   Edit  
func unitZ(_: typedesc[Vector3]): Vector3 {.inline.}
Unit vector along Z axis Source   Edit  
func unitZ(_: typedesc[Vector4]): Vector4 {.inline.}
Unit vector along Z axis Source   Edit  
func unproject(source: Vector3; projection: Matrix; view: Matrix): Vector3 {.
    importc: "Vector3Unproject", header: "raymath.h", ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
func wrap(value: float32; min: float32; max: float32): float32 {.
    importc: "Wrap", header: "raymath.h", ...raises: [], tags: [], forbids: [].}
Source   Edit  
func zero(_: typedesc[Vector2]): Vector2 {.inline.}
Vector with components value 0'f32 Source   Edit  
func zero(_: typedesc[Vector3]): Vector3 {.inline.}
Vector with components value 0'f32 Source   Edit  
func zero(_: typedesc[Vector4]): Vector4 {.inline.}
Vector with components value 0'f32 Source   Edit  

Templates

template `*`[T: Vector2 | Vector3 | Quaternion](v1: T; v2: Matrix): T
Source   Edit  
template `*`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1, v2: T): T
Source   Edit  
template `*`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: T; value: float32): T
Source   Edit  
template `*=`[T: Vector2 | Vector3 | Quaternion](v1: var T; v2: Matrix)
Source   Edit  
template `*=`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1: var T;
    v2: T)
Source   Edit  
template `*=`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: var T;
    value: float32)
Source   Edit  
template `+`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1, v2: T): T
Source   Edit  
template `+`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: T; value: float32): T
Source   Edit  
template `+=`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1: var T;
    v2: T)
Source   Edit  
template `+=`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: var T;
    value: float32)
Source   Edit  
template `-`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1, v2: T): T
Source   Edit  
template `-`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: T; value: float32): T
Source   Edit  
template `-`[T: Vector2 | Vector3 | Vector4](v1: T): T
Source   Edit  
template `-=`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1: var T;
    v2: T)
Source   Edit  
template `-=`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: var T;
    value: float32)
Source   Edit  
template `/`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1, v2: T): T
Source   Edit  
template `/`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: T; value: float32): T
Source   Edit  
template `/=`[T: Vector2 | Vector3 | Vector4 | Quaternion | Matrix](v1: var T;
    v2: T)
Source   Edit  
template `/=`[T: Vector2 | Vector3 | Vector4 | Quaternion](v1: var T;
    value: float32)
Source   Edit  
template `=~`[T: float32 | Vector2 | Vector3 | Vector4 | Quaternion](v1, v2: T): bool
Source   Edit