{ "defines": [ { "name": "RAYMATH_H", "type": "GUARD", "value": "", "description": "" }, { "name": "RMAPI", "type": "UNKNOWN", "value": "__declspec(dllexport) extern inline", "description": "We are building raylib as a Win32 shared library (.dll)." }, { "name": "PI", "type": "FLOAT", "value": 3.14159265358979323846, "description": "" }, { "name": "EPSILON", "type": "FLOAT", "value": 0.000001, "description": "" }, { "name": "DEG2RAD", "type": "FLOAT_MATH", "value": "(PI/180.0f)", "description": "" }, { "name": "RAD2DEG", "type": "FLOAT_MATH", "value": "(180.0f/PI)", "description": "" }, { "name": "MatrixToFloat(mat)", "type": "MACRO", "value": "(MatrixToFloatV(mat).v)", "description": "" }, { "name": "Vector3ToFloat(vec)", "type": "MACRO", "value": "(Vector3ToFloatV(vec).v)", "description": "" }, { "name": "RL_VECTOR2_TYPE", "type": "GUARD", "value": "", "description": "" }, { "name": "RL_VECTOR3_TYPE", "type": "GUARD", "value": "", "description": "" }, { "name": "RL_VECTOR4_TYPE", "type": "GUARD", "value": "", "description": "" }, { "name": "RL_QUATERNION_TYPE", "type": "GUARD", "value": "", "description": "" }, { "name": "RL_MATRIX_TYPE", "type": "GUARD", "value": "", "description": "" } ], "structs": [ { "name": "Vector2", "description": "Vector2 type", "fields": [ { "type": "float", "name": "x", "description": "" }, { "type": "float", "name": "y", "description": "" } ] }, { "name": "Vector3", "description": "Vector3 type", "fields": [ { "type": "float", "name": "x", "description": "" }, { "type": "float", "name": "y", "description": "" }, { "type": "float", "name": "z", "description": "" } ] }, { "name": "Vector4", "description": "Vector4 type", "fields": [ { "type": "float", "name": "x", "description": "" }, { "type": "float", "name": "y", "description": "" }, { "type": "float", "name": "z", "description": "" }, { "type": "float", "name": "w", "description": "" } ] }, { "name": "Matrix", "description": "Matrix type (OpenGL style 4x4 - right handed, column major)", "fields": [ { "type": "float", "name": "m0", "description": "Matrix first row (4 components)" }, { "type": "float", "name": "m4", "description": "Matrix first row (4 components)" }, { "type": "float", "name": "m8", "description": "Matrix first row (4 components)" }, { "type": "float", "name": "m12", "description": "Matrix first row (4 components)" }, { "type": "float", "name": "m1", "description": "Matrix second row (4 components)" }, { "type": "float", "name": "m5", "description": "Matrix second row (4 components)" }, { "type": "float", "name": "m9", "description": "Matrix second row (4 components)" }, { "type": "float", "name": "m13", "description": "Matrix second row (4 components)" }, { "type": "float", "name": "m2", "description": "Matrix third row (4 components)" }, { "type": "float", "name": "m6", "description": "Matrix third row (4 components)" }, { "type": "float", "name": "m10", "description": "Matrix third row (4 components)" }, { "type": "float", "name": "m14", "description": "Matrix third row (4 components)" }, { "type": "float", "name": "m3", "description": "Matrix fourth row (4 components)" }, { "type": "float", "name": "m7", "description": "Matrix fourth row (4 components)" }, { "type": "float", "name": "m11", "description": "Matrix fourth row (4 components)" }, { "type": "float", "name": "m15", "description": "Matrix fourth row (4 components)" } ] }, { "name": "float3", "description": "NOTE: Helper types to be used instead of array return types for *ToFloat functions", "fields": [ { "type": "float[3]", "name": "v", "description": "" } ] }, { "name": "float16", "description": "", "fields": [ { "type": "float[16]", "name": "v", "description": "" } ] } ], "aliases": [ { "type": "Vector4", "name": "Quaternion", "description": "Quaternion type" } ], "enums": [ ], "callbacks": [ ], "functions": [ { "name": "Clamp", "description": "", "returnType": "float", "params": [ { "type": "float", "name": "value" }, { "type": "float", "name": "min" }, { "type": "float", "name": "max" } ] }, { "name": "Lerp", "description": "", "returnType": "float", "params": [ { "type": "float", "name": "start" }, { "type": "float", "name": "end" }, { "type": "float", "name": "amount" } ] }, { "name": "Normalize", "description": "", "returnType": "float", "params": [ { "type": "float", "name": "value" }, { "type": "float", "name": "start" }, { "type": "float", "name": "end" } ] }, { "name": "Remap", "description": "", "returnType": "float", "params": [ { "type": "float", "name": "value" }, { "type": "float", "name": "inputStart" }, { "type": "float", "name": "inputEnd" }, { "type": "float", "name": "outputStart" }, { "type": "float", "name": "outputEnd" } ] }, { "name": "Wrap", "description": "", "returnType": "float", "params": [ { "type": "float", "name": "value" }, { "type": "float", "name": "min" }, { "type": "float", "name": "max" } ] }, { "name": "FloatEquals", "description": "", "returnType": "int", "params": [ { "type": "float", "name": "x" }, { "type": "float", "name": "y" } ] }, { "name": "Vector2Zero", "description": "", "returnType": "Vector2" }, { "name": "Vector2One", "description": "", "returnType": "Vector2" }, { "name": "Vector2Add", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2AddValue", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "float", "name": "add" } ] }, { "name": "Vector2Subtract", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2SubtractValue", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "float", "name": "sub" } ] }, { "name": "Vector2Length", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "v" } ] }, { "name": "Vector2LengthSqr", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "v" } ] }, { "name": "Vector2DotProduct", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2Distance", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2DistanceSqr", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2Angle", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2LineAngle", "description": "", "returnType": "float", "params": [ { "type": "Vector2", "name": "start" }, { "type": "Vector2", "name": "end" } ] }, { "name": "Vector2Scale", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "float", "name": "scale" } ] }, { "name": "Vector2Multiply", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2Negate", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" } ] }, { "name": "Vector2Divide", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" } ] }, { "name": "Vector2Normalize", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" } ] }, { "name": "Vector2Transform", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "Matrix", "name": "mat" } ] }, { "name": "Vector2Lerp", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v1" }, { "type": "Vector2", "name": "v2" }, { "type": "float", "name": "amount" } ] }, { "name": "Vector2Reflect", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "Vector2", "name": "normal" } ] }, { "name": "Vector2Rotate", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "float", "name": "angle" } ] }, { "name": "Vector2MoveTowards", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "Vector2", "name": "target" }, { "type": "float", "name": "maxDistance" } ] }, { "name": "Vector2Invert", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" } ] }, { "name": "Vector2Clamp", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "Vector2", "name": "min" }, { "type": "Vector2", "name": "max" } ] }, { "name": "Vector2ClampValue", "description": "", "returnType": "Vector2", "params": [ { "type": "Vector2", "name": "v" }, { "type": "float", "name": "min" }, { "type": "float", "name": "max" } ] }, { "name": "Vector2Equals", "description": "", "returnType": "int", "params": [ { "type": "Vector2", "name": "p" }, { "type": "Vector2", "name": "q" } ] }, { "name": "Vector3Zero", "description": "", "returnType": "Vector3" }, { "name": "Vector3One", "description": "", "returnType": "Vector3" }, { "name": "Vector3Add", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3AddValue", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "float", "name": "add" } ] }, { "name": "Vector3Subtract", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3SubtractValue", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "float", "name": "sub" } ] }, { "name": "Vector3Scale", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "float", "name": "scalar" } ] }, { "name": "Vector3Multiply", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3CrossProduct", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Perpendicular", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" } ] }, { "name": "Vector3Length", "description": "", "returnType": "float", "params": [ { "type": "const Vector3", "name": "v" } ] }, { "name": "Vector3LengthSqr", "description": "", "returnType": "float", "params": [ { "type": "const Vector3", "name": "v" } ] }, { "name": "Vector3DotProduct", "description": "", "returnType": "float", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Distance", "description": "", "returnType": "float", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3DistanceSqr", "description": "", "returnType": "float", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Angle", "description": "", "returnType": "float", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Negate", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" } ] }, { "name": "Vector3Divide", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Normalize", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" } ] }, { "name": "Vector3OrthoNormalize", "description": "", "returnType": "void", "params": [ { "type": "Vector3 *", "name": "v1" }, { "type": "Vector3 *", "name": "v2" } ] }, { "name": "Vector3Transform", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "Matrix", "name": "mat" } ] }, { "name": "Vector3RotateByQuaternion", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "Quaternion", "name": "q" } ] }, { "name": "Vector3RotateByAxisAngle", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "Vector3", "name": "axis" }, { "type": "float", "name": "angle" } ] }, { "name": "Vector3Lerp", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" }, { "type": "float", "name": "amount" } ] }, { "name": "Vector3Reflect", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "Vector3", "name": "normal" } ] }, { "name": "Vector3Min", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Max", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v1" }, { "type": "Vector3", "name": "v2" } ] }, { "name": "Vector3Barycenter", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "p" }, { "type": "Vector3", "name": "a" }, { "type": "Vector3", "name": "b" }, { "type": "Vector3", "name": "c" } ] }, { "name": "Vector3Unproject", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "source" }, { "type": "Matrix", "name": "projection" }, { "type": "Matrix", "name": "view" } ] }, { "name": "Vector3ToFloatV", "description": "", "returnType": "float3", "params": [ { "type": "Vector3", "name": "v" } ] }, { "name": "Vector3Invert", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" } ] }, { "name": "Vector3Clamp", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "Vector3", "name": "min" }, { "type": "Vector3", "name": "max" } ] }, { "name": "Vector3ClampValue", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "float", "name": "min" }, { "type": "float", "name": "max" } ] }, { "name": "Vector3Equals", "description": "", "returnType": "int", "params": [ { "type": "Vector3", "name": "p" }, { "type": "Vector3", "name": "q" } ] }, { "name": "Vector3Refract", "description": "", "returnType": "Vector3", "params": [ { "type": "Vector3", "name": "v" }, { "type": "Vector3", "name": "n" }, { "type": "float", "name": "r" } ] }, { "name": "MatrixDeterminant", "description": "", "returnType": "float", "params": [ { "type": "Matrix", "name": "mat" } ] }, { "name": "MatrixTrace", "description": "", "returnType": "float", "params": [ { "type": "Matrix", "name": "mat" } ] }, { "name": "MatrixTranspose", "description": "", "returnType": "Matrix", "params": [ { "type": "Matrix", "name": "mat" } ] }, { "name": "MatrixInvert", "description": "", "returnType": "Matrix", "params": [ { "type": "Matrix", "name": "mat" } ] }, { "name": "MatrixIdentity", "description": "", "returnType": "Matrix" }, { "name": "MatrixAdd", "description": "", "returnType": "Matrix", "params": [ { "type": "Matrix", "name": "left" }, { "type": "Matrix", "name": "right" } ] }, { "name": "MatrixSubtract", "description": "", "returnType": "Matrix", "params": [ { "type": "Matrix", "name": "left" }, { "type": "Matrix", "name": "right" } ] }, { "name": "MatrixMultiply", "description": "", "returnType": "Matrix", "params": [ { "type": "Matrix", "name": "left" }, { "type": "Matrix", "name": "right" } ] }, { "name": "MatrixTranslate", "description": "", "returnType": "Matrix", "params": [ { "type": "float", "name": "x" }, { "type": "float", "name": "y" }, { "type": "float", "name": "z" } ] }, { "name": "MatrixRotate", "description": "", "returnType": "Matrix", "params": [ { "type": "Vector3", "name": "axis" }, { "type": "float", "name": "angle" } ] }, { "name": "MatrixRotateX", "description": "", "returnType": "Matrix", "params": [ { "type": "float", "name": "angle" } ] }, { "name": "MatrixRotateY", "description": "", "returnType": "Matrix", "params": [ { "type": "float", "name": "angle" } ] }, { "name": "MatrixRotateZ", "description": "", "returnType": "Matrix", "params": [ { "type": "float", "name": "angle" } ] }, { "name": "MatrixRotateXYZ", "description": "", "returnType": "Matrix", "params": [ { "type": "Vector3", "name": "angle" } ] }, { "name": "MatrixRotateZYX", "description": "", "returnType": "Matrix", "params": [ { "type": "Vector3", "name": "angle" } ] }, { "name": "MatrixScale", "description": "", "returnType": "Matrix", "params": [ { "type": "float", "name": "x" }, { "type": "float", "name": "y" }, { "type": "float", "name": "z" } ] }, { "name": "MatrixFrustum", "description": "", "returnType": "Matrix", "params": [ { "type": "double", "name": "left" }, { "type": "double", "name": "right" }, { "type": "double", "name": "bottom" }, { "type": "double", "name": "top" }, { "type": "double", "name": "near" }, { "type": "double", "name": "far" } ] }, { "name": "MatrixPerspective", "description": "", "returnType": "Matrix", "params": [ { "type": "double", "name": "fovy" }, { "type": "double", "name": "aspect" }, { "type": "double", "name": "near" }, { "type": "double", "name": "far" } ] }, { "name": "MatrixOrtho", "description": "", "returnType": "Matrix", "params": [ { "type": "double", "name": "left" }, { "type": "double", "name": "right" }, { "type": "double", "name": "bottom" }, { "type": "double", "name": "top" }, { "type": "double", "name": "near" }, { "type": "double", "name": "far" } ] }, { "name": "MatrixLookAt", "description": "", "returnType": "Matrix", "params": [ { "type": "Vector3", "name": "eye" }, { "type": "Vector3", "name": "target" }, { "type": "Vector3", "name": "up" } ] }, { "name": "MatrixToFloatV", "description": "", "returnType": "float16", "params": [ { "type": "Matrix", "name": "mat" } ] }, { "name": "QuaternionAdd", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" } ] }, { "name": "QuaternionAddValue", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q" }, { "type": "float", "name": "add" } ] }, { "name": "QuaternionSubtract", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" } ] }, { "name": "QuaternionSubtractValue", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q" }, { "type": "float", "name": "sub" } ] }, { "name": "QuaternionIdentity", "description": "", "returnType": "Quaternion" }, { "name": "QuaternionLength", "description": "", "returnType": "float", "params": [ { "type": "Quaternion", "name": "q" } ] }, { "name": "QuaternionNormalize", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q" } ] }, { "name": "QuaternionInvert", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q" } ] }, { "name": "QuaternionMultiply", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" } ] }, { "name": "QuaternionScale", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q" }, { "type": "float", "name": "mul" } ] }, { "name": "QuaternionDivide", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" } ] }, { "name": "QuaternionLerp", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" }, { "type": "float", "name": "amount" } ] }, { "name": "QuaternionNlerp", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" }, { "type": "float", "name": "amount" } ] }, { "name": "QuaternionSlerp", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q1" }, { "type": "Quaternion", "name": "q2" }, { "type": "float", "name": "amount" } ] }, { "name": "QuaternionFromVector3ToVector3", "description": "", "returnType": "Quaternion", "params": [ { "type": "Vector3", "name": "from" }, { "type": "Vector3", "name": "to" } ] }, { "name": "QuaternionFromMatrix", "description": "", "returnType": "Quaternion", "params": [ { "type": "Matrix", "name": "mat" } ] }, { "name": "QuaternionToMatrix", "description": "", "returnType": "Matrix", "params": [ { "type": "Quaternion", "name": "q" } ] }, { "name": "QuaternionFromAxisAngle", "description": "", "returnType": "Quaternion", "params": [ { "type": "Vector3", "name": "axis" }, { "type": "float", "name": "angle" } ] }, { "name": "QuaternionToAxisAngle", "description": "", "returnType": "void", "params": [ { "type": "Quaternion", "name": "q" }, { "type": "Vector3 *", "name": "outAxis" }, { "type": "float *", "name": "outAngle" } ] }, { "name": "QuaternionFromEuler", "description": "", "returnType": "Quaternion", "params": [ { "type": "float", "name": "pitch" }, { "type": "float", "name": "yaw" }, { "type": "float", "name": "roll" } ] }, { "name": "QuaternionToEuler", "description": "", "returnType": "Vector3", "params": [ { "type": "Quaternion", "name": "q" } ] }, { "name": "QuaternionTransform", "description": "", "returnType": "Quaternion", "params": [ { "type": "Quaternion", "name": "q" }, { "type": "Matrix", "name": "mat" } ] }, { "name": "QuaternionEquals", "description": "", "returnType": "int", "params": [ { "type": "Quaternion", "name": "p" }, { "type": "Quaternion", "name": "q" } ] } ] }