# MathCommon Functions (CS) > **Notice:** The functions listed below are the members of the **Unigine.MathLib** namespace. ## MathCommon Class ### Enums ## AXIS | Name | Description | |---|---| | **X** = = 0 | Positive X axis. | | **Y** = = 1 | Positive Y axis. | | **Z** = = 2 | Positive Z axis. | | **NX** = = 3 | Negative X axis. | | **NY** = = 4 | Negative Y axis. | | **NZ** = = 5 | Negative Z axis. | ### Members --- ## float ToFloat ( string v ) Converts the current value to a *float* value. ### Arguments - *string* **v** - A *string* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( decimal v ) Converts the current value to a *float* value. ### Arguments - *decimal* **v** - A *decimal* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( double v ) Converts the current value to a *float* value. ### Arguments - *double* **v** - A *double* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( int v ) Converts the current value to a *float* value. ### Arguments - *int* **v** - A *int* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( uint v ) Converts the current value to a *float* value. ### Arguments - *uint* **v** - A *uint* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( short v ) Converts the current value to a *float* value. ### Arguments - *short* **v** - A *short* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( ushort v ) Converts the current value to a *float* value. ### Arguments - *ushort* **v** - A *ushort* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( long v ) Converts the current value to a *float* value. ### Arguments - *long* **v** - A *long* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( ulong v ) Converts the current value to a *float* value. ### Arguments - *ulong* **v** - A *ulong* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( byte v ) Converts the current value to a *float* value. ### Arguments - *byte* **v** - A *byte* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( sbyte v ) Converts the current value to a *float* value. ### Arguments - *sbyte* **v** - A *sbyte* value to be converted. ### Return value Resulting *float* value. ## float ToFloat ( bool v ) Converts the current value to a *float* value. ### Arguments - *bool* **v** - Vector multiplier. ### Return value Resulting *float* value. ## double ToDouble ( string v ) Converts the argument's value to a *double* value. ### Arguments - *string* **v** - A *string* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( float v ) Converts the argument's value to a *double* value. ### Arguments - *float* **v** - A *float* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( decimal v ) Converts the argument's value to a *double* value. ### Arguments - *decimal* **v** - A *decimal* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( int v ) Converts the argument's value to a *double* value. ### Arguments - *int* **v** - A *int* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( uint v ) Converts the argument's value to a *double* value. ### Arguments - *uint* **v** - A *uint* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( short v ) Converts the argument's value to a *double* value. ### Arguments - *short* **v** - A *short* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( ushort v ) Converts the argument's value to a *double* value. ### Arguments - *ushort* **v** - A *ushort* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( long v ) Converts the argument's value to a *double* value. ### Arguments - *long* **v** - A *long* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( ulong v ) Converts the argument's value to a *double* value. ### Arguments - *ulong* **v** - A *ulong* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( byte v ) Converts the argument's value to a *double* value. ### Arguments - *byte* **v** - A *byte* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( sbyte v ) Converts the argument's value to a *double* value. ### Arguments - *sbyte* **v** - A *sbyte* value to be converted. ### Return value Resulting *double* value. ## double ToDouble ( bool v ) Converts the argument's value to a *double* value. ### Arguments - *bool* **v** - Vector multiplier. ### Return value Resulting *double* value. ## int ToInt ( string v ) Converts the argument's value to an *integer* value. ### Arguments - *string* **v** - A *string* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( float v ) Converts the argument's value to an *integer* value. ### Arguments - *float* **v** - A *float* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( decimal v ) Converts the argument's value to an *integer* value. ### Arguments - *decimal* **v** - A *decimal* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( double v ) Converts the argument's value to an *integer* value. ### Arguments - *double* **v** - A *double* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( uint v ) Converts the argument's value to an *integer* value. ### Arguments - *uint* **v** - A *uint* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( short v ) Converts the argument's value to an *integer* value. ### Arguments - *short* **v** - A *short* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( ushort v ) Converts the argument's value to an *integer* value. ### Arguments - *ushort* **v** - A *ushort* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( long v ) Converts the argument's value to an *integer* value. ### Arguments - *long* **v** - A *long* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( ulong v ) Converts the argument's value to an *integer* value. ### Arguments - *ulong* **v** - A *ulong* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( byte v ) Converts the argument's value to an *integer* value. ### Arguments - *byte* **v** - A *byte* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( sbyte v ) Converts the argument's value to an *integer* value. ### Arguments - *sbyte* **v** - A *sbyte* value to be converted. ### Return value Resulting *int* value. ## int ToInt ( bool v ) Converts the argument's value to an *integer* value. ### Arguments - *bool* **v** - Vector multiplier. ### Return value Resulting *int* value. ## long ToLong ( string v ) Converts the argument's value to a *long* value. ### Arguments - *string* **v** - A *string* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( float v ) Converts the argument's value to a *long* value. ### Arguments - *float* **v** - A *float* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( decimal v ) Converts the argument's value to a *long* value. ### Arguments - *decimal* **v** - A *decimal* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( double v ) Converts the argument's value to a *long* value. ### Arguments - *double* **v** - A *double* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( int v ) Converts the argument's value to a *long* value. ### Arguments - *int* **v** - A *int* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( uint v ) Converts the argument's value to a *long* value. ### Arguments - *uint* **v** - A *uint* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( short v ) Converts the argument's value to a *long* value. ### Arguments - *short* **v** - A *short* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( ushort v ) Converts the argument's value to a *long* value. ### Arguments - *ushort* **v** - A *ushort* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( ulong v ) Converts the argument's value to a *long* value. ### Arguments - *ulong* **v** - A *ulong* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( byte v ) Converts the argument's value to a *long* value. ### Arguments - *byte* **v** - A *byte* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( sbyte v ) Converts the argument's value to a *long* value. ### Arguments - *sbyte* **v** - A *sbyte* value to be converted. ### Return value Resulting *long* value. ## long ToLong ( bool v ) Converts the argument's value to a *long* value. ### Arguments - *bool* **v** - Vector multiplier. ### Return value Resulting *long* value. ## byte ToByte ( string v ) Converts the argument's value to a *byte* value. ### Arguments - *string* **v** - A *string* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( float v ) Converts the argument's value to a *byte* value. ### Arguments - *float* **v** - A *float* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( decimal v ) Converts the argument's value to a *byte* value. ### Arguments - *decimal* **v** - A *decimal* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( double v ) Converts the argument's value to a *byte* value. ### Arguments - *double* **v** - A *double* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( int v ) Converts the argument's value to a *byte* value. ### Arguments - *int* **v** - A *int* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( uint v ) Converts the argument's value to a *byte* value. ### Arguments - *uint* **v** - A *uint* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( short v ) Converts the argument's value to a *byte* value. ### Arguments - *short* **v** - A *short* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( ushort v ) Converts the argument's value to a *byte* value. ### Arguments - *ushort* **v** - A *ushort* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( long v ) Converts the argument's value to a *byte* value. ### Arguments - *long* **v** - A *long* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( ulong v ) Converts the argument's value to a *byte* value. ### Arguments - *ulong* **v** - A *ulong* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( sbyte v ) Converts the argument's value to a *byte* value. ### Arguments - *sbyte* **v** - A *sbyte* value to be converted. ### Return value Resulting *byte* value. ## byte ToByte ( bool v ) Converts the argument's value to a *byte* value. ### Arguments - *bool* **v** - Vector multiplier. ### Return value Resulting *byte* value. ## bool ToBool ( string v ) Converts the argument's value to a *boolean* value. ### Arguments - *string* **v** - A *string* value to be converted. ### Return value Converted value. ## bool ToBool ( float v ) Converts the argument's value to a *boolean* value. ### Arguments - *float* **v** - A *float* value to be converted. ### Return value Converted value. ## bool ToBool ( decimal v ) Converts the argument's value to a *boolean* value. ### Arguments - *decimal* **v** - A *decimal* value to be converted. ### Return value Converted value. ## bool ToBool ( double v ) Converts the argument's value to a *boolean* value. ### Arguments - *double* **v** - A *double* value to be converted. ### Return value Converted value. ## bool ToBool ( int v ) Converts the argument's value to a *boolean* value. ### Arguments - *int* **v** - A *int* value to be converted. ### Return value Converted value. ## bool ToBool ( uint v ) Converts the argument's value to a *boolean* value. ### Arguments - *uint* **v** - A *uint* value to be converted. ### Return value Converted value. ## bool ToBool ( short v ) Converts the argument's value to a *boolean* value. ### Arguments - *short* **v** - A *short* value to be converted. ### Return value Converted value. ## bool ToBool ( ushort v ) Converts the argument's value to a *boolean* value. ### Arguments - *ushort* **v** - A *ushort* value to be converted. ### Return value Converted value. ## bool ToBool ( long v ) Converts the argument's value to a *boolean* value. ### Arguments - *long* **v** - A *long* value to be converted. ### Return value Converted value. ## bool ToBool ( ulong v ) Converts the argument's value to a *boolean* value. ### Arguments - *ulong* **v** - A *ulong* value to be converted. ### Return value Converted value. ## bool ToBool ( byte v ) Converts the argument's value to a *boolean* value. ### Arguments - *byte* **v** - A *byte* value to be converted. ### Return value Converted value. ## bool ToBool ( sbyte v ) Converts the argument's value to a *boolean* value. ### Arguments - *sbyte* **v** - A *sbyte* value to be converted. ### Return value Converted value. ## int FloatToIntBits ( float value ) Returns an integer corresponding to the bits of the given value. ### Arguments - *float* **value** - Value to be converted. ### Return value Resulting *int* value. ## uint FloatToUIntBits ( float value ) Returns an unsigned integer corresponding to the bits of the given value. ### Arguments - *float* **value** - Value to be converted. ### Return value Resulting *uint* value. ## float IntBitsToFloat ( int value ) Returns the float corresponding to the given bits. ### Arguments - *int* **value** - Value to be converted. ### Return value Resulting *float* value. ## float IntBitsToFloat ( uint value ) Returns the unsigned float corresponding to the given bits. ### Arguments - *uint* **value** - Value to be converted. ### Return value Resulting *float* value. ## long FloatToLongBits ( double value ) Returns a long value corresponding to the bits of the given value. ### Arguments - *double* **value** - Value to be converted. ### Return value Resulting *long* value. ## double LongBitsToFloat ( long value ) Returns the double corresponding to the given bits. ### Arguments - *long* **value** - Value to be converted. ### Return value Resulting *double* value. ## ulong DoubleIntToLong ( uint a1 , uint a2 ) Returns a conversion of two unsigned integer values to a unsigned long long value. ### Arguments - *uint* **a1** - Source *uint* value. - *uint* **a2** - Source *uint* value. ### Return value Resulting *ulong* value. ## uint[] LongToDoubleInt ( ulong a ) Returns two *ulong* values converted from a *ulong* value. ### Arguments - *ulong* **a** - Source *ulong* value. ### Return value Return value. ## bool Equals ( float v0 , float v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *float* **v0** - First argument. - *float* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( double v0 , double v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *double* **v0** - First argument. - *double* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( int v0 , int v1 ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *int* **v0** - First argument. - *int* **v1** - Second argument. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( long v0 , long v1 ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *long* **v0** - First argument. - *long* **v1** - Second argument. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( Vector2 v0 , Vector2 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *Vector2* **v0** - First argument. - *Vector2* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( Vector3 v0 , Vector3 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *Vector3* **v0** - First argument. - *Vector3* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( Vector4 v0 , Vector4 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *Vector4* **v0** - First argument. - *Vector4* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( vec2 v0 , vec2 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *vec2* **v0** - First argument. - *vec2* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( vec3 v0 , vec3 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *vec3* **v0** - First argument. - *vec3* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( vec4 v0 , vec4 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *vec4* **v0** - First argument. - *vec4* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( quat v0 , quat v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *quat* **v0** - First argument. - *quat* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( dvec2 v0 , dvec2 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dvec2* **v0** - First argument. - *dvec2* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( dvec3 v0 , dvec3 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dvec3* **v0** - First argument. - *dvec3* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( dvec4 v0 , dvec4 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dvec4* **v0** - First argument. - *dvec4* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( ivec2 v0 , ivec2 v1 ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *ivec2* **v0** - First argument. - *ivec2* **v1** - Second argument. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( ivec3 v0 , ivec3 v1 ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *ivec3* **v0** - First argument. - *ivec3* **v1** - Second argument. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( ivec4 v0 , ivec4 v1 ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *ivec4* **v0** - First argument. - *ivec4* **v1** - Second argument. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( mat2 v0 , mat2 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *mat2* **v0** - First argument. - *mat2* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( mat3 v0 , mat3 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *mat3* **v0** - First argument. - *mat3* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( mat4 v0 , mat4 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *mat4* **v0** - First argument. - *mat4* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( dmat4 v0 , dmat4 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dmat4* **v0** - First argument. - *dmat4* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( BoundSphere v0 , BoundSphere v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *BoundSphere* **v0** - First argument. - *BoundSphere* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( BoundBox v0 , BoundBox v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *BoundBox* **v0** - First argument. - *BoundBox* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool Equals ( BoundFrustum v0 , BoundFrustum v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *BoundFrustum* **v0** - First argument. - *BoundFrustum* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( float a , float b , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *float* **a** - First argument. - *float* **b** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( double a , double b , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *double* **a** - First argument. - *double* **b** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( Vector2 v0 , Vector2 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *Vector2* **v0** - First argument. - *Vector2* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( Vector3 v0 , Vector3 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *Vector3* **v0** - First argument. - *Vector3* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( Vector4 v0 , Vector4 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *Vector4* **v0** - First argument. - *Vector4* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( vec2 v0 , vec2 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *vec2* **v0** - First argument. - *vec2* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( vec3 v0 , vec3 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *vec3* **v0** - First argument. - *vec3* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( vec4 v0 , vec4 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *vec4* **v0** - First argument. - *vec4* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( quat v0 , quat v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *quat* **v0** - First argument. - *quat* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( dvec2 v0 , dvec2 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dvec2* **v0** - First argument. - *dvec2* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( dvec3 v0 , dvec3 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dvec3* **v0** - First argument. - *dvec3* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( dvec4 v0 , dvec4 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dvec4* **v0** - First argument. - *dvec4* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( mat2 v0 , mat2 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *mat2* **v0** - First argument. - *mat2* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( mat3 v0 , mat3 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *mat3* **v0** - First argument. - *mat3* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( mat4 v0 , mat4 v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *mat4* **v0** - First argument. - *mat4* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( dmat4 v0 , dmat4 v1 , double epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *dmat4* **v0** - First argument. - *dmat4* **v1** - Second argument. - *double* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( BoundSphere v0 , BoundSphere v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *BoundSphere* **v0** - First argument. - *BoundSphere* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( BoundBox v0 , BoundBox v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *BoundBox* **v0** - First argument. - *BoundBox* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## bool EqualsNearly ( BoundFrustum v0 , BoundFrustum v1 , float epsilon ) Checks if two arguments represent the same value with regard to the specified accuracy (epsilon). ### Arguments - *BoundFrustum* **v0** - First argument. - *BoundFrustum* **v1** - Second argument. - *float* **epsilon** - Epsilon value, that determines accuracy of comparison. ### Return value true if the arguments are equal; otherwise, false. ## float Abs ( float x ) Returns the absolute value of the specified argument. ### Arguments - *float* **x** - Value. ### Return value Resulting *float* value. ## double Abs ( double x ) Returns the absolute value of the specified argument. ### Arguments - *double* **x** - Value. ### Return value Resulting *double* value. ## decimal Abs ( decimal x ) Returns the absolute value of the specified argument. ### Arguments - *decimal* **x** - Value. ### Return value Resulting *decimal* value. ## int Abs ( int x ) Returns the absolute value of the specified argument. ### Arguments - *int* **x** - Value. ### Return value Resulting *int* value. ## short Abs ( short x ) Returns the absolute value of the specified argument. ### Arguments - *short* **x** - Value. ### Return value Resulting *short* value. ## sbyte Abs ( sbyte x ) Returns the absolute value of the specified argument. ### Arguments - *sbyte* **x** - Value. ### Return value Resulting *sbyte* value. ## long Abs ( long x ) Returns the absolute value of the specified argument. ### Arguments - *long* **x** - Value. ### Return value Resulting *long* value. ## Vector2 Abs ( Vector2 x ) Returns the absolute value of the specified argument. ### Arguments - *Vector2* **x** - Value. ### Return value Return value. ## Vector3 Abs ( Vector3 x ) Returns the absolute value of the specified argument. ### Arguments - *Vector3* **x** - Value. ### Return value Return value. ## Vector4 Abs ( Vector4 x ) Returns the absolute value of the specified argument. ### Arguments - *Vector4* **x** - Value. ### Return value Return value. ## vec2 Abs ( vec2 v ) Returns the absolute value of the specified argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Abs ( vec3 v ) Returns the absolute value of the specified argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Abs ( vec4 v ) Returns the absolute value of the specified argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Abs ( dvec2 v ) Returns the absolute value of the specified argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Abs ( dvec3 v ) Returns the absolute value of the specified argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Abs ( dvec4 v ) Returns the absolute value of the specified argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Abs ( ivec2 v ) Returns the absolute value of the specified argument. ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Abs ( ivec3 v ) Returns the absolute value of the specified argument. ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Abs ( ivec4 v ) Returns the absolute value of the specified argument. ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## bool IsNaN ( float x ) Returns a value that indicates whether the argument is not a number (NaN). ### Arguments - *float* **x** - Value. ### Return value true if the argument is not a number (NaN); otherwise, false. ## bool IsNaN ( double x ) Returns a value that indicates whether the argument is not a number (NaN). ### Arguments - *double* **x** - Value. ### Return value true if the argument is not a number (NaN); otherwise, false. ## bool IsNaN ( Vector2 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *Vector2* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( Vector3 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *Vector3* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( Vector4 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *Vector4* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( vec2 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *vec2* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( vec3 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *vec3* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( vec4 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *vec4* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( quat v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *quat* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( dvec2 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *dvec2* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( dvec3 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *dvec3* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNaN ( dvec4 v ) Returns a value that indicates whether the argument contains at least one component, which is not a number (NaN). ### Arguments - *dvec4* **v** - Value. ### Return value true if the argument contains at least one component, which is not a number (NaN); otherwise, false. ## bool IsNull ( float x ) Returns a value that indicates whether the argument is null. ### Arguments - *float* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( double x ) Returns a value that indicates whether the argument is null. ### Arguments - *double* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( decimal x ) Returns a value that indicates whether the argument is null. ### Arguments - *decimal* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( int x ) Returns a value that indicates whether the argument is null. ### Arguments - *int* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( short x ) Returns a value that indicates whether the argument is null. ### Arguments - *short* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( sbyte x ) Returns a value that indicates whether the argument is null. ### Arguments - *sbyte* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( long x ) Returns a value that indicates whether the argument is null. ### Arguments - *long* **x** - Value. ### Return value true if the argument is null; otherwise, false. ## bool IsNull ( Vector2 v ) Returns a value that indicates whether the argument is null. ### Arguments - *Vector2* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( Vector3 v ) Returns a value that indicates whether the argument is null. ### Arguments - *Vector3* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( Vector4 v ) Returns a value that indicates whether the argument is null. ### Arguments - *Vector4* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( vec2 v ) Returns a value that indicates whether the argument is null. ### Arguments - *vec2* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( vec3 v ) Returns a value that indicates whether the argument is null. ### Arguments - *vec3* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( vec4 v ) Returns a value that indicates whether the argument is null. ### Arguments - *vec4* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( quat v ) Returns a value that indicates whether the argument is null. ### Arguments - *quat* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( dvec2 v ) Returns a value that indicates whether the argument is null. ### Arguments - *dvec2* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( dvec3 v ) Returns a value that indicates whether the argument is null. ### Arguments - *dvec3* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( dvec4 v ) Returns a value that indicates whether the argument is null. ### Arguments - *dvec4* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( ivec2 v ) Returns a value that indicates whether the argument is null. ### Arguments - *ivec2* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( ivec3 v ) Returns a value that indicates whether the argument is null. ### Arguments - *ivec3* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsNull ( ivec4 v ) Returns a value that indicates whether the argument is null. ### Arguments - *ivec4* **v** - Value. ### Return value true if all components of the argument are null; otherwise, false. ## bool IsInfinity ( float x ) Returns a value indicating whether the argument evaluates to negative or positive infinity. ### Arguments - *float* **x** - Value. ### Return value true if the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( double x ) Returns a value indicating whether the argument evaluates to negative or positive infinity. ### Arguments - *double* **x** - Value. ### Return value true if the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( Vector2 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *Vector2* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( Vector3 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *Vector3* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( Vector4 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *Vector4* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( vec2 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *vec2* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( vec3 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *vec3* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( vec4 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *vec4* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( quat v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *quat* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( dvec2 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *dvec2* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( dvec3 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *dvec3* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool IsInfinity ( dvec4 v ) Returns a value indicating whether any component of the argument evaluates to negative or positive infinity. ### Arguments - *dvec4* **v** - Value. ### Return value true if any component of the argument evaluates to negative or positive infinity; otherwise, false. ## bool Less ( float v0 , float v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( double v0 , double v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( decimal v0 , decimal v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *decimal* **v0** - First value. - *decimal* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( short v0 , short v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *short* **v0** - First value. - *short* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( ushort v0 , ushort v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *ushort* **v0** - First value. - *ushort* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( int v0 , int v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *int* **v0** - First value. - *int* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( long v0 , long v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *long* **v0** - First value. - *long* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( ulong v0 , ulong v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *ulong* **v0** - First value. - *ulong* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( byte v0 , byte v1 ) Returns a value indicating whether the first argument is less than the second argument. ### Arguments - *byte* **v0** - First value. - *byte* **v1** - Second value. ### Return value true if the first argument is less than the second argument; otherwise, false. ## bool Less ( Vector2 v0 , Vector2 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *Vector2* **v0** - First value. - *Vector2* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( Vector3 v0 , Vector3 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *Vector3* **v0** - First value. - *Vector3* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( Vector4 v0 , Vector4 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *Vector4* **v0** - First value. - *Vector4* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( vec2 v0 , vec2 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( vec3 v0 , vec3 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( vec4 v0 , vec4 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( quat v0 , quat v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *quat* **v0** - First value. - *quat* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( dvec2 v0 , dvec2 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( dvec3 v0 , dvec3 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( dvec4 v0 , dvec4 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( ivec2 v0 , ivec2 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *ivec2* **v0** - First value. - *ivec2* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( ivec3 v0 , ivec3 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *ivec3* **v0** - First value. - *ivec3* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool Less ( ivec4 v0 , ivec4 v1 ) Returns a value indicating whether all components of the first argument are less than all components of the second argument. ### Arguments - *ivec4* **v0** - First value. - *ivec4* **v1** - Second value. ### Return value true if all components of the first argument are less than all components of the second argument; otherwise, false. ## bool LessOrEqual ( float v0 , float v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( double v0 , double v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( decimal v0 , decimal v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *decimal* **v0** - First value. - *decimal* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( short v0 , short v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *short* **v0** - First value. - *short* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( ushort v0 , ushort v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *ushort* **v0** - First value. - *ushort* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( int v0 , int v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *int* **v0** - First value. - *int* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( long v0 , long v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *long* **v0** - First value. - *long* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( ulong v0 , ulong v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *ulong* **v0** - First value. - *ulong* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( byte v0 , byte v1 ) Returns a value indicating whether the first argument is less than or equal to the second argument. ### Arguments - *byte* **v0** - First value. - *byte* **v1** - Second value. ### Return value true if the first argument is less than or equal to the second argument; otherwise, false. ## bool LessOrEqual ( Vector2 v0 , Vector2 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *Vector2* **v0** - First value. - *Vector2* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( Vector3 v0 , Vector3 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *Vector3* **v0** - First value. - *Vector3* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( Vector4 v0 , Vector4 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *Vector4* **v0** - First value. - *Vector4* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( vec2 v0 , vec2 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( vec3 v0 , vec3 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( vec4 v0 , vec4 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( quat v0 , quat v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *quat* **v0** - First value. - *quat* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( dvec2 v0 , dvec2 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( dvec3 v0 , dvec3 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( dvec4 v0 , dvec4 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( ivec2 v0 , ivec2 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *ivec2* **v0** - First value. - *ivec2* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( ivec3 v0 , ivec3 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *ivec3* **v0** - First value. - *ivec3* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool LessOrEqual ( ivec4 v0 , ivec4 v1 ) Returns a value indicating whether all components of the first argument are less than or equal to all components of the second argument. ### Arguments - *ivec4* **v0** - First value. - *ivec4* **v1** - Second value. ### Return value true if all components of the first argument are less than or equal to all components of the second argument; otherwise, false. ## bool More ( float v0 , float v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( double v0 , double v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( decimal v0 , decimal v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *decimal* **v0** - First value. - *decimal* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( short v0 , short v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *short* **v0** - First value. - *short* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( ushort v0 , ushort v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *ushort* **v0** - First value. - *ushort* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( int v0 , int v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *int* **v0** - First value. - *int* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( long v0 , long v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *long* **v0** - First value. - *long* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( ulong v0 , ulong v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *ulong* **v0** - First value. - *ulong* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( byte v0 , byte v1 ) Returns a value indicating whether the first argument is greater than the second argument. ### Arguments - *byte* **v0** - First value. - *byte* **v1** - Second value. ### Return value true if the first argument is greater than the second argument; otherwise, false. ## bool More ( Vector2 v0 , Vector2 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *Vector2* **v0** - First value. - *Vector2* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( Vector3 v0 , Vector3 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *Vector3* **v0** - First value. - *Vector3* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( Vector4 v0 , Vector4 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *Vector4* **v0** - First value. - *Vector4* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( vec2 v0 , vec2 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( vec3 v0 , vec3 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( vec4 v0 , vec4 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( quat v0 , quat v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *quat* **v0** - First value. - *quat* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( dvec2 v0 , dvec2 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( dvec3 v0 , dvec3 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( dvec4 v0 , dvec4 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( ivec2 v0 , ivec2 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *ivec2* **v0** - First value. - *ivec2* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( ivec3 v0 , ivec3 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *ivec3* **v0** - First value. - *ivec3* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool More ( ivec4 v0 , ivec4 v1 ) Returns a value indicating whether all components of the first argument are greater than all components of the second argument. ### Arguments - *ivec4* **v0** - First value. - *ivec4* **v1** - Second value. ### Return value true if all components of the first argument are greater than all components of the second argument; otherwise, false. ## bool MoreOrEqual ( float v0 , float v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( double v0 , double v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( decimal v0 , decimal v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *decimal* **v0** - First value. - *decimal* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( short v0 , short v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *short* **v0** - First value. - *short* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( ushort v0 , ushort v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *ushort* **v0** - First value. - *ushort* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( int v0 , int v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *int* **v0** - First value. - *int* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( long v0 , long v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *long* **v0** - First value. - *long* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( ulong v0 , ulong v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *ulong* **v0** - First value. - *ulong* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( byte v0 , byte v1 ) Returns a value indicating whether the first argument is greater than or equal to the second argument. ### Arguments - *byte* **v0** - First value. - *byte* **v1** - Second value. ### Return value true if the first argument is greater than or equal to the second argument; otherwise, false. ## bool MoreOrEqual ( Vector2 v0 , Vector2 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *Vector2* **v0** - First value. - *Vector2* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( Vector3 v0 , Vector3 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *Vector3* **v0** - First value. - *Vector3* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( Vector4 v0 , Vector4 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *Vector4* **v0** - First value. - *Vector4* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( vec2 v0 , vec2 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( vec3 v0 , vec3 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( vec4 v0 , vec4 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( quat v0 , quat v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *quat* **v0** - First value. - *quat* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( dvec2 v0 , dvec2 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( dvec3 v0 , dvec3 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( dvec4 v0 , dvec4 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( ivec2 v0 , ivec2 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *ivec2* **v0** - First value. - *ivec2* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( ivec3 v0 , ivec3 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *ivec3* **v0** - First value. - *ivec3* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## bool MoreOrEqual ( ivec4 v0 , ivec4 v1 ) Returns a value indicating whether all components of the first argument are greater than or equal to all components of the second argument. ### Arguments - *ivec4* **v0** - First value. - *ivec4* **v1** - Second value. ### Return value true if all components of the first argument are greater than or equal to all components of the second argument; otherwise, false. ## float Inc ( float v ) Increments a source value and returns the result. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Inc ( double v ) Increments a source value and returns the result. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Inc ( decimal v ) Increments a source value and returns the result. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## short Inc ( short v ) Increments a source value and returns the result. ### Arguments - *short* **v** - Value. ### Return value Resulting *short* value. ## ushort Inc ( ushort v ) Increments a source value and returns the result. ### Arguments - *ushort* **v** - Value. ### Return value Resulting *ushort* value. ## int Inc ( int v ) Increments a source value and returns the result. ### Arguments - *int* **v** - Value. ### Return value Resulting *int* value. ## long Inc ( long v ) Increments a source value and returns the result. ### Arguments - *long* **v** - Value. ### Return value Resulting *long* value. ## ulong Inc ( ulong v ) Increments a source value and returns the result. ### Arguments - *ulong* **v** - Value. ### Return value Resulting *ulong* value. ## byte Inc ( byte v ) Increments a source value and returns the result. ### Arguments - *byte* **v** - Value. ### Return value Resulting *byte* value. ## Vector2 Inc ( Vector2 v ) Increments each component of the source value and returns the result. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Inc ( Vector3 v ) Increments each component of the source value and returns the result. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Inc ( Vector4 v ) Increments each component of the source value and returns the result. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Inc ( vec2 v ) Increments each component of the source value and returns the result. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Inc ( vec3 v ) Increments each component of the source value and returns the result. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Inc ( vec4 v ) Increments each component of the source value and returns the result. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Inc ( dvec2 v ) Increments each component of the source value and returns the result. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Inc ( dvec3 v ) Increments each component of the source value and returns the result. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Inc ( dvec4 v ) Increments each component of the source value and returns the result. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Inc ( ivec2 v ) Increments each component of the source value and returns the result. ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Inc ( ivec3 v ) Increments each component of the source value and returns the result. ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Inc ( ivec4 v ) Increments each component of the source value and returns the result. ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## bvec4 Inc ( bvec4 v ) Increments each component of the source value and returns the result. ### Arguments - *bvec4* **v** - Value. ### Return value Return value. ## float Dec ( float v ) Decrements each component of the source value and returns the result. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Dec ( double v ) Decrements a source value and returns the result. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Dec ( decimal v ) Decrements a source value and returns the result. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## short Dec ( short v ) Decrements a source value and returns the result. ### Arguments - *short* **v** - Value. ### Return value Resulting *short* value. ## ushort Dec ( ushort v ) Decrements a source value and returns the result. ### Arguments - *ushort* **v** - Value. ### Return value Resulting *ushort* value. ## int Dec ( int v ) Decrements a source value and returns the result. ### Arguments - *int* **v** - Value. ### Return value Resulting *int* value. ## long Dec ( long v ) Decrements a source value and returns the result. ### Arguments - *long* **v** - Value. ### Return value Resulting *long* value. ## ulong Dec ( ulong v ) Decrements a source value and returns the result. ### Arguments - *ulong* **v** - Value. ### Return value Resulting *ulong* value. ## byte Dec ( byte v ) Decrements a source value and returns the result. ### Arguments - *byte* **v** - Value. ### Return value Resulting *byte* value. ## Vector2 Dec ( Vector2 v ) Decrements each component of the source value and returns the result. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Dec ( Vector3 v ) Decrements each component of the source value and returns the result. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Dec ( Vector4 v ) Decrements each component of the source value and returns the result. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Dec ( vec2 v ) Decrements each component of the source value and returns the result. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Dec ( vec3 v ) Decrements each component of the source value and returns the result. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Dec ( vec4 v ) Decrements each component of the source value and returns the result. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Dec ( dvec2 v ) Decrements each component of the source value and returns the result. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Dec ( dvec3 v ) Decrements each component of the source value and returns the result. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Dec ( dvec4 v ) Decrements each component of the source value and returns the result. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Dec ( ivec2 v ) Decrements each component of the source value and returns the result. ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Dec ( ivec3 v ) Decrements each component of the source value and returns the result. ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Dec ( ivec4 v ) Decrements each component of the source value and returns the result. ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## bvec4 Dec ( bvec4 v ) Decrements each component of the source value and returns the result. ### Arguments - *bvec4* **v** - Value. ### Return value Return value. ## float Negative ( float v ) Returns the negative of a source value. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Negative ( double v ) Returns the negative of a source value. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Negative ( decimal v ) Returns the negative of a source value. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## int Negative ( int v ) Returns the negative of a source value. ### Arguments - *int* **v** - Value. ### Return value Resulting *int* value. ## long Negative ( long v ) Returns the negative of a source value. ### Arguments - *long* **v** - Value. ### Return value Resulting *long* value. ## Vector2 Negative ( Vector2 v ) Returns the negative of the source value components. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Negative ( Vector3 v ) Returns the negative of the source value components. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Negative ( Vector4 v ) Returns the negative of the source value components. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Negative ( vec2 v ) Returns the negative of the source value components. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Negative ( vec3 v ) Returns the negative of the source value components. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Negative ( vec4 v ) Returns the negative of the source value components. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Negative ( dvec2 v ) Returns the negative of the source value components. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Negative ( dvec3 v ) Returns the negative of the source value components ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Negative ( dvec4 v ) Returns the negative of the source value components. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Negative ( ivec2 v ) Returns the negative of the source value components. ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Negative ( ivec3 v ) Returns the negative of the source value components. ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Negative ( ivec4 v ) Returns the negative of the source value components. ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## float Sin ( float v ) Returns the sine of an argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Sin ( double v ) Returns the sine of an argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Sin ( Vector2 v ) Returns the sine of an argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Sin ( Vector3 v ) Returns the sine of an argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Sin ( Vector4 v ) Returns the sine of an argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Sin ( vec2 v ) Returns the sine of an argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Sin ( vec3 v ) Returns the sine of an argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Sin ( vec4 v ) Returns the sine of an argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Sin ( dvec2 v ) Returns the sine of an argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Sin ( dvec3 v ) Returns the sine of an argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Sin ( dvec4 v ) Returns the sine of an argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Sinh ( float v ) Returns the hyperbolic sine of an argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Sinh ( double v ) Returns the hyperbolic sine of an argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Sinh ( Vector2 v ) Returns the hyperbolic sine of an argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Sinh ( Vector3 v ) Returns the hyperbolic sine of an argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Sinh ( Vector4 v ) Returns the hyperbolic sine of an argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Sinh ( vec2 v ) Returns the hyperbolic sine of an argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Sinh ( vec3 v ) Returns the hyperbolic sine of an argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Sinh ( vec4 v ) Returns the hyperbolic sine of an argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Sinh ( dvec2 v ) Returns the hyperbolic sine of an argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Sinh ( dvec3 v ) Returns the hyperbolic sine of an argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Sinh ( dvec4 v ) Returns the hyperbolic sine of an argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Asin ( float v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Asin ( double v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Asin ( Vector2 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Asin ( Vector3 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Asin ( Vector4 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Asin ( vec2 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Asin ( vec3 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Asin ( vec4 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Asin ( dvec2 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Asin ( dvec3 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Asin ( dvec4 v ) Returns the arcsine of the argument � the angle in radians, whose sine is equal to the argument. a == sin(asin(a)) for every value that is within asin()'s range. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Cos ( float angle_radians ) Returns the cosine of an argument. ### Arguments - *float* **angle_radians** - Angle, in radians. ### Return value Resulting *float* value. ## double Cos ( double angle_radians ) Returns the cosine of an argument. ### Arguments - *double* **angle_radians** - Angle, in radians. ### Return value Resulting *double* value. ## Vector2 Cos ( Vector2 v ) Returns the cosine of an argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Cos ( Vector3 v ) Returns the cosine of an argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Cos ( Vector4 v ) Returns the cosine of an argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Cos ( vec2 v ) Returns the cosine of an argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Cos ( vec3 v ) Returns the cosine of an argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Cos ( vec4 v ) Returns the cosine of an argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Cos ( dvec2 v ) Returns the cosine of an argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Cos ( dvec3 v ) Returns the cosine of an argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Cos ( dvec4 v ) Returns the cosine of an argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Cosh ( float angle_radians ) Returns the hyperbolic cosine of an argument. ### Arguments - *float* **angle_radians** - Angle, in radians. ### Return value Resulting *float* value. ## double Cosh ( double angle_radians ) Returns the hyperbolic cosine of an argument. ### Arguments - *double* **angle_radians** - Angle, in radians. ### Return value Resulting *double* value. ## Vector2 Cosh ( Vector2 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Cosh ( Vector3 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Cosh ( Vector4 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Cosh ( vec2 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Cosh ( vec3 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Cosh ( vec4 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Cosh ( dvec2 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Cosh ( dvec3 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Cosh ( dvec4 v ) Returns the hyperbolic cosine of an argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Acos ( float x ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *float* **x** - Value. ### Return value Resulting *float* value. ## double Acos ( double x ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *double* **x** - Value. ### Return value Resulting *double* value. ## Vector2 Acos ( Vector2 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Acos ( Vector3 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Acos ( Vector4 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Acos ( vec2 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Acos ( vec3 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Acos ( vec4 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Acos ( dvec2 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Acos ( dvec3 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Acos ( dvec4 v ) Returns the arccosine of the argument � the angle in radians, whose cosine is equal to the argument. a == cos(acos(a)) for every value that is within acos()'s range. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## void SinCos ( float angle_radians , float out_sin , float out_cos ) Calculates sine and cosine values for the specified angle value given in radians and puts them to **out_sin** and **out_cos**. ### Arguments - *float* **angle_radians** - Angle, in radians. - *float* **out_sin** - Variable, to which the calculated sine value is to be put. - *float* **out_cos** - Variable, to which the calculated cosine value is to be put. ## void SinCos ( double angle_radians , double out_sin , double out_cos ) Calculates sine and cosine values for the specified angle value given in radians and puts them to **out_sin** and **out_cos**. ### Arguments - *double* **angle_radians** - Angle, in radians. - *double* **out_sin** - Variable, to which the calculated sine value is to be put. - *double* **out_cos** - Variable, to which the calculated cosine value is to be put. ## float Tan ( float v ) Returns the tangent of an argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Tan ( double v ) Returns the tangent of an argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Tan ( Vector2 v ) Returns the tangent of an argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Tan ( Vector3 v ) Returns the tangent of an argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Tan ( Vector4 v ) Returns the tangent of an argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Tan ( vec2 v ) Returns the tangent of an argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Tan ( vec3 v ) Returns the tangent of an argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Tan ( vec4 v ) Returns the tangent of an argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Tan ( dvec2 v ) Returns the tangent of an argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Tan ( dvec3 v ) Returns the tangent of an argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Tan ( dvec4 v ) Returns the tangent of an argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Logit ( float v ) Returns the logit of an argument - the inverse of the logistic sigmoid: **ln(x / (1 - x))**. ### Arguments - *float* **v** - Value, expected to be in the range of **0.0** to **1.0**, exclusive. ### Return value Resulting *float* value. ## double Logit ( double v ) Returns the logit of an argument - the inverse of the logistic sigmoid: **ln(x / (1 - x))**. ### Arguments - *double* **v** - Value, expected to be in the range of **0.0** to **1.0**, exclusive. ### Return value Resulting *double* value. ## float Sigmoid ( float v ) Returns the logistic sigmoid of an argument: **1 / (1 + e^-x)**. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value in the range of **0.0** to **1.0**, exclusive. ## double Sigmoid ( double v ) Returns the logistic sigmoid of an argument: **1 / (1 + e^-x)**. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value in the range of **0.0** to **1.0**, exclusive. ## float Tanh ( float v ) Returns the hyperbolic tangent of an argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Tanh ( double v ) Returns the hyperbolic tangent of an argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Tanh ( Vector2 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Tanh ( Vector3 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Tanh ( Vector4 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Tanh ( vec2 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Tanh ( vec3 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Tanh ( vec4 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Tanh ( dvec2 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Tanh ( dvec3 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Tanh ( dvec4 v ) Returns the hyperbolic tangent of an argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Atan ( float v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Atan ( double v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Atan ( Vector2 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Atan ( Vector3 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Atan ( Vector4 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Atan ( vec2 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Atan ( vec3 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Atan ( vec4 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Atan ( dvec2 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Atan ( dvec3 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Atan ( dvec4 v ) Returns the arctangent of the argument � the angle in radians, whose tangent is equal to the argument. a == tan(atan(a)) for every value that is within atan()'s range. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Atan2 ( float v0 , float v1 ) Returns the arctangent of two arguments (x and y). It is similar to calculating the arctangent of y / x, except that the signs of both arguments are used to determine the quadrant of the result. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value Resulting *float* value. ## double Atan2 ( double v0 , double v1 ) Returns the arctangent of two arguments (x and y). It is similar to calculating the arctangent of y / x, except that the signs of both arguments are used to determine the quadrant of the result. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value Resulting *double* value. ## float Atan2 ( Vector2 v ) Returns the arctangent of two vector components (x and y). It is similar to calculating the arctangent of y / x, except that the signs of both components are used to determine the quadrant of the result. ### Arguments - *Vector2* **v** - Vector of 2 components. ### Return value Resulting *float* value. ## float Atan2 ( vec2 v ) Returns the arctangent of two vector components (x and y). It is similar to calculating the arctangent of y / x, except that the signs of both components are used to determine the quadrant of the result. ### Arguments - *vec2* **v** - Vector of 2 components. ### Return value Resulting *float* value. ## double Atan2 ( dvec2 v ) Returns the arctangent of two vector components (x and y). It is similar to calculating the arctangent of y / x, except that the signs of both components are used to determine the quadrant of the result. ### Arguments - *dvec2* **v** ### Return value Resulting *double* value. ## float Exp ( float v ) Returns e raised to the specified power (**ev**). ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Exp ( double v ) Returns e raised to the specified power (**ev**). ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Exp ( Vector2 v ) Returns e raised to the specified power (**ev**). ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Exp ( Vector3 v ) Returns e raised to the specified power (**ev**). ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Exp ( Vector4 v ) Returns e raised to the specified power (**ev**). ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Exp ( vec2 v ) Returns e raised to the specified power (**ev**). ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Exp ( vec3 v ) Returns e raised to the specified power (**ev**). ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Exp ( vec4 v ) Returns e raised to the specified power (**ev**). ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Exp ( dvec2 v ) Returns e raised to the specified power (**ev**). ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Exp ( dvec3 v ) Returns e raised to the specified power (**ev**). ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Exp ( dvec4 v ) Returns e raised to the specified power (**ev**). ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Exp2 ( float v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Exp2 ( double v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Exp2 ( Vector2 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Exp2 ( Vector3 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Exp2 ( Vector4 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Exp2 ( vec2 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Exp2 ( vec3 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Exp2 ( vec4 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Exp2 ( dvec2 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Exp2 ( dvec3 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Exp2 ( dvec4 v ) Returns 2 raised to the specified power (**2v**). ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Sqrt ( float v ) Returns the square root of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Sqrt ( double v ) Returns the square root of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Sqrt ( Vector2 v ) Returns the square root of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Sqrt ( Vector3 v ) Returns the square root of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Sqrt ( Vector4 v ) Returns the square root of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Sqrt ( vec2 v ) Returns the square root of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Sqrt ( vec3 v ) Returns the square root of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Sqrt ( vec4 v ) Returns the square root of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Sqrt ( dvec2 v ) Returns the square root of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Sqrt ( dvec3 v ) Returns the square root of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Sqrt ( dvec4 v ) Returns the square root of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Rsqrt ( float v ) Returns the inverted square root of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Rsqrt ( double v ) Returns the inverted square root of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Rsqrt ( Vector2 v ) Returns the inverted square root of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Rsqrt ( Vector3 v ) Returns the inverted square root of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Rsqrt ( Vector4 v ) Returns the inverted square root of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Rsqrt ( vec2 v ) Returns the inverted square root of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Rsqrt ( vec3 v ) Returns the inverted square root of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Rsqrt ( vec4 v ) Returns the inverted square root of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Rsqrt ( dvec2 v ) Returns the inverted square root of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Rsqrt ( dvec3 v ) Returns the inverted square root of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Rsqrt ( dvec4 v ) Returns the inverted square root of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Log ( float v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Log ( double v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Log ( Vector2 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Log ( Vector3 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Log ( Vector4 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Log ( vec2 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Log ( vec3 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Log ( vec4 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Log ( dvec2 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Log ( dvec3 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Log ( dvec4 v ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Log2 ( float v ) Returns the base 2 logarithm of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Log2 ( double v ) Returns the base 2 logarithm of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Log2 ( Vector2 v ) Returns the base 2 logarithm of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Log2 ( Vector3 v ) Returns the base 2 logarithm of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Log2 ( Vector4 v ) Returns the base 2 logarithm of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Log2 ( vec2 v ) Returns the base 2 logarithm of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Log2 ( vec3 v ) Returns the base 2 logarithm of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Log2 ( vec4 v ) Returns the base 2 logarithm of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Log2 ( dvec2 v ) Returns the base 2 logarithm of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Log2 ( dvec3 v ) Returns the base 2 logarithm of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Log2 ( dvec4 v ) Returns the base 2 logarithm of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Log10 ( float v ) Returns the base 10 logarithm of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Log10 ( double v ) Returns the base 10 logarithm of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Log10 ( Vector2 v ) Returns the base 10 logarithm of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Log10 ( Vector3 v ) Returns the base 10 logarithm of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Log10 ( Vector4 v ) Returns the base 10 logarithm of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Log10 ( vec2 v ) Returns the base 10 logarithm of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Log10 ( vec3 v ) Returns the base 10 logarithm of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Log10 ( vec4 v ) Returns the base 10 logarithm of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Log10 ( dvec2 v ) Returns the base 10 logarithm of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Log10 ( dvec3 v ) Returns the base 10 logarithm of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Log10 ( dvec4 v ) Returns the base 10 logarithm of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Log ( float v , float new_base ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *float* **v** - Value. - *float* **new_base** - New logarithm base. ### Return value Resulting *float* value. ## double Log ( double v , double new_base ) Returns the natural logarithm of the argument in a specified base. ### Arguments - *double* **v** - Value. - *double* **new_base** - New logarithm base. ### Return value Resulting *double* value. ## float Pow ( float v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value Resulting *float* value. ## double Pow ( double v0 , double v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value Resulting *double* value. ## Vector2 Pow ( Vector2 v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *Vector2* **v0** - First value. - *float* **v1** - Second value. ### Return value Return value. ## Vector3 Pow ( Vector3 v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *Vector3* **v0** - First value. - *float* **v1** - Second value. ### Return value Return value. ## Vector4 Pow ( Vector4 v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *Vector4* **v0** - First value. - *float* **v1** - Second value. ### Return value Return value. ## vec2 Pow ( vec2 v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *vec2* **v0** - First value. - *float* **v1** - Second value. ### Return value Return value. ## vec3 Pow ( vec3 v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *vec3* **v0** - First value. - *float* **v1** - Second value. ### Return value Return value. ## vec4 Pow ( vec4 v0 , float v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *vec4* **v0** - First value. - *float* **v1** - Second value. ### Return value Return value. ## dvec2 Pow ( dvec2 v0 , double v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *dvec2* **v0** - First value. - *double* **v1** - Second value. ### Return value Return value. ## dvec3 Pow ( dvec3 v0 , double v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *dvec3* **v0** - First value. - *double* **v1** - Second value. ### Return value Return value. ## dvec4 Pow ( dvec4 v0 , double v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *dvec4* **v0** - First value. - *double* **v1** - Second value. ### Return value Return value. ## vec2 Pow ( vec2 v0 , vec2 v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value Return value. ## vec3 Pow ( vec3 v0 , vec3 v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value Return value. ## vec4 Pow ( vec4 v0 , vec4 v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value Return value. ## dvec2 Pow ( dvec2 v0 , dvec2 v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value Return value. ## dvec3 Pow ( dvec3 v0 , dvec3 v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value Return value. ## dvec4 Pow ( dvec4 v0 , dvec4 v1 ) Returns the argument raised to the specified power (**xy**). ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value Return value. ## float Pow2 ( float v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Pow2 ( double v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Pow2 ( decimal v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## int Pow2 ( int v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *int* **v** - Value. ### Return value Resulting *int* value. ## uint Pow2 ( uint v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *uint* **v** - Value. ### Return value Resulting *uint* value. ## short Pow2 ( short v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *short* **v** - Value. ### Return value Resulting *short* value. ## ushort Pow2 ( ushort v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *ushort* **v** - Value. ### Return value Resulting *ushort* value. ## long Pow2 ( long v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *long* **v** - Value. ### Return value Resulting *long* value. ## ulong Pow2 ( ulong v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *ulong* **v** - Value. ### Return value Resulting *ulong* value. ## byte Pow2 ( byte v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *byte* **v** - Value. ### Return value Resulting *byte* value. ## sbyte Pow2 ( sbyte v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *sbyte* **v** - Value. ### Return value Resulting *sbyte* value. ## Vector2 Pow2 ( Vector2 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Pow2 ( Vector3 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Pow2 ( Vector4 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Pow2 ( vec2 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Pow2 ( vec3 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Pow2 ( vec4 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Pow2 ( dvec2 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Pow2 ( dvec3 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Pow2 ( dvec4 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Pow2 ( ivec2 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Pow2 ( ivec3 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Pow2 ( ivec4 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## bvec4 Pow2 ( bvec4 v ) Returns the argument raised to the power of 2 (squared). ### Arguments - *bvec4* **v** - Value. ### Return value Return value. ## float Pow3 ( float v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Pow3 ( double v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Pow3 ( decimal v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## int Pow3 ( int v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *int* **v** - Value. ### Return value Resulting *int* value. ## uint Pow3 ( uint v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *uint* **v** - Value. ### Return value Resulting *uint* value. ## short Pow3 ( short v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *short* **v** - Value. ### Return value Resulting *short* value. ## ushort Pow3 ( ushort v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *ushort* **v** - Value. ### Return value Resulting *ushort* value. ## long Pow3 ( long v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *long* **v** - Value. ### Return value Resulting *long* value. ## ulong Pow3 ( ulong v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *ulong* **v** - Value. ### Return value Resulting *ulong* value. ## byte Pow3 ( byte v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *byte* **v** - Value. ### Return value Resulting *byte* value. ## sbyte Pow3 ( sbyte v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *sbyte* **v** - Value. ### Return value Resulting *sbyte* value. ## Vector2 Pow3 ( Vector2 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Pow3 ( Vector3 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Pow3 ( Vector4 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Pow3 ( vec2 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Pow3 ( vec3 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Pow3 ( vec4 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Pow3 ( dvec2 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Pow3 ( dvec3 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Pow3 ( dvec4 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Pow3 ( ivec2 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Pow3 ( ivec3 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Pow3 ( ivec4 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## bvec4 Pow3 ( bvec4 v ) Returns the argument raised to the power of 3 (cube). ### Arguments - *bvec4* **v** - Value. ### Return value Return value. ## float Pow4 ( float v ) Returns the argument raised to the power of 4. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Pow4 ( double v ) Returns the argument raised to the power of 4. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Pow4 ( decimal v ) Returns the argument raised to the power of 4. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## int Pow4 ( int v ) Returns the argument raised to the power of 4. ### Arguments - *int* **v** - Value. ### Return value Resulting *int* value. ## uint Pow4 ( uint v ) Returns the argument raised to the power of 4. ### Arguments - *uint* **v** - Value. ### Return value Resulting *uint* value. ## short Pow4 ( short v ) Returns the argument raised to the power of 4. ### Arguments - *short* **v** - Value. ### Return value Resulting *short* value. ## ushort Pow4 ( ushort v ) Returns the argument raised to the power of 4. ### Arguments - *ushort* **v** - Value. ### Return value Resulting *ushort* value. ## long Pow4 ( long v ) Returns the argument raised to the power of 4. ### Arguments - *long* **v** - Value. ### Return value Resulting *long* value. ## ulong Pow4 ( ulong v ) Returns the argument raised to the power of 4. ### Arguments - *ulong* **v** - Value. ### Return value Resulting *ulong* value. ## byte Pow4 ( byte v ) Returns the argument raised to the power of 4. ### Arguments - *byte* **v** - Value. ### Return value Resulting *byte* value. ## sbyte Pow4 ( sbyte v ) Returns the argument raised to the power of 4. ### Arguments - *sbyte* **v** - Value. ### Return value Resulting *sbyte* value. ## Vector2 Pow4 ( Vector2 v ) Returns the argument raised to the power of 4. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Pow4 ( Vector3 v ) Returns the argument raised to the power of 4. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Pow4 ( Vector4 v ) Returns the argument raised to the power of 4. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Pow4 ( vec2 v ) Returns the argument raised to the power of 4. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Pow4 ( vec3 v ) Returns the argument raised to the power of 4. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Pow4 ( vec4 v ) Returns the argument raised to the power of 4. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Pow4 ( dvec2 v ) Returns the argument raised to the power of 4. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Pow4 ( dvec3 v ) Returns the argument raised to the power of 4. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Pow4 ( dvec4 v ) Returns the argument raised to the power of 4. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## ivec2 Pow4 ( ivec2 v ) Returns the argument raised to the power of 4. ### Arguments - *ivec2* **v** - Value. ### Return value Return value. ## ivec3 Pow4 ( ivec3 v ) Returns the argument raised to the power of 4. ### Arguments - *ivec3* **v** - Value. ### Return value Return value. ## ivec4 Pow4 ( ivec4 v ) Returns the argument raised to the power of 4. ### Arguments - *ivec4* **v** - Value. ### Return value Return value. ## bvec4 Pow4 ( bvec4 v ) Returns the argument raised to the power of 4. ### Arguments - *bvec4* **v** - Value. ### Return value Return value. ## float Srgb ( float v ) Converts RGB color value to sRGB format. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Srgb ( double v ) Converts RGB color value to sRGB format. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Srgb ( Vector2 v ) Converts RGB color value to sRGB format. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Srgb ( Vector3 v ) Converts RGB color value to sRGB format. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Srgb ( Vector4 v ) Converts RGB color value to sRGB format. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Srgb ( vec2 v ) Converts RGB color value to sRGB format. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Srgb ( vec3 v ) Converts RGB color value to sRGB format. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Srgb ( vec4 v ) Converts RGB color value to sRGB format. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Srgb ( dvec2 v ) Converts RGB color value to sRGB format. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Srgb ( dvec3 v ) Converts RGB color value to sRGB format. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Srgb ( dvec4 v ) Converts RGB color value to sRGB format. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float ISrgb ( float v ) Converts sRGB color value to RGB format. ### Arguments - *float* **v** - sRGB color. ### Return value Resulting *float* value. ## double ISrgb ( double v ) Converts sRGB color value to RGB format. ### Arguments - *double* **v** - sRGB color. ### Return value Resulting *double* value. ## Vector2 ISrgb ( Vector2 v ) Converts sRGB color value to RGB format. ### Arguments - *Vector2* **v** - sRGB color. ### Return value Return value. ## Vector3 ISrgb ( Vector3 v ) Converts sRGB color value to RGB format. ### Arguments - *Vector3* **v** - sRGB color. ### Return value Return value. ## Vector4 ISrgb ( Vector4 v ) Converts sRGB color value to RGB format. ### Arguments - *Vector4* **v** - sRGB color. ### Return value Return value. ## vec2 ISrgb ( vec2 v ) Converts sRGB color value to RGB format. ### Arguments - *vec2* **v** - sRGB color. ### Return value Return value. ## vec3 ISrgb ( vec3 v ) Converts sRGB color value to RGB format. ### Arguments - *vec3* **v** - sRGB color. ### Return value Return value. ## vec4 ISrgb ( vec4 v ) Converts sRGB color value to RGB format. ### Arguments - *vec4* **v** - sRGB color. ### Return value Return value. ## dvec2 ISrgb ( dvec2 v ) Converts sRGB color value to RGB format. ### Arguments - *dvec2* **v** - sRGB color. ### Return value Return value. ## dvec3 ISrgb ( dvec3 v ) Converts sRGB color value to RGB format. ### Arguments - *dvec3* **v** - sRGB color. ### Return value Return value. ## dvec4 ISrgb ( dvec4 v ) Converts sRGB color value to RGB format. ### Arguments - *dvec4* **v** - sRGB color. ### Return value Return value. ## float Rcp ( float v ) Returns the reciprocal of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Rcp ( double v ) Returns the reciprocal of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## Vector2 Rcp ( Vector2 v ) Returns the reciprocal of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Rcp ( Vector3 v ) Returns the reciprocal of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Rcp ( Vector4 v ) Returns the reciprocal of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Rcp ( vec2 v ) Returns the reciprocal of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Rcp ( vec3 v ) Returns the reciprocal of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Rcp ( vec4 v ) Returns the reciprocal of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Rcp ( dvec2 v ) Returns the reciprocal of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Rcp ( dvec3 v ) Returns the reciprocal of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Rcp ( dvec4 v ) Returns the reciprocal of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Mod ( float x , float y ) Returns the floating-point remainder of the division operation: *first argument / second argument*. ### Arguments - *float* **x** - Value. - *float* **y** - Value. ### Return value Resulting *float* value. ## double Mod ( double x , double y ) Returns the floating-point remainder of the division operation: *first argument / second argument*. ### Arguments - *double* **x** - Value. - *double* **y** - Value. ### Return value Resulting *double* value. ## int Sign ( float v ) Returns an integral value indicating the sign of an argument. ### Arguments - *float* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## int Sign ( double v ) Returns an integral value indicating the sign of an argument. ### Arguments - *double* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## int Sign ( decimal v ) Returns an integral value indicating the sign of an argument. ### Arguments - *decimal* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## int Sign ( sbyte v ) Returns an integral value indicating the sign of an argument. ### Arguments - *sbyte* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## int Sign ( long v ) Returns an integral value indicating the sign of an argument. ### Arguments - *long* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## int Sign ( short v ) Returns an integral value indicating the sign of an argument. ### Arguments - *short* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## int Sign ( int v ) Returns an integral value indicating the sign of an argument. ### Arguments - *int* **v** - Value. ### Return value Sign of the argument: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## Vector2 Sign ( Vector2 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *Vector2* **v** - Vector of 2 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## Vector3 Sign ( Vector3 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *Vector3* **v** - Vector of 3 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## Vector4 Sign ( Vector4 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *Vector4* **v** - Vector of 4 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## vec2 Sign ( vec2 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *vec2* **v** - Vector of 2 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## vec3 Sign ( vec3 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *vec3* **v** - Vector of 3 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## vec4 Sign ( vec4 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *vec4* **v** - Vector of 4 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## dvec2 Sign ( dvec2 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *dvec2* **v** - Vector of 2 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## dvec3 Sign ( dvec3 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *dvec3* **v** - Vector of 3 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## dvec4 Sign ( dvec4 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *dvec4* **v** - Vector of 4 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## ivec2 Sign ( ivec2 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *ivec2* **v** - Vector of 2 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## ivec3 Sign ( ivec3 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *ivec3* **v** - Vector of 3 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## ivec4 Sign ( ivec4 v ) Returns an integral value indicating the sign of an argument. ### Arguments - *ivec4* **v** - Vector of 4 components. ### Return value Vector with components containing the sign of the argument components: - 1.0 if the value is greater than 0 - 0 if the value is equal to 0 - -1.0 if the value is less than 0 ## float Max ( float v0 , float v1 ) Compares the arguments and returns the maximum value. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value Resulting *float* value. ## double Max ( double v0 , double v1 ) Compares the arguments and returns the maximum value. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value Resulting *double* value. ## decimal Max ( decimal v0 , decimal v1 ) Compares the arguments and returns the maximum value. ### Arguments - *decimal* **v0** - First value. - *decimal* **v1** - Second value. ### Return value Resulting *decimal* value. ## short Max ( short v0 , short v1 ) Compares the arguments and returns the maximum value. ### Arguments - *short* **v0** - First value. - *short* **v1** - Second value. ### Return value Resulting *short* value. ## ushort Max ( ushort v0 , ushort v1 ) Compares the arguments and returns the maximum value. ### Arguments - *ushort* **v0** - First value. - *ushort* **v1** - Second value. ### Return value Resulting *ushort* value. ## int Max ( int v0 , int v1 ) Compares the arguments and returns the maximum value. ### Arguments - *int* **v0** - First value. - *int* **v1** - Second value. ### Return value Resulting *int* value. ## long Max ( long v0 , long v1 ) Compares the arguments and returns the maximum value. ### Arguments - *long* **v0** - First value. - *long* **v1** - Second value. ### Return value Resulting *long* value. ## ulong Max ( ulong v0 , ulong v1 ) Compares the arguments and returns the maximum value. ### Arguments - *ulong* **v0** - First value. - *ulong* **v1** - Second value. ### Return value Resulting *ulong* value. ## byte Max ( byte v0 , byte v1 ) Compares the arguments and returns the maximum value. ### Arguments - *byte* **v0** - First value. - *byte* **v1** - Second value. ### Return value Resulting *byte* value. ## Vector2 Max ( Vector2 v0 , Vector2 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *Vector2* **v0** - First value. - *Vector2* **v1** - Second value. ### Return value Return value. ## Vector3 Max ( Vector3 v0 , Vector3 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *Vector3* **v0** - First value. - *Vector3* **v1** - Second value. ### Return value Return value. ## Vector4 Max ( Vector4 v0 , Vector4 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *Vector4* **v0** - First value. - *Vector4* **v1** - Second value. ### Return value Return value. ## vec2 Max ( vec2 v0 , vec2 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value Return value. ## vec3 Max ( vec3 v0 , vec3 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value Return value. ## vec4 Max ( vec4 v0 , vec4 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value Return value. ## quat Max ( quat v0 , quat v1 ) Compares the arguments and returns the maximum value. ### Arguments - *quat* **v0** - First value. - *quat* **v1** - Second value. ### Return value Return value. ## dvec2 Max ( dvec2 v0 , dvec2 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value Return value. ## dvec3 Max ( dvec3 v0 , dvec3 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value Return value. ## dvec4 Max ( dvec4 v0 , dvec4 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value Return value. ## ivec2 Max ( ivec2 v0 , ivec2 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *ivec2* **v0** - First value. - *ivec2* **v1** - Second value. ### Return value Return value. ## ivec3 Max ( ivec3 v0 , ivec3 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *ivec3* **v0** - First value. - *ivec3* **v1** - Second value. ### Return value Return value. ## ivec4 Max ( ivec4 v0 , ivec4 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *ivec4* **v0** - First value. - *ivec4* **v1** - Second value. ### Return value Return value. ## bvec4 Max ( bvec4 v0 , bvec4 v1 ) Compares the arguments and returns the maximum value. ### Arguments - *bvec4* **v0** - First value. - *bvec4* **v1** - Second value. ### Return value Return value. ## float Max ( Vector2 v ) Compares the argument components and returns the maximum one. ### Arguments - *Vector2* **v** - Vector of 2 components. ### Return value Resulting *float* value. ## float Max ( Vector3 v ) Compares the argument components and returns the maximum one. ### Arguments - *Vector3* **v** - Vector of 3 components. ### Return value Resulting *float* value. ## float Max ( Vector4 v ) Compares the argument components and returns the maximum one. ### Arguments - *Vector4* **v** - Vector of 4 components. ### Return value Resulting *float* value. ## float Max ( vec2 v ) Compares the argument components and returns the maximum one. ### Arguments - *vec2* **v** - Vector of 2 components. ### Return value Resulting *float* value. ## float Max ( vec3 v ) Compares the argument components and returns the maximum one. ### Arguments - *vec3* **v** - Vector of 3 components. ### Return value Resulting *float* value. ## float Max ( vec4 v ) Compares the argument components and returns the maximum one. ### Arguments - *vec4* **v** - Vector of 4 components. ### Return value Resulting *float* value. ## float Max ( quat v ) Compares the argument components and returns the maximum one. ### Arguments - *quat* **v** - Quaternion. ### Return value Resulting *float* value. ## double Max ( dvec2 v ) Compares the argument components and returns the maximum one. ### Arguments - *dvec2* **v** - Vector of 2 components. ### Return value Resulting *double* value. ## double Max ( dvec3 v ) Compares the argument components and returns the maximum one. ### Arguments - *dvec3* **v** - Vector of 3 components. ### Return value Resulting *double* value. ## double Max ( dvec4 v ) Compares the argument components and returns the maximum one. ### Arguments - *dvec4* **v** - Vector of 4 components. ### Return value Resulting *double* value. ## int Max ( ivec2 v ) Compares the argument components and returns the maximum one. ### Arguments - *ivec2* **v** - Vector of 2 components. ### Return value Resulting *int* value. ## int Max ( ivec3 v ) Compares the argument components and returns the maximum one. ### Arguments - *ivec3* **v** - Vector of 3 components. ### Return value Resulting *int* value. ## int Max ( ivec4 v ) Compares the argument components and returns the maximum one. ### Arguments - *ivec4* **v** - Vector of 4 components. ### Return value Resulting *int* value. ## byte Max ( bvec4 v ) Compares the argument components and returns the maximum one. ### Arguments - *bvec4* **v** - Vector of 4 components. ### Return value Resulting *byte* value. ## float Min ( float v0 , float v1 ) Compares the arguments and returns the minimum value. ### Arguments - *float* **v0** - First value. - *float* **v1** - Second value. ### Return value Resulting *float* value. ## double Min ( double v0 , double v1 ) Compares the arguments and returns the minimum value. ### Arguments - *double* **v0** - First value. - *double* **v1** - Second value. ### Return value Resulting *double* value. ## decimal Min ( decimal v0 , decimal v1 ) Compares the arguments and returns the minimum value. ### Arguments - *decimal* **v0** - First value. - *decimal* **v1** - Second value. ### Return value Resulting *decimal* value. ## short Min ( short v0 , short v1 ) Compares the arguments and returns the minimum value. ### Arguments - *short* **v0** - First value. - *short* **v1** - Second value. ### Return value Resulting *short* value. ## ushort Min ( ushort v0 , ushort v1 ) Compares the arguments and returns the minimum value. ### Arguments - *ushort* **v0** - First value. - *ushort* **v1** - Second value. ### Return value Resulting *ushort* value. ## int Min ( int v0 , int v1 ) Compares the arguments and returns the minimum value. ### Arguments - *int* **v0** - First value. - *int* **v1** - Second value. ### Return value Resulting *int* value. ## long Min ( long v0 , long v1 ) Compares the arguments and returns the minimum value. ### Arguments - *long* **v0** - First value. - *long* **v1** - Second value. ### Return value Resulting *long* value. ## ulong Min ( ulong v0 , ulong v1 ) Compares the arguments and returns the minimum value. ### Arguments - *ulong* **v0** - First value. - *ulong* **v1** - Second value. ### Return value Resulting *ulong* value. ## byte Min ( byte v0 , byte v1 ) Compares the arguments and returns the minimum value. ### Arguments - *byte* **v0** - First value. - *byte* **v1** - Second value. ### Return value Resulting *byte* value. ## Vector2 Min ( Vector2 v0 , Vector2 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *Vector2* **v0** - First value. - *Vector2* **v1** - Second value. ### Return value Return value. ## Vector3 Min ( Vector3 v0 , Vector3 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *Vector3* **v0** - First value. - *Vector3* **v1** - Second value. ### Return value Return value. ## Vector4 Min ( Vector4 v0 , Vector4 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *Vector4* **v0** - First value. - *Vector4* **v1** - Second value. ### Return value Return value. ## vec2 Min ( vec2 v0 , vec2 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *vec2* **v0** - First value. - *vec2* **v1** - Second value. ### Return value Return value. ## vec3 Min ( vec3 v0 , vec3 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *vec3* **v0** - First value. - *vec3* **v1** - Second value. ### Return value Return value. ## vec4 Min ( vec4 v0 , vec4 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *vec4* **v0** - First value. - *vec4* **v1** - Second value. ### Return value Return value. ## quat Min ( quat v0 , quat v1 ) Compares the arguments and returns the minimum value. ### Arguments - *quat* **v0** - First value. - *quat* **v1** - Second value. ### Return value Return value. ## dvec2 Min ( dvec2 v0 , dvec2 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *dvec2* **v0** - First value. - *dvec2* **v1** - Second value. ### Return value Return value. ## dvec3 Min ( dvec3 v0 , dvec3 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *dvec3* **v0** - First value. - *dvec3* **v1** - Second value. ### Return value Return value. ## dvec4 Min ( dvec4 v0 , dvec4 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *dvec4* **v0** - First value. - *dvec4* **v1** - Second value. ### Return value Return value. ## ivec2 Min ( ivec2 v0 , ivec2 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *ivec2* **v0** - First value. - *ivec2* **v1** - Second value. ### Return value Return value. ## ivec3 Min ( ivec3 v0 , ivec3 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *ivec3* **v0** - First value. - *ivec3* **v1** - Second value. ### Return value Return value. ## ivec4 Min ( ivec4 v0 , ivec4 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *ivec4* **v0** - First value. - *ivec4* **v1** - Second value. ### Return value Return value. ## bvec4 Min ( bvec4 v0 , bvec4 v1 ) Compares the arguments and returns the minimum value. ### Arguments - *bvec4* **v0** - First value. - *bvec4* **v1** - Second value. ### Return value Return value. ## float Min ( Vector2 v ) Compares the argument components and returns the minimum one. ### Arguments - *Vector2* **v** - Value. ### Return value Resulting *float* value. ## float Min ( Vector3 v ) Compares the argument components and returns the minimum one. ### Arguments - *Vector3* **v** - Value. ### Return value Resulting *float* value. ## float Min ( Vector4 v ) Compares the argument components and returns the minimum one. ### Arguments - *Vector4* **v** - Value. ### Return value Resulting *float* value. ## float Min ( vec2 v ) Compares the argument components and returns the minimum one. ### Arguments - *vec2* **v** - Value. ### Return value Resulting *float* value. ## float Min ( vec3 v ) Compares the argument components and returns the minimum one. ### Arguments - *vec3* **v** - Value. ### Return value Resulting *float* value. ## float Min ( vec4 v ) Compares the argument components and returns the minimum one. ### Arguments - *vec4* **v** - Value. ### Return value Resulting *float* value. ## float Min ( quat v ) Compares the argument components and returns the minimum one. ### Arguments - *quat* **v** - Value. ### Return value Resulting *float* value. ## double Min ( dvec2 v ) Compares the argument components and returns the minimum one. ### Arguments - *dvec2* **v** - Value. ### Return value Resulting *double* value. ## double Min ( dvec3 v ) Compares the argument components and returns the minimum one. ### Arguments - *dvec3* **v** - Value. ### Return value Resulting *double* value. ## double Min ( dvec4 v ) Compares the argument components and returns the minimum one. ### Arguments - *dvec4* **v** - Value. ### Return value Resulting *double* value. ## int Min ( ivec2 v ) Compares the argument components and returns the minimum one. ### Arguments - *ivec2* **v** - Value. ### Return value Resulting *int* value. ## int Min ( ivec3 v ) Compares the argument components and returns the minimum one. ### Arguments - *ivec3* **v** - Value. ### Return value Resulting *int* value. ## int Min ( ivec4 v ) Compares the argument components and returns the minimum one. ### Arguments - *ivec4* **v** - Value. ### Return value Resulting *int* value. ## byte Min ( bvec4 v ) Compares the argument components and returns the minimum one. ### Arguments - *bvec4* **v** - Value. ### Return value Resulting *byte* value. ## float Frac ( float v ) Returns the fractional part of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Frac ( double v ) Returns the fractional part of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Frac ( decimal v ) Returns the fractional part of the argument. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## Vector2 Frac ( Vector2 v ) Returns the fractional part of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Frac ( Vector3 v ) Returns the fractional part of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Frac ( Vector4 v ) Returns the fractional part of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Frac ( vec2 v ) Returns the fractional part of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Frac ( vec3 v ) Returns the fractional part of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Frac ( vec4 v ) Returns the fractional part of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Frac ( dvec2 v ) Returns the fractional part of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Frac ( dvec3 v ) Returns the fractional part of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Frac ( dvec4 v ) Returns the fractional part of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Ceil ( float v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Ceil ( double v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Ceil ( decimal v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## Vector2 Ceil ( Vector2 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Ceil ( Vector3 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Ceil ( Vector4 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Ceil ( vec2 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Ceil ( vec3 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Ceil ( vec4 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Ceil ( dvec2 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Ceil ( dvec3 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Ceil ( dvec4 v ) Returns the smallest integral value that's greater than or equal to the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## int CeilToInt ( float v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *float* **v** - Value. ### Return value Resulting *int* value. ## int CeilToInt ( double v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *double* **v** - Value. ### Return value Resulting *int* value. ## int CeilToInt ( decimal v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *int* value. ## ivec2 CeilToInt ( Vector2 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## ivec3 CeilToInt ( Vector3 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## ivec4 CeilToInt ( Vector4 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## ivec2 CeilToInt ( vec2 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## ivec3 CeilToInt ( vec3 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## ivec4 CeilToInt ( vec4 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## ivec2 CeilToInt ( dvec2 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## ivec3 CeilToInt ( dvec3 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## ivec4 CeilToInt ( dvec4 v ) Returns the smallest integral value that's greater than or equal to the argument, stored as an integer. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Floor ( float v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Floor ( double v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Floor ( decimal v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## Vector2 Floor ( Vector2 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Floor ( Vector3 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Floor ( Vector4 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Floor ( vec2 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Floor ( vec3 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Floor ( vec4 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Floor ( dvec2 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Floor ( dvec3 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Floor ( dvec4 v ) Returns the largest integral value that's less than or equal to the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## int FloorToInt ( float v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *float* **v** - Value. ### Return value Resulting *int* value. ## int FloorToInt ( double v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *double* **v** - Value. ### Return value Resulting *int* value. ## int FloorToInt ( decimal v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *int* value. ## ivec2 FloorToInt ( Vector2 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## ivec3 FloorToInt ( Vector3 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## ivec4 FloorToInt ( Vector4 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## ivec2 FloorToInt ( vec2 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## ivec3 FloorToInt ( vec3 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## ivec4 FloorToInt ( vec4 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## ivec2 FloorToInt ( dvec2 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## ivec3 FloorToInt ( dvec3 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## ivec4 FloorToInt ( dvec4 v ) Returns the largest integral value that's less than or equal to the argument, stored as an integer. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Truncate ( float v ) Returns the integral part of the argument. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Truncate ( double v ) Returns the integral part of the argument. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Truncate ( decimal v ) Returns the integral part of the argument. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## Vector2 Truncate ( Vector2 v ) Returns the integral part of the argument. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Truncate ( Vector3 v ) Returns the integral part of the argument. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Truncate ( Vector4 v ) Returns the integral part of the argument. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Truncate ( vec2 v ) Returns the integral part of the argument. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Truncate ( vec3 v ) Returns the integral part of the argument. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Truncate ( vec4 v ) Returns the integral part of the argument. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Truncate ( dvec2 v ) Returns the integral part of the argument. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Truncate ( dvec3 v ) Returns the integral part of the argument. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Truncate ( dvec4 v ) Returns the integral part of the argument. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## int TruncateToInt ( float v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *float* **v** - Value. ### Return value Resulting *int* value. ## int TruncateToInt ( double v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *double* **v** - Value. ### Return value Resulting *int* value. ## int TruncateToInt ( decimal v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *int* value. ## ivec2 TruncateToInt ( Vector2 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## ivec3 TruncateToInt ( Vector3 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## ivec4 TruncateToInt ( Vector4 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## ivec2 TruncateToInt ( vec2 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## ivec3 TruncateToInt ( vec3 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## ivec4 TruncateToInt ( vec4 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## ivec2 TruncateToInt ( dvec2 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## ivec3 TruncateToInt ( dvec3 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## ivec4 TruncateToInt ( dvec4 v ) Returns the integral part of the argument, stored as an integer. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Round ( float v ) Returns an argument rounded to the nearest integral value. ### Arguments - *float* **v** - Value. ### Return value Resulting *float* value. ## double Round ( double v ) Returns an argument rounded to the nearest integral value. ### Arguments - *double* **v** - Value. ### Return value Resulting *double* value. ## decimal Round ( decimal v ) Returns an argument rounded to the nearest integral value. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *decimal* value. ## Vector2 Round ( Vector2 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## Vector3 Round ( Vector3 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## Vector4 Round ( Vector4 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Round ( vec2 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Round ( vec3 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Round ( vec4 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Round ( dvec2 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Round ( dvec3 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Round ( dvec4 v ) Returns an argument rounded to the nearest integral value. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## int RoundToInt ( float v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *float* **v** - Value. ### Return value Resulting *int* value. ## int RoundToInt ( double v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *double* **v** - Value. ### Return value Resulting *int* value. ## int RoundToInt ( decimal v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *decimal* **v** - Value. ### Return value Resulting *int* value. ## ivec2 RoundToInt ( Vector2 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## ivec3 RoundToInt ( Vector3 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## ivec4 RoundToInt ( Vector4 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## ivec2 RoundToInt ( vec2 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## ivec3 RoundToInt ( vec3 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## ivec4 RoundToInt ( vec4 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## ivec2 RoundToInt ( dvec2 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## ivec3 RoundToInt ( dvec3 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## ivec4 RoundToInt ( dvec4 v ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Round ( float v , int digits , MidpointRounding mode ) Returns an argument rounded to the nearest integral value. ### Arguments - *float* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *float* value. ## float Round ( float v , MidpointRounding mode ) Returns an argument rounded to the nearest integral value. ### Arguments - *float* **v** - Value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *float* value. ## float Round ( float v , int digits ) Returns an argument rounded to the nearest integral value. ### Arguments - *float* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. ### Return value Resulting *float* value. ## double Round ( double v , int digits , MidpointRounding mode ) Returns an argument rounded to the nearest integral value. ### Arguments - *double* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *double* value. ## double Round ( double v , MidpointRounding mode ) Returns an argument rounded to the nearest integral value. ### Arguments - *double* **v** - Value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *double* value. ## double Round ( double v , int digits ) Returns an argument rounded to the nearest integral value. ### Arguments - *double* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. ### Return value Resulting *double* value. ## decimal Round ( decimal v , int decimals , MidpointRounding mode ) Returns an argument rounded to the nearest integral value. ### Arguments - *decimal* **v** - Value. - *int* **decimals** - The number of decimal places in the return value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *decimal* value. ## decimal Round ( decimal v , MidpointRounding mode ) Returns an argument rounded to the nearest integral value. ### Arguments - *decimal* **v** - Value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *decimal* value. ## decimal Round ( decimal v , int decimals ) Returns an argument rounded to the nearest integral value. ### Arguments - *decimal* **v** - Value. - *int* **decimals** - The number of decimal places in the return value. ### Return value Resulting *decimal* value. ## int RoundToInt ( float v , int digits , MidpointRounding mode ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *float* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *int* value. ## int RoundToInt ( float v , MidpointRounding mode ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *float* **v** - Value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *int* value. ## int RoundToInt ( float v , int digits ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *float* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. ### Return value Resulting *int* value. ## int RoundToInt ( double v , int digits , MidpointRounding mode ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *double* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *int* value. ## int RoundToInt ( double v , MidpointRounding mode ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *double* **v** - Value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *int* value. ## int RoundToInt ( double v , int digits ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *double* **v** - Value. - *int* **digits** - The number of fractional digits in the return value. ### Return value Resulting *int* value. ## int RoundToInt ( decimal v , int decimals , MidpointRounding mode ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *decimal* **v** - Value. - *int* **decimals** - The number of decimal places in the return value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *int* value. ## int RoundToInt ( decimal v , MidpointRounding mode ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *decimal* **v** - Value. - *MidpointRounding* **mode** - [Enum](https://docs.microsoft.com/en-us/dotnet/api/system.midpointrounding?view=net-5.0). Specifies the strategy that mathematical rounding methods should use to round a number. ### Return value Resulting *int* value. ## int RoundToInt ( decimal v , int decimals ) Returns an argument rounded to the nearest integral value, stored as an integer. ### Arguments - *decimal* **v** - Value. - *int* **decimals** - The number of decimal places in the return value. ### Return value Resulting *int* value. ## float Clamp ( float value , float min , float max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *float* **value** - Value to be clamped. - *float* **min** - Minimum value (lower limit). - *float* **max** - Maximum value (upper limit). ### Return value Resulting *float* value. ## double Clamp ( double value , double min , double max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *double* **value** - Value to be clamped. - *double* **min** - Minimum value (lower limit). - *double* **max** - Maximum value (upper limit). ### Return value Resulting *double* value. ## decimal Clamp ( decimal value , decimal min , decimal max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *decimal* **value** - Value to be clamped. - *decimal* **min** - Minimum value (lower limit). - *decimal* **max** - Maximum value (upper limit). ### Return value Resulting *decimal* value. ## int Clamp ( int value , int min , int max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *int* **value** - Value to be clamped. - *int* **min** - Minimum value (lower limit). - *int* **max** - Maximum value (upper limit). ### Return value Resulting *int* value. ## uint Clamp ( uint value , uint min , uint max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *uint* **value** - Value to be clamped. - *uint* **min** - Minimum value (lower limit). - *uint* **max** - Maximum value (upper limit). ### Return value Resulting *uint* value. ## long Clamp ( long value , long min , long max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *long* **value** - Value to be clamped. - *long* **min** - Minimum value (lower limit). - *long* **max** - Maximum value (upper limit). ### Return value Resulting *long* value. ## ulong Clamp ( ulong value , ulong min , ulong max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ulong* **value** - Value to be clamped. - *ulong* **min** - Minimum value (lower limit). - *ulong* **max** - Maximum value (upper limit). ### Return value Resulting *ulong* value. ## short Clamp ( short value , short min , short max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *short* **value** - Value to be clamped. - *short* **min** - Minimum value (lower limit). - *short* **max** - Maximum value (upper limit). ### Return value Resulting *short* value. ## ushort Clamp ( ushort value , ushort min , ushort max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ushort* **value** - Value to be clamped. - *ushort* **min** - Minimum value (lower limit). - *ushort* **max** - Maximum value (upper limit). ### Return value Resulting *ushort* value. ## byte Clamp ( byte value , byte min , byte max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *byte* **value** - Value to be clamped. - *byte* **min** - Minimum value (lower limit). - *byte* **max** - Maximum value (upper limit). ### Return value Resulting *byte* value. ## Vector2 Clamp ( Vector2 value , Vector2 min , Vector2 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *Vector2* **value** - Value to be clamped. - *Vector2* **min** - Minimum value (lower limit). - *Vector2* **max** - Maximum value (upper limit). ### Return value Return value. ## Vector3 Clamp ( Vector3 value , Vector3 min , Vector3 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *Vector3* **value** - Value to be clamped. - *Vector3* **min** - Minimum value (lower limit). - *Vector3* **max** - Maximum value (upper limit). ### Return value Return value. ## Vector4 Clamp ( Vector4 value , Vector4 min , Vector4 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *Vector4* **value** - Value to be clamped. - *Vector4* **min** - Minimum value (lower limit). - *Vector4* **max** - Maximum value (upper limit). ### Return value Return value. ## vec2 Clamp ( vec2 value , vec2 min , vec2 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *vec2* **value** - Value to be clamped. - *vec2* **min** - Minimum value (lower limit). - *vec2* **max** - Maximum value (upper limit). ### Return value Return value. ## vec2 Clamp ( vec2 value , float min , float max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *vec2* **value** - Value to be clamped. - *float* **min** - Minimum value (lower limit). - *float* **max** - Maximum value (upper limit). ### Return value Return value. ## dvec2 Clamp ( dvec2 value , dvec2 min , vec2 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *dvec2* **value** - Value to be clamped. - *dvec2* **min** - Minimum value (lower limit). - *vec2* **max** - Maximum value (upper limit). ### Return value Return value. ## dvec2 Clamp ( dvec2 value , double min , double max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *dvec2* **value** - Value to be clamped. - *double* **min** - Minimum value (lower limit). - *double* **max** - Maximum value (upper limit). ### Return value Return value. ## ivec2 Clamp ( ivec2 value , ivec2 min , ivec2 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ivec2* **value** - Value to be clamped. - *ivec2* **min** - Minimum value (lower limit). - *ivec2* **max** - Maximum value (upper limit). ### Return value Return value. ## ivec2 Clamp ( ivec2 value , int min , int max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ivec2* **value** - Value to be clamped. - *int* **min** - Minimum value (lower limit). - *int* **max** - Maximum value (upper limit). ### Return value Return value. ## vec3 Clamp ( vec3 value , vec3 min , vec3 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *vec3* **value** - Value to be clamped. - *vec3* **min** - Minimum value (lower limit). - *vec3* **max** - Maximum value (upper limit). ### Return value Return value. ## vec3 Clamp ( vec3 value , float min , float max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *vec3* **value** - Value to be clamped. - *float* **min** - Minimum value (lower limit). - *float* **max** - Maximum value (upper limit). ### Return value Return value. ## dvec3 Clamp ( dvec3 value , dvec3 min , dvec3 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *dvec3* **value** - Value to be clamped. - *dvec3* **min** - Minimum value (lower limit). - *dvec3* **max** - Maximum value (upper limit). ### Return value Return value. ## dvec3 Clamp ( dvec3 value , double min , double max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *dvec3* **value** - Value to be clamped. - *double* **min** - Minimum value (lower limit). - *double* **max** - Maximum value (upper limit). ### Return value Return value. ## ivec3 Clamp ( ivec3 value , ivec3 min , ivec3 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ivec3* **value** - Value to be clamped. - *ivec3* **min** - Minimum value (lower limit). - *ivec3* **max** - Maximum value (upper limit). ### Return value Return value. ## ivec3 Clamp ( ivec3 value , int min , int max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ivec3* **value** - Value to be clamped. - *int* **min** - Minimum value (lower limit). - *int* **max** - Maximum value (upper limit). ### Return value Return value. ## vec4 Clamp ( vec4 value , vec4 min , vec4 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *vec4* **value** - Value to be clamped. - *vec4* **min** - Minimum value (lower limit). - *vec4* **max** - Maximum value (upper limit). ### Return value Return value. ## vec4 Clamp ( vec4 value , float min , float max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *vec4* **value** - Value to be clamped. - *float* **min** - Minimum value (lower limit). - *float* **max** - Maximum value (upper limit). ### Return value Return value. ## dvec4 Clamp ( dvec4 value , dvec4 min , dvec4 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *dvec4* **value** - Value to be clamped. - *dvec4* **min** - Minimum value (lower limit). - *dvec4* **max** - Maximum value (upper limit). ### Return value Return value. ## dvec4 Clamp ( dvec4 value , double min , float max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *dvec4* **value** - Value to be clamped. - *double* **min** - Minimum value (lower limit). - *float* **max** - Maximum value (upper limit). ### Return value Return value. ## ivec4 Clamp ( ivec4 value , ivec4 min , ivec4 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ivec4* **value** - Value to be clamped. - *ivec4* **min** - Minimum value (lower limit). - *ivec4* **max** - Maximum value (upper limit). ### Return value Return value. ## ivec4 Clamp ( ivec4 value , int min , int max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *ivec4* **value** - Value to be clamped. - *int* **min** - Minimum value (lower limit). - *int* **max** - Maximum value (upper limit). ### Return value Return value. ## bvec4 Clamp ( bvec4 value , bvec4 min , bvec4 max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *bvec4* **value** - Value to be clamped. - *bvec4* **min** - Minimum value (lower limit). - *bvec4* **max** - Maximum value (upper limit). ### Return value Return value. ## bvec4 Clamp ( bvec4 value , byte min , byte max ) Returns the value clamped within the specified *min* and *max* limits. ### Arguments - *bvec4* **value** - Value to be clamped. - *byte* **min** - Minimum value (lower limit). - *byte* **max** - Maximum value (upper limit). ### Return value Return value. ## float Saturate ( float value ) Returns the value clamped within the range of [0.0f, 1.0f]. ### Arguments - *float* **value** - Value to be saturated. ### Return value Resulting *float* value. ## double Saturate ( double value ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *double* **value** - Value to be saturated. ### Return value Resulting *double* value. ## decimal Saturate ( decimal value ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *decimal* **value** - Value to be saturated. ### Return value Resulting *decimal* value. ## vec2 Saturate ( Vector2 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *Vector2* **v** - Value. ### Return value Return value. ## vec3 Saturate ( Vector3 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *Vector3* **v** - Value. ### Return value Return value. ## vec4 Saturate ( Vector4 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *Vector4* **v** - Value. ### Return value Return value. ## vec2 Saturate ( vec2 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *vec2* **v** - Value. ### Return value Return value. ## vec3 Saturate ( vec3 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *vec3* **v** - Value. ### Return value Return value. ## vec4 Saturate ( vec4 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *vec4* **v** - Value. ### Return value Return value. ## dvec2 Saturate ( dvec2 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *dvec2* **v** - Value. ### Return value Return value. ## dvec3 Saturate ( dvec3 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *dvec3* **v** - Value. ### Return value Return value. ## dvec4 Saturate ( dvec4 v ) Returns the value clamped within the range of [0.0,1.0]. ### Arguments - *dvec4* **v** - Value. ### Return value Return value. ## float Lerp ( float a , float b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *float* **a** - First *float* value (lower limit of the interpolation range). - *float* **b** - Second *float* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *float* value. ## double Lerp ( double a , double b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *double* **a** - First *double* value (lower limit of the interpolation range). - *double* **b** - Second *double* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *double* value. ## decimal Lerp ( decimal a , decimal b , decimal t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *decimal* **a** - First *decimal* value (lower limit of the interpolation range). - *decimal* **b** - Second *decimal* value (upper limit of the interpolation range). - *decimal* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *decimal* value. ## int Lerp ( int a , int b , int t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *int* **a** - First *int* value (lower limit of the interpolation range). - *int* **b** - Second *int* value (upper limit of the interpolation range). - *int* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *int* value. ## long Lerp ( long a , long b , long t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *long* **a** - First *long* value (lower limit of the interpolation range). - *long* **b** - Second *long* value (upper limit of the interpolation range). - *long* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *long* value. ## Vector2 Lerp ( Vector2 a , Vector2 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *Vector2* **a** - First *Vector2* value (lower limit of the interpolation range). - *Vector2* **b** - Second *Vector2* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## Vector3 Lerp ( Vector3 a , Vector3 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *Vector3* **a** - First *Vector3* value (lower limit of the interpolation range). - *Vector3* **b** - Second *Vector3* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## Vector4 Lerp ( Vector4 a , Vector4 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *Vector4* **a** - First *Vector4* value (lower limit of the interpolation range). - *Vector4* **b** - Second *Vector4* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## Vector2 Lerp ( Vector2 a , Vector2 b , Vector2 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *Vector2* **a** - First *Vector2* value (lower limit of the interpolation range). - *Vector2* **b** - Second *Vector2* value (upper limit of the interpolation range). - *Vector2* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## Vector3 Lerp ( Vector3 a , Vector3 b , Vector3 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *Vector3* **a** - First *Vector3* value (lower limit of the interpolation range). - *Vector3* **b** - Second *Vector3* value (upper limit of the interpolation range). - *Vector3* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## Vector4 Lerp ( Vector4 a , Vector4 b , Vector4 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *Vector4* **a** - First *Vector4* value (lower limit of the interpolation range). - *Vector4* **b** - Second *Vector4* value (upper limit of the interpolation range). - *Vector4* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## vec2 Lerp ( vec2 a , vec2 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *vec2* **a** - First *vec2* value (lower limit of the interpolation range). - *vec2* **b** - Second *vec2* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## vec3 Lerp ( vec3 a , vec3 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *vec3* **a** - First *vec3* value (lower limit of the interpolation range). - *vec3* **b** - Second *vec3* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## vec4 Lerp ( vec4 a , vec4 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *vec4* **a** - First *vec4* value (lower limit of the interpolation range). - *vec4* **b** - Second *vec4* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## vec2 Lerp ( vec2 a , vec2 b , vec2 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *vec2* **a** - First *vec2* value (lower limit of the interpolation range). - *vec2* **b** - Second *vec2* value (upper limit of the interpolation range). - *vec2* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## vec3 Lerp ( vec3 a , vec3 b , vec3 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *vec3* **a** - First *vec3* value (lower limit of the interpolation range). - *vec3* **b** - Second *vec3* value (upper limit of the interpolation range). - *vec3* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## vec4 Lerp ( vec4 a , vec4 b , vec4 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *vec4* **a** - First *vec4* value (lower limit of the interpolation range). - *vec4* **b** - Second *vec4* value (upper limit of the interpolation range). - *vec4* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## dvec2 Lerp ( dvec2 a , dvec2 b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dvec2* **a** - First *dvec2* value (lower limit of the interpolation range). - *dvec2* **b** - Second *dvec2* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## dvec3 Lerp ( dvec3 a , dvec3 b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dvec3* **a** - First *dvec3* value (lower limit of the interpolation range). - *dvec3* **b** - Second *dvec3* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## dvec4 Lerp ( dvec4 a , dvec4 b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dvec4* **a** - First *dvec4* value (lower limit of the interpolation range). - *dvec4* **b** - Second *dvec4* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## dvec2 Lerp ( dvec2 a , dvec2 b , dvec2 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dvec2* **a** - First *dvec2* value (lower limit of the interpolation range). - *dvec2* **b** - Second *dvec2* value (upper limit of the interpolation range). - *dvec2* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## dvec3 Lerp ( dvec3 a , dvec3 b , dvec3 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dvec3* **a** - First *dvec3* value (lower limit of the interpolation range). - *dvec3* **b** - Second *dvec3* value (upper limit of the interpolation range). - *dvec3* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## dvec4 Lerp ( dvec4 a , dvec4 b , dvec4 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dvec4* **a** - First *dvec4* value (lower limit of the interpolation range). - *dvec4* **b** - Second *dvec4* value (upper limit of the interpolation range). - *dvec4* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## mat4 Lerp ( mat4 m0 , mat4 m1 , float k ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *mat4* **m0** - *mat4* **m1** - *float* **k** ### Return value Return value. ## dmat4 Lerp ( dmat4 m0 , dmat4 m1 , double k ) Returns the interpolated value according to the following formula: **a + (b - a) * t**. ### Arguments - *dmat4* **m0** - *dmat4* **m1** - *double* **k** ### Return value Return value. ## float LerpFixed ( float a , float b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *float* **a** - First *float* value (lower limit of the interpolation range). - *float* **b** - Second *float* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *float* value. ## double LerpFixed ( double a , double b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *double* **a** - First *double* value (lower limit of the interpolation range). - *double* **b** - Second *double* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *double* value. ## decimal LerpFixed ( decimal a , decimal b , decimal t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *decimal* **a** - First *decimal* value (lower limit of the interpolation range). - *decimal* **b** - Second *decimal* value (upper limit of the interpolation range). - *decimal* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *decimal* value. ## vec2 LerpFixed ( vec2 a , vec2 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *vec2* **a** - First *vec2* value (lower limit of the interpolation range). - *vec2* **b** - Second *vec2* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## vec3 LerpFixed ( vec3 a , vec3 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *vec3* **a** - First *vec3* value (lower limit of the interpolation range). - *vec3* **b** - Second *vec3* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## vec4 LerpFixed ( vec4 a , vec4 b , float t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *vec4* **a** - First *vec4* value (lower limit of the interpolation range). - *vec4* **b** - Second *vec4* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## vec2 LerpFixed ( vec2 a , vec2 b , vec2 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *vec2* **a** - First *vec2* value (lower limit of the interpolation range). - *vec2* **b** - Second *vec2* value (upper limit of the interpolation range). - *vec2* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## vec3 LerpFixed ( vec3 a , vec3 b , vec3 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *vec3* **a** - First *vec3* value (lower limit of the interpolation range). - *vec3* **b** - Second *vec3* value (upper limit of the interpolation range). - *vec3* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## vec4 LerpFixed ( vec4 a , vec4 b , vec4 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *vec4* **a** - First *vec4* value (lower limit of the interpolation range). - *vec4* **b** - Second *vec4* value (upper limit of the interpolation range). - *vec4* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## dvec2 LerpFixed ( dvec2 a , dvec2 b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *dvec2* **a** - First *dvec2* value (lower limit of the interpolation range). - *dvec2* **b** - Second *dvec2* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## dvec3 LerpFixed ( dvec3 a , dvec3 b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *dvec3* **a** - First *dvec3* value (lower limit of the interpolation range). - *dvec3* **b** - Second *dvec3* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## dvec4 LerpFixed ( dvec4 a , dvec4 b , double t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *dvec4* **a** - First *dvec4* value (lower limit of the interpolation range). - *dvec4* **b** - Second *dvec4* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Return value. ## dvec2 LerpFixed ( dvec2 a , dvec2 b , dvec2 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *dvec2* **a** - First *dvec2* value (lower limit of the interpolation range). - *dvec2* **b** - Second *dvec2* value (upper limit of the interpolation range). - *dvec2* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## dvec3 LerpFixed ( dvec3 a , dvec3 b , dvec3 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *dvec3* **a** - First *dvec3* value (lower limit of the interpolation range). - *dvec3* **b** - Second *dvec3* value (upper limit of the interpolation range). - *dvec3* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## dvec4 LerpFixed ( dvec4 a , dvec4 b , dvec4 t ) Returns the interpolated value according to the following formula: **a + (b - a) * t**, where the coefficient **t** is clamped within the range of [0.0,1.0]. ### Arguments - *dvec4* **a** - First *dvec4* value (lower limit of the interpolation range). - *dvec4* **b** - Second *dvec4* value (upper limit of the interpolation range). - *dvec4* **t** - Interpolation coefficient used to interpolate a value between a and b(componentwise). ### Return value Return value. ## float LerpAngle ( float a , float b , float t ) Returns the interpolated angle value according to the following formula: **a + (b - a) * t**, where the coefficient is clamped within the range of [0.0,1.0]. ### Arguments - *float* **a** - First *float* value (lower limit of the interpolation range). - *float* **b** - Second *float* value (upper limit of the interpolation range). - *float* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *float* value. ## double LerpAngle ( double a , double b , double t ) Returns the interpolated angle value according to the following formula: **a + (b - a) * t**, where the coefficient is clamped within the range of [0.0,1.0]. ### Arguments - *double* **a** - First *double* value (lower limit of the interpolation range). - *double* **b** - Second *double* value (upper limit of the interpolation range). - *double* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *double* value. ## decimal LerpAngle ( decimal a , decimal b , decimal t ) Returns the interpolated angle value according to the following formula: **a + (b - a) * t**, where the coefficient is clamped within the range of [0.0,1.0]. ### Arguments - *decimal* **a** - First *decimal* value (lower limit of the interpolation range). - *decimal* **b** - Second *decimal* value (upper limit of the interpolation range). - *decimal* **t** - Interpolation coefficient used to interpolate a value between a and b. ### Return value Resulting *decimal* value. ## float InverseLerp ( float a , float b , float value ) Returns the value calculated according to the following formula: **(value - a) / (b - a)** clamped within the range of [0.0,1.0]. ### Arguments - *float* **a** - First *float* value (lower limit of the interpolation range). - *float* **b** - Second *float* value (upper limit of the interpolation range). - *float* **value** - Value. ### Return value Resulting *float* value. ## double InverseLerp ( double a , double b , double value ) Returns the value calculated according to the following formula: **(value - a) / (b - a)** clamped within the range of [0.0,1.0]. ### Arguments - *double* **a** - First *double* value (lower limit of the interpolation range). - *double* **b** - Second *double* value (upper limit of the interpolation range). - *double* **value** - Value. ### Return value Resulting *double* value. ## decimal InverseLerp ( decimal a , decimal b , decimal value ) Returns the value calculated according to the following formula: **(value - a) / (b - a)** clamped within the range of [0.0,1.0]. ### Arguments - *decimal* **a** - First *decimal* value (lower limit of the interpolation range). - *decimal* **b** - Second *decimal* value (upper limit of the interpolation range). - *decimal* **value** - Value. ### Return value Resulting *decimal* value. ## quat Slerp ( quat q0 , quat q1 , float k ) Returns a spherical linear interpolation between unit quaternions a and b by a ratio of k. Use this to create a rotation which smoothly interpolates between the given quaternions. ### Arguments - *quat* **q0** - First quaternion (lower limit of the interpolation range). - *quat* **q1** - Second quaternion (lower limit of the interpolation range). - *float* **k** - Interpolation coefficient used to interpolate a value between q0 and q1. ### Return value Return value. ## float Dot ( Vector2 v0 , Vector2 v1 ) Returns the dot product of two vectors. ### Arguments - *Vector2* **v0** - First vector. - *Vector2* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( Vector3 v0 , Vector3 v1 ) Returns the dot product of two vectors. ### Arguments - *Vector3* **v0** - First vector. - *Vector3* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( Vector4 v0 , Vector4 v1 ) Returns the dot product of two vectors. ### Arguments - *Vector4* **v0** - First vector. - *Vector4* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( vec2 v0 , vec2 v1 ) Returns the dot product of two vectors. ### Arguments - *vec2* **v0** - First vector. - *vec2* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( vec3 v0 , vec3 v1 ) Returns the dot product of two vectors. ### Arguments - *vec3* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( vec4 v0 , vec4 v1 ) Returns the dot product of two vectors. ### Arguments - *vec4* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( quat v0 , quat v1 ) Returns the dot product of two vectors. ### Arguments - *quat* **v0** - First vector. - *quat* **v1** - Second vector. ### Return value Resulting *float* value. ## double Dot ( dvec2 v0 , dvec2 v1 ) Returns the dot product of two vectors. ### Arguments - *dvec2* **v0** - First vector. - *dvec2* **v1** - Second vector. ### Return value Resulting *double* value. ## double Dot ( dvec3 v0 , dvec3 v1 ) Returns the dot product of two vectors. ### Arguments - *dvec3* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value Resulting *double* value. ## double Dot ( dvec4 v0 , dvec4 v1 ) Returns the dot product of two vectors. ### Arguments - *dvec4* **v0** - First vector. - *dvec4* **v1** - Second vector. ### Return value Resulting *double* value. ## int Dot ( ivec2 v0 , ivec2 v1 ) Returns the dot product of two vectors. ### Arguments - *ivec2* **v0** - First vector. - *ivec2* **v1** - Second vector. ### Return value Resulting *int* value. ## int Dot ( ivec3 v0 , ivec3 v1 ) Returns the dot product of two vectors. ### Arguments - *ivec3* **v0** - First vector. - *ivec3* **v1** - Second vector. ### Return value Resulting *int* value. ## int Dot ( ivec4 v0 , ivec4 v1 ) Returns the dot product of two vectors. ### Arguments - *ivec4* **v0** - First vector. - *ivec4* **v1** - Second vector. ### Return value Resulting *int* value. ## int Dot ( bvec4 v0 , bvec4 v1 ) Returns the dot product of two vectors. ### Arguments - *bvec4* **v0** - First vector. - *bvec4* **v1** - Second vector. ### Return value Resulting *int* value. ## float Dot ( vec3 v0 , vec4 v1 ) Returns the dot product of two vectors. ### Arguments - *vec3* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot ( vec4 v0 , vec3 v1 ) Returns the dot product of two vectors. ### Arguments - *vec4* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Resulting *float* value. ## double Dot ( dvec3 v0 , dvec4 v1 ) Returns the dot product of two vectors. ### Arguments - *dvec3* **v0** - First vector. - *dvec4* **v1** - Second vector. ### Return value Resulting *double* value. ## double Dot ( dvec4 v0 , dvec3 v1 ) Returns the dot product of two vectors. ### Arguments - *dvec4* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value Resulting *double* value. ## float Dot3 ( vec3 v0 , vec4 v1 ) Returns the dot product of three components of vectors. The **W** component of four-component vectors is ignored. ### Arguments - *vec3* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot3 ( vec4 v0 , vec3 v1 ) Returns the dot product of three components of vectors. The **W** component of four-component vectors is ignored. ### Arguments - *vec4* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Resulting *float* value. ## float Dot3 ( vec4 v0 , vec4 v1 ) Returns the dot product of three components of vectors. The **W** component of four-component vectors is ignored. ### Arguments - *vec4* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Resulting *float* value. ## double Dot3 ( dvec3 v0 , dvec4 v1 ) Returns the dot product of three components of vectors. The **W** component of four-component vectors is ignored. ### Arguments - *dvec3* **v0** - First vector. - *dvec4* **v1** - Second vector. ### Return value Resulting *double* value. ## double Dot3 ( dvec4 v0 , dvec3 v1 ) Returns the dot product of three components of vectors. The **W** component of four-component vectors is ignored. ### Arguments - *dvec4* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value Resulting *double* value. ## double Dot3 ( dvec4 v0 , dvec4 v1 ) Returns the dot product of three components of vectors. The **W** component of four-component vectors is ignored. ### Arguments - *dvec4* **v0** - First vector. - *dvec4* **v1** - Second vector. ### Return value Resulting *double* value. ## float Sum ( Vector2 v ) Returns the sum of vector components. ### Arguments - *Vector2* **v** - Vector. ### Return value Resulting *float* value. ## float Sum ( Vector3 v ) Returns the sum of vector components. ### Arguments - *Vector3* **v** - Vector. ### Return value Resulting *float* value. ## float Sum ( Vector4 v ) Returns the sum of vector components. ### Arguments - *Vector4* **v** - Vector. ### Return value Resulting *float* value. ## float Sum ( vec2 v ) Returns the sum of vector components. ### Arguments - *vec2* **v** - Vector. ### Return value Resulting *float* value. ## float Sum ( vec3 v ) Returns the sum of vector components. ### Arguments - *vec3* **v** - Vector. ### Return value Resulting *float* value. ## float Sum ( vec4 v ) Returns the sum of vector components. ### Arguments - *vec4* **v** - Vector. ### Return value Resulting *float* value. ## float Sum ( quat v ) Returns the sum of vector components. ### Arguments - *quat* **v** - Vector. ### Return value Resulting *float* value. ## double Sum ( dvec2 v ) Returns the sum of vector components. ### Arguments - *dvec2* **v** - Vector. ### Return value Resulting *double* value. ## double Sum ( dvec3 v ) Returns the sum of vector components. ### Arguments - *dvec3* **v** - Vector. ### Return value Resulting *double* value. ## double Sum ( dvec4 v ) Returns the sum of vector components. ### Arguments - *dvec4* **v** - Vector. ### Return value Resulting *double* value. ## int Sum ( ivec2 v ) Returns the sum of vector components. ### Arguments - *ivec2* **v** - Vector. ### Return value Resulting *int* value. ## int Sum ( ivec3 v ) Returns the sum of vector components. ### Arguments - *ivec3* **v** - Vector. ### Return value Resulting *int* value. ## int Sum ( ivec4 v ) Returns the sum of vector components. ### Arguments - *ivec4* **v** - Vector. ### Return value Resulting *int* value. ## int Sum ( bvec4 v ) Returns the sum of vector components. ### Arguments - *bvec4* **v** - Vector. ### Return value Resulting *int* value. ## float Length2 ( Vector2 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_Vector2_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *Vector2* **v** - Vector. ### Return value Resulting *float* value. ## float Length2 ( Vector3 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_Vector3_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *Vector3* **v** - Vector. ### Return value Resulting *float* value. ## float Length2 ( Vector4 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_Vector4_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *Vector4* **v** - Vector. ### Return value Resulting *float* value. ## float Length2 ( vec2 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_vec2_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *vec2* **v** - Vector. ### Return value Resulting *float* value. ## float Length2 ( vec3 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_vec3_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *vec3* **v** - Vector. ### Return value Resulting *float* value. ## float Length2 ( vec4 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_vec4_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *vec4* **v** - Vector. ### Return value Resulting *float* value. ## float Length2 ( quat v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_quat_float)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *quat* **v** - Vector. ### Return value Resulting *float* value. ## double Length2 ( dvec2 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_dvec2_double)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *dvec2* **v** - Vector. ### Return value Resulting *double* value. ## double Length2 ( dvec3 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_dvec3_double)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *dvec3* **v** - Vector. ### Return value Resulting *double* value. ## double Length2 ( dvec4 v ) Returns the squared length of a given vector. This method is much faster than *[Length()](#Length_dvec4_double)* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *dvec4* **v** - Vector. ### Return value Resulting *double* value. ## int Length2 ( ivec2 v ) Returns the squared length of a given vector. This method is much faster than *length()* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *ivec2* **v** - Vector. ### Return value Resulting *int* value. ## int Length2 ( ivec3 v ) Returns the squared length of a given vector. This method is much faster than *length()* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *ivec3* **v** - Vector. ### Return value Resulting *int* value. ## int Length2 ( ivec4 v ) Returns the squared length of a given vector. This method is much faster than *length()* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *ivec4* **v** - Vector. ### Return value Resulting *int* value. ## int Length2 ( bvec4 v ) Returns the squared length of a given vector. This method is much faster than *length()* � the calculation is basically the same only without the slow *Sqrt* call. If you are using lengths simply to compare distances, then it is faster to compare squared lengths against the squares of distances as the comparison gives the same result. ### Arguments - *bvec4* **v** - Vector. ### Return value Resulting *int* value. ## float Length ( Vector2 v ) Returns the length of a given vector. ### Arguments - *Vector2* **v** - Vector. ### Return value Resulting *float* value. ## float Length ( Vector3 v ) Returns the length of a given vector. ### Arguments - *Vector3* **v** - Vector. ### Return value Resulting *float* value. ## float Length ( Vector4 v ) Returns the length of a given vector. ### Arguments - *Vector4* **v** - Vector. ### Return value Resulting *float* value. ## float Length ( vec2 v ) Returns the length of a given vector. ### Arguments - *vec2* **v** - Vector. ### Return value Resulting *float* value. ## float Length ( vec3 v ) Returns the length of a given vector. ### Arguments - *vec3* **v** - Vector. ### Return value Resulting *float* value. ## float Length ( vec4 v ) Returns the length of a given vector. ### Arguments - *vec4* **v** - Vector. ### Return value Resulting *float* value. ## float Length ( quat v ) Returns the length of a given vector. ### Arguments - *quat* **v** - Vector. ### Return value Resulting *float* value. ## double Length ( dvec2 v ) Returns the length of a given vector. ### Arguments - *dvec2* **v** - Vector. ### Return value Resulting *double* value. ## double Length ( dvec3 v ) Returns the length of a given vector. ### Arguments - *dvec3* **v** - Vector. ### Return value Resulting *double* value. ## double Length ( dvec4 v ) Returns the length of a given vector. ### Arguments - *dvec4* **v** - Vector. ### Return value Resulting *double* value. ## float ILength ( Vector2 v ) Returns the inverted length of a given vector. ### Arguments - *Vector2* **v** - Vector. ### Return value Resulting *float* value. ## float ILength ( Vector3 v ) Returns the inverted length of a given vector. ### Arguments - *Vector3* **v** - Vector. ### Return value Resulting *float* value. ## float ILength ( Vector4 v ) Returns the inverted length of a given vector. ### Arguments - *Vector4* **v** - Vector. ### Return value Resulting *float* value. ## float ILength ( vec2 v ) Returns the inverted length of a given vector. ### Arguments - *vec2* **v** - Vector. ### Return value Resulting *float* value. ## float ILength ( vec3 v ) Returns the inverted length of a given vector. ### Arguments - *vec3* **v** - Vector. ### Return value Resulting *float* value. ## float ILength ( vec4 v ) Returns the inverted length of a given vector. ### Arguments - *vec4* **v** - Vector. ### Return value Resulting *float* value. ## float ILength ( quat v ) Returns the inverted length of a given vector. ### Arguments - *quat* **v** - Vector. ### Return value Resulting *float* value. ## double ILength ( dvec2 v ) Returns the inverted length of a given vector. ### Arguments - *dvec2* **v** - Vector. ### Return value Resulting *double* value. ## double ILength ( dvec3 v ) Returns the inverted length of a given vector. ### Arguments - *dvec3* **v** - Vector. ### Return value Resulting *double* value. ## double ILength ( dvec4 v ) Returns the inverted length of a given vector. ### Arguments - *dvec4* **v** - Vector. ### Return value Resulting *double* value. ## float Distance2 ( Vector2 v0 , Vector2 v1 ) Returns the squared Euclidean distance between the two given points/vectors. ### Arguments - *Vector2* **v0** - Coordinates of the first point/vector. - *Vector2* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance2 ( Vector3 v0 , Vector3 v1 ) Returns the squared Euclidean distance between the two given points/vectors. ### Arguments - *Vector3* **v0** - Coordinates of the first point/vector. - *Vector3* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance2 ( Vector4 v0 , Vector4 v1 ) Returns the squared Euclidean distance between the two given points/vectors. ### Arguments - *Vector4* **v0** - Coordinates of the first point/vector. - *Vector4* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance2 ( vec2 v0 , vec2 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *vec2* **v0** - Coordinates of the first point/vector. - *vec2* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance2 ( vec3 v0 , vec3 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *vec3* **v0** - Coordinates of the first point/vector. - *vec3* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance2 ( vec4 v0 , vec4 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *vec4* **v0** - Coordinates of the first point/vector. - *vec4* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## double Distance2 ( dvec2 v0 , dvec2 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *dvec2* **v0** - Coordinates of the first point/vector. - *dvec2* **v1** - Coordinates of the second point/vector. ### Return value Resulting *double* value. ## double Distance2 ( dvec3 v0 , dvec3 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *dvec3* **v0** - Coordinates of the first point/vector. - *dvec3* **v1** - Coordinates of the second point/vector. ### Return value Resulting *double* value. ## double Distance2 ( dvec4 v0 , dvec4 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *dvec4* **v0** - Coordinates of the first point/vector. - *dvec4* **v1** - Coordinates of the second point/vector. ### Return value Resulting *double* value. ## int Distance2 ( ivec2 v0 , ivec2 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *ivec2* **v0** - Coordinates of the first point/vector. - *ivec2* **v1** - Coordinates of the second point/vector. ### Return value Resulting *int* value. ## int Distance2 ( ivec3 v0 , ivec3 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *ivec3* **v0** - Coordinates of the first point/vector. - *ivec3* **v1** - Coordinates of the second point/vector. ### Return value Resulting *int* value. ## int Distance2 ( ivec4 v0 , ivec4 v1 ) Returns the squared Euclidean distance between the two given points/vectors. The squared distance is calculated as: **`Length2(v0 - v1)`**. ### Arguments - *ivec4* **v0** - Coordinates of the first point/vector. - *ivec4* **v1** - Coordinates of the second point/vector. ### Return value Resulting *int* value. ## float Distance ( Vector2 v0 , Vector2 v1 ) Returns the Euclidean distance between the two given points/vectors. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *Vector2* **v0** - Coordinates of the first point/vector. - *Vector2* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance ( Vector3 v0 , Vector3 v1 ) Returns the Euclidean distance between the two given points/vectors. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *Vector3* **v0** - Coordinates of the first point/vector. - *Vector3* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance ( Vector4 v0 , Vector4 v1 ) Returns the Euclidean distance between the two given points/vectors. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *Vector4* **v0** - Coordinates of the first point/vector. - *Vector4* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance ( vec2 v0 , vec2 v1 ) Returns the Euclidean distance between the two given points/vectors. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *vec2* **v0** - Coordinates of the first point/vector. - *vec2* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance ( vec3 v0 , vec3 v1 ) Returns the Euclidean distance between the two given points/vectors. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *vec3* **v0** - Coordinates of the first point/vector. - *vec3* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## float Distance ( vec4 v0 , vec4 v1 ) Returns the Euclidean distance between the two given points/vectors. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *vec4* **v0** - Coordinates of the first point/vector. - *vec4* **v1** - Coordinates of the second point/vector. ### Return value Resulting *float* value. ## double Distance ( dvec2 v0 , dvec2 v1 ) Returns the Euclidean distance between the two given points. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *dvec2* **v0** - Coordinates of the first point. - *dvec2* **v1** - Coordinates of the second point. ### Return value Resulting *double* value. ## double Distance ( dvec3 v0 , dvec3 v1 ) Returns the Euclidean distance between the two given points. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *dvec3* **v0** - Coordinates of the first point. - *dvec3* **v1** - Coordinates of the second point. ### Return value Resulting *double* value. ## double Distance ( dvec4 v0 , dvec4 v1 ) Returns the Euclidean distance between the two given points. The distance is calculated as: **`Length(v0 - v1)`**. ### Arguments - *dvec4* **v0** - Coordinates of the first point. - *dvec4* **v1** - Coordinates of the second point. ### Return value Resulting *double* value. ## vec2 ClampLength ( vec2 vector , float max_length ) Returns the vector clamped to the maximum length. ### Arguments - *vec2* **vector** - Source vector. - *float* **max_length** - Maximum length. ### Return value Return vector. ## vec3 ClampLength ( vec3 vector , float max_length ) Returns the vector clamped to the maximum length. ### Arguments - *vec3* **vector** - Source vector. - *float* **max_length** - Maximum length. ### Return value Return vector. ## vec4 ClampLength ( vec4 vector , float max_length ) Returns the vector clamped to the maximum length. ### Arguments - *vec4* **vector** - Source vector. - *float* **max_length** - Maximum length. ### Return value Return vector. ## dvec2 ClampLength ( dvec2 vector , float max_length ) Returns the vector clamped to the maximum length. ### Arguments - *dvec2* **vector** - Source vector. - *float* **max_length** - Maximum length. ### Return value Return vector. ## dvec3 ClampLength ( dvec3 vector , double max_length ) Returns the vector clamped to the maximum length. ### Arguments - *dvec3* **vector** - Source vector. - *double* **max_length** - Maximum length. ### Return value Return vector. ## dvec4 ClampLength ( dvec4 vector , double max_length ) Returns the vector clamped to the maximum length. ### Arguments - *dvec4* **vector** - Source vector. - *double* **max_length** - Maximum length. ### Return value Return vector. ## Vector2 Normalize ( Vector2 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *Vector2* **value** - Value to be normalized. ### Return value Return value. ## Vector3 Normalize ( Vector3 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *Vector3* **value** - Value to be normalized. ### Return value Return value. ## Vector4 Normalize ( Vector4 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *Vector4* **value** - Value to be normalized. ### Return value Return value. ## vec2 Normalize ( vec2 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *vec2* **value** - Value to be normalized. ### Return value Return value. ## vec3 Normalize ( vec3 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *vec3* **value** - Value to be normalized. ### Return value Return value. ## vec4 Normalize ( vec4 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *vec4* **value** - Value to be normalized. ### Return value Return value. ## quat Normalize ( quat value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *quat* **value** - Value to be normalized. ### Return value Return value. ## dvec2 Normalize ( dvec2 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *dvec2* **value** - Value to be normalized. ### Return value Return value. ## dvec3 Normalize ( dvec3 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *dvec3* **value** - Value to be normalized. ### Return value Return value. ## dvec4 Normalize ( dvec4 value ) Returns a vector with the same direction as the specified vector, but with a length of 1. ### Arguments - *dvec4* **value** - Value to be normalized. ### Return value Return value. ## Vector2 Project ( Vector2 vector , Vector2 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *Vector2* **vector** - Vector of 2 components. - *Vector2* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## Vector3 Project ( Vector3 vector , Vector3 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *Vector3* **vector** - Vector of 3 components. - *Vector3* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## Vector4 Project ( Vector4 vector , Vector4 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *Vector4* **vector** - Vector of 4 components. - *Vector4* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## vec2 Project ( vec2 vector , vec2 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *vec2* **vector** - Vector. - *vec2* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## vec3 Project ( vec3 vector , vec3 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *vec3* **vector** - Vector. - *vec3* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## vec4 Project ( vec4 vector , vec4 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *vec4* **vector** - Vector. - *vec4* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## dvec2 Project ( dvec2 vector , dvec2 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *dvec2* **vector** - Vector. - *dvec2* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## dvec3 Project ( dvec3 vector , dvec3 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *dvec3* **vector** - Vector. - *dvec3* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## dvec4 Project ( dvec4 vector , dvec4 on_normal ) Calculates the projection of a vector onto a given normal. ### Arguments - *dvec4* **vector** - Vector. - *dvec4* **on_normal** - Normal. ### Return value Projection of the input vector onto the normal. ## vec3 ProjectOnPlane ( vec3 vector , vec3 plane_normal ) Calculates the projection of a vector onto a given plane. ### Arguments - *vec3* **vector** - Vector. - *vec3* **plane_normal** - Normal to the plane. ### Return value Projection of the input vector onto the plane. ## Vector3 Cross ( Vector3 v0 , Vector3 v1 ) Returns the cross product of two vectors. ### Arguments - *Vector3* **v0** - First vector. - *Vector3* **v1** - Second vector. ### Return value Cross product of two vectors. ## vec3 Cross ( vec3 v0 , vec3 v1 ) Returns the cross product of two vectors. ### Arguments - *vec3* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Cross product of two vectors. ## dvec3 Cross ( dvec3 v0 , dvec3 v1 ) Returns the cross product of two vectors. ### Arguments - *dvec3* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value Cross product of two vectors. ## ivec3 Cross ( ivec3 v0 , ivec3 v1 ) Returns the cross product of two vectors. ### Arguments - *ivec3* **v0** - First vector. - *ivec3* **v1** - Second vector. ### Return value Cross product of two vectors. ## vec3 Cross3 ( vec4 v0 , vec4 v1 ) Returns the cross product of three components of vectors. The W component of four-component vectors is ignored. ### Arguments - *vec4* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Cross product. ## vec3 Cross3 ( vec4 v0 , vec3 v1 ) Returns the cross product of three components of vectors. The W component of the four-component vector is ignored. ### Arguments - *vec4* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Cross product. ## vec3 Cross3 ( vec3 v0 , vec4 v1 ) Returns the cross product of three components of vectors. The W component of the four-component vector is ignored. ### Arguments - *vec3* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Cross product. ## Vector2 Reflect ( Vector2 v0 , Vector2 v1 ) Returns the reflection of a vector off a surface that has the specified normal. ### Arguments - *Vector2* **v0** - Source vector. - *Vector2* **v1** - The normal of the surface being reflected off. ### Return value Reflected vector. ## Vector3 Reflect ( Vector3 v0 , Vector3 v1 ) Returns the reflection of a vector off a surface that has the specified normal. ### Arguments - *Vector3* **v0** - Source vector. - *Vector3* **v1** - The normal of the surface being reflected off. ### Return value Reflected vector. ## vec2 Reflect ( vec2 v0 , vec2 v1 ) Returns the reflection of a vector off a surface that has the specified normal. ### Arguments - *vec2* **v0** - Source vector. - *vec2* **v1** - The normal of the surface being reflected off. ### Return value Reflected vector. ## vec3 Reflect ( vec3 v0 , vec3 v1 ) Returns the reflection of a vector off a surface that has the specified normal. ### Arguments - *vec3* **v0** - Source vector. - *vec3* **v1** - The normal of the surface being reflected off. ### Return value Reflected vector. ## dvec2 Reflect ( dvec2 v0 , dvec2 v1 ) Returns the reflection of a vector off a surface that has the specified normal. ### Arguments - *dvec2* **v0** - Source vector. - *dvec2* **v1** - The normal of the surface being reflected off. ### Return value Reflected vector. ## dvec3 Reflect ( dvec3 v0 , dvec3 v1 ) Returns the reflection of a vector off a surface that has the specified normal. ### Arguments - *dvec3* **v0** - Source vector. - *dvec3* **v1** - The normal of the surface being reflected off. ### Return value Reflected vector. ## bool AreCollinear ( Vector3 v0 , Vector3 v1 ) Checks if the vectors are collinear. ### Arguments - *Vector3* **v0** - First vector. - *Vector3* **v1** - Second vector. ### Return value true if the vectors are collinear; otherwise, false. ## bool AreCollinear ( vec3 v0 , vec3 v1 ) Checks if the vectors are collinear. ### Arguments - *vec3* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value true if the vectors are collinear; otherwise, false. ## bool AreCollinear ( dvec3 v0 , dvec3 v1 ) Checks if the vectors are collinear. ### Arguments - *dvec3* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value true if the vectors are collinear; otherwise, false. ## float Angle ( Vector2 from , Vector2 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *Vector2* **from** - First vector (from which the angular difference is measured). - *Vector2* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *float* value. ## float Angle ( Vector3 from , Vector3 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *Vector3* **from** - First vector (from which the angular difference is measured). - *Vector3* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *float* value. ## float Angle ( vec2 from , vec2 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *vec2* **from** - First vector (from which the angular difference is measured). - *vec2* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *float* value. ## float Angle ( vec3 from , vec3 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *vec3* **from** - First vector (from which the angular difference is measured). - *vec3* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *float* value. ## double Angle ( dvec2 from , dvec2 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *dvec2* **from** - First vector (from which the angular difference is measured). - *dvec2* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *double* value. ## double Angle ( dvec3 from , dvec3 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *dvec3* **from** - First vector (from which the angular difference is measured). - *dvec3* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *double* value. ## float Angle ( quat q0 , quat q1 ) Returns the angle (in degrees) between the specified arguments. The angle returned is the unsigned acute angle between the two arguments. This means the smaller of the two possible angles is used. ### Arguments - *quat* **q0** - First quaternion. - *quat* **q1** - Second quaternion. ### Return value Resulting *float* value. ## float Angle ( quat q , vec3 axis ) Returns the angle (in degrees) between the specified arguments. The angle returned is the unsigned acute angle between the two arguments. This means the smaller of the two possible angles is used. ### Arguments - *quat* **q** - Quaternion. - *vec3* **axis** - Axis of rotation. ### Return value Resulting *float* value. ## float Angle ( vec3 v0 , vec3 v1 , vec3 up ) Returns the angle (in degrees) between the specified vectors. The angle returned is the unsigned acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *vec3* **v0** - First vector (from which the angular difference is measured). - *vec3* **v1** - Second vector (to which the angular difference is measured). - *vec3* **up** - Direction of the UP-vector. ### Return value Resulting *float* value. ## float AngleSigned ( vec2 from , vec2 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the signed acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *vec2* **from** - First vector (from which the angular difference is measured). - *vec2* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *float* value. ## float AngleSigned ( vec3 from , vec3 to , vec3 axis ) Returns the angle (in degrees) between the specified vectors. The angle returned is the signed acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *vec3* **from** - First vector (from which the angular difference is measured). - *vec3* **to** - Second vector (to which the angular difference is measured). - *vec3* **axis** - Axis of rotation. ### Return value Resulting *float* value. ## double AngleSigned ( dvec2 from , dvec2 to ) Returns the angle (in degrees) between the specified vectors. The angle returned is the signed acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *dvec2* **from** - First vector (from which the angular difference is measured). - *dvec2* **to** - Second vector (to which the angular difference is measured). ### Return value Resulting *double* value. ## double AngleSigned ( dvec3 from , dvec3 to , vec3 axis ) Returns the angle (in degrees) between the specified vectors. The angle returned is the signed acute angle between the two vectors. This means the smaller of the two possible angles is used. ### Arguments - *dvec3* **from** - First vector (from which the angular difference is measured). - *dvec3* **to** - Second vector (to which the angular difference is measured). - *vec3* **axis** - Axis of rotation. ### Return value Resulting *double* value. ## float Min ( float[] values ) Compares the argument components and returns the minimum value. ### Arguments - *float[]* **values** - Array of values. ### Return value Resulting *float* value. ## double Min ( double[] values ) Compares the arguments and returns the minimum value. ### Arguments - *double[]* **values** - Array of values. ### Return value Resulting *double* value. ## int Min ( int[] values ) Compares the arguments and returns the minimum value. ### Arguments - *int[]* **values** - Array of values. ### Return value Resulting *int* value. ## long Min ( long[] values ) Compares the arguments and returns the minimum value. ### Arguments - *long[]* **values** - Array of values. ### Return value Resulting *long* value. ## float Max ( float[] values ) Compares the arguments and returns the maximum value. ### Arguments - *float[]* **values** - Array of values. ### Return value Resulting *float* value. ## double Max ( double[] values ) Compares the arguments and returns the maximum value. ### Arguments - *double[]* **values** - Array of values. ### Return value Resulting *double* value. ## int Max ( int[] values ) Compares the arguments and returns the maximum value. ### Arguments - *int[]* **values** - Array of values. ### Return value Resulting *int* value. ## long Max ( long[] values ) Compares the arguments and returns the maximum value. ### Arguments - *long[]* **values** - Array of values. ### Return value Resulting *long* value. ## float Bezier ( float[] times , float[] values , float time ) Calculates the value of a cubic Bezier function for *t = time*. ![](../cubic_bezier.gif) A cubic Bezier curve is represented by 4 points. **Po** is the start point, **P1** and **P2** are control points 1 and 2 and **P3** is the end point. The start and end point denote the beginning and end points of the path and the control points determine how the path moves from the start to the finish. As can be seen from the image, the only variable changing is **t** which determines how far the path has progressed from P0 to P3. Cubic Bezier curves are used as timing functions particularly for keyframe interpolation. ### Arguments - *float[]* **times** - Coordinates of the four points of the curve along the horizontal *T* (times) axis in the range **[0.0f, 1.0f]**. - *float[]* **values** - Coordinates of the four points of the curve along the vertical *V* (values) axis in the range **[0.0f, 1.0f]**. - *float* **time** - Time in the range **[0, 1]**, for which the value of the Bezier function is to be calculated. ### Return value Value of the Bezier function. ## double Bezier ( double[] times , double[] values , double time ) Calculates the value of a cubic Bezier function for *t = time*. ![](../cubic_bezier.gif) A cubic Bezier curve is represented by 4 points. **Po** is the start point, **P1** and **P2** are control points 1 and 2 and **P3** is the end point. The start and end point denote the beginning and end points of the path and the control points determine how the path moves from the start to the finish. As can be seen from the image, the only variable changing is **t** which determines how far the path has progressed from P0 to P3. Cubic Bezier curves are used as timing functions particularly for keyframe interpolation. ### Arguments - *double[]* **times** - Coordinates of the four points of the curve along the horizontal *T* (times) axis in the range **[0.0f, 1.0f]**. - *double[]* **values** - Coordinates of the four points of the curve along the vertical *V* (values) axis in the range **[0.0f, 1.0f]**. - *double* **time** - Time in the range **[0, 1]**, for which the value of the Bezier function is to be calculated. ### Return value Value of the Bezier function. ## float Repeat ( float t , float length ) Returns the t value as repeated (looped) within the specified segment. Thus, this value is never less than 0 or greater than the length value. ### Arguments - *float* **t** - A value along the horizontal *T* (times) axis. - *float* **length** - Segment length along the horizontal *T* (times) axis. ### Return value Resulting *float* value. ## double Repeat ( double t , double length ) Returns the t value as repeated (looped) within the specified segment. Thus, this value is never less than 0 or greater than the length value. ### Arguments - *double* **t** - A value along the horizontal *T* (times) axis. - *double* **length** - Segment length along the horizontal *T* (times) axis. ### Return value Resulting *double* value. ## decimal Repeat ( decimal t , decimal length ) Returns the t value as repeated (looped) within the specified segment. Thus, this value is never less than 0 or greater than the length value. ### Arguments - *decimal* **t** - A value along the horizontal *T* (times) axis. - *decimal* **length** - Segment length along the horizontal *T* (times) axis. ### Return value Resulting *decimal* value. ## float PingPong ( float t , float length ) Returns the t value as repeated forth and back within the specified segment. Thus, this value is never less than 0 or greater than the length value. ### Arguments - *float* **t** - A value along the horizontal *T* (times) axis. - *float* **length** - Segment length along the horizontal *T* (times) axis. ### Return value Resulting *float* value. ## double PingPong ( double t , double length ) Returns the t value as repeated forth and back within the specified segment. Thus, this value is never less than 0 or greater than the length value. ### Arguments - *double* **t** - A value along the horizontal *T* (times) axis. - *double* **length** - Segment length along the horizontal *T* (times) axis. ### Return value Resulting *double* value. ## decimal PingPong ( decimal t , decimal length ) Returns the t value as repeated forth and back within the specified segment. Thus, this value is never less than 0 or greater than the length value. ### Arguments - *decimal* **t** - A value along the horizontal *T* (times) axis. - *decimal* **length** - Segment length along the horizontal *T* (times) axis. ### Return value Resulting *decimal* value. ## float DeltaAngle ( float current , float target ) Calculates the smaller difference between the two argument angles, in degrees. ### Arguments - *float* **current** - Current angle, in degrees. - *float* **target** - Target angle, in degrees. ### Return value Difference between the two argument angles, in degrees. ## double DeltaAngle ( double current , double target ) Calculates the smaller difference between the two argument angles, in degrees. ### Arguments - *double* **current** - Current angle, in degrees. - *double* **target** - Target angle, in degrees. ### Return value Difference between the two argument angles, in degrees. ## decimal DeltaAngle ( decimal current , decimal target ) Calculates the smaller difference between the two argument angles, in degrees. ### Arguments - *decimal* **current** - Current angle, in degrees. - *decimal* **target** - Target angle, in degrees. ### Return value Difference between the two argument angles, in degrees. ## float MoveTowards ( float current , float target , float max_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *float* **current** - Current value. - *float* **target** - Target value. - *float* **max_delta** - Maximum delta value, maximum possible change from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting *float* value. ## double MoveTowards ( double current , double target , double max_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *double* **current** - Current value. - *double* **target** - Target value. - *double* **max_delta** - Maximum delta value, maximum possible change from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting *double* value. ## vec2 MoveTowards ( vec2 current , vec2 target , float max_distance_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *vec2* **current** - Current value. - *vec2* **target** - Target value. - *float* **max_distance_delta** - Maximum delta value, maximum possible distance from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting value. ## vec3 MoveTowards ( vec3 current , vec3 target , float max_distance_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *vec3* **current** - Current value. - *vec3* **target** - Target value. - *float* **max_distance_delta** - Maximum delta value, maximum possible distance from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting value. ## vec4 MoveTowards ( vec4 current , vec4 target , float max_distance_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *vec4* **current** - Current value. - *vec4* **target** - Target value. - *float* **max_distance_delta** - Maximum delta value, maximum possible distance from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting value. ## dvec2 MoveTowards ( dvec2 current , dvec2 target , double max_distance_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *dvec2* **current** - Current value. - *dvec2* **target** - Target value. - *double* **max_distance_delta** - Maximum delta value, maximum possible distance from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting value. ## dvec3 MoveTowards ( dvec3 current , dvec3 target , double max_distance_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *dvec3* **current** - Current value. - *dvec3* **target** - Target value. - *double* **max_distance_delta** - Maximum delta value, maximum possible distance from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting value. ## dvec4 MoveTowards ( dvec4 current , dvec4 target , double max_distance_delta ) Moves the current value towards the target value by the maximum delta value. The result is limited by the target value and cannot move beyond it. ### Arguments - *dvec4* **current** - Current value. - *dvec4* **target** - Target value. - *double* **max_distance_delta** - Maximum delta value, maximum possible distance from the current to the target value. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting value. ## float MoveTowardsAngle ( float current , float target , float max_delta ) Rotates the current angle towards the target angle by the maximum delta value. The result is limited by the target angle and cannot move beyond it. ### Arguments - *float* **current** - Current angle, in degrees. - *float* **target** - Target angle, in degrees. - *float* **max_delta** - Maximum delta value, maximum possible change from the current to the target angle. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting *float* value. ## double MoveTowardsAngle ( double current , double target , double max_delta ) Rotates the current angle towards the target angle by the maximum delta value. The result is limited by the target angle and cannot move beyond it. ### Arguments - *double* **current** - Current angle, in degrees. - *double* **target** - Target angle, in degrees. - *double* **max_delta** - Maximum delta value, maximum possible change from the current to the target angle. Negative values move the resulting value to the opposite direction from the target. ### Return value Resulting *double* value. ## quat RotateTowards ( quat source , quat target , float max_angle ) Rotates the source quaternion towards the target quaternion by an angular step of max_angle (note, that the rotation will not overshoot). ### Arguments - *quat* **source** - Source quaternion. - *quat* **target** - Target quaternion. - *float* **max_angle** - Angular step, in degrees. If a negative value is specified, 0 will be used instead. ### Return value Resulting quaternion. ## vec3 RotateTowards ( vec3 source , vec3 target , float max_angle ) Rotates the source vector towards the target vector by an angular step of max_angle (note, that the rotation will not overshoot). ### Arguments - *vec3* **source** - Source vector. - *vec3* **target** - Target vector. - *float* **max_angle** - Angular step, in degrees. If a negative value is specified, 0 will be used instead. ### Return value Resulting rotation vector. ## quat RotationFromDir ( vec3 forward , vec3 up ) Returns the rotation quaternion for the specified "forward" and "up" directions. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *vec3* **forward** - Forward direction vector defining the direction to look in. - *vec3* **up** - Direction of the UP-vector.Vector defining in which direction up is. ### Return value Rotation quaternion. ## quat RotationFromDir ( vec3 forward ) Returns the rotation quaternion for the specified "forward" direction (the default "up" vector is used). For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *vec3* **forward** - Forward direction vector defining the direction to look in. ### Return value Rotation quaternion. ## float SmoothStep ( float x ) Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [0, 1]. ![](../smoothstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *float* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than 0; - 1 if x is greater than 1; - interpolated value between 0 and 1 if x is in the range [0, 1]. ## double SmoothStep ( double x ) Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [0, 1]. ![](../smoothstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *double* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than 0; - 1 if x is greater than 1; - interpolated value between 0 and 1 if x is in the range [0, 1]. ## decimal SmoothStep ( decimal x ) Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [0, 1]. ![](../smoothstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *decimal* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than 0; - 1 if x is greater than 1; - interpolated value between 0 and 1 if x is in the range [0, 1]. ## float SmoothStep ( float from , float to , float x ) Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [0, 1]. ![](../smoothstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *float* **from** - From value (beginning of the range). - *float* **to** - To value (end of the range). - *float* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than from; - 1 if x is greater than to; - interpolated value between 0 and 1 if x is in the range [from, to]. ## double SmoothStep ( double from , double to , double x ) Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [0, 1]. ![](../smoothstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *double* **from** - From value (beginning of the range). - *double* **to** - To value (end of the range). - *double* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than from; - 1 if x is greater than to; - interpolated value between 0 and 1 if x is in the range [from, to]. ## float SmootherStep ( float x ) Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [0, 1]. ![](../smootherstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *float* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than 0; - 1 if x is greater than 1; - interpolated value between 0 and 1 if x is in the range [0, 1]. ## double SmootherStep ( double x ) Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [0, 1]. ![](../smootherstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *double* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than 0; - 1 if x is greater than 1; - interpolated value between 0 and 1 if x is in the range [0, 1]. ## decimal SmootherStep ( decimal x ) Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [0, 1]. ![](../smootherstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *decimal* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than 0; - 1 if x is greater than 1; - interpolated value between 0 and 1 if x is in the range [0, 1]. ## float SmootherStep ( float from , float to , float x ) Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [0, 1]. ![](../smootherstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *float* **from** - From value (beginning of the range). - *float* **to** - To value (end of the range). - *float* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than from; - 1 if x is greater than to; - interpolated value between 0 and 1 if x is in the range [from, to]. ## double SmootherStep ( double from , double to , double x ) Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [0, 1]. ![](../smootherstep.png) It is convenient for creating a sequence of transitions using smoothstep to interpolate each segment as an alternative to using more sophisticated or expensive interpolation techniques. ### Arguments - *double* **from** - From value (beginning of the range). - *double* **to** - To value (end of the range). - *double* **x** - Value to be interpolated. ### Return value Resulting interpolated value. - 0 if x is less than from; - 1 if x is greater than to; - interpolated value between 0 and 1 if x is in the range [from, to]. ## float SmoothDamp ( float current , float target , float current_velocity , float smooth_time , float max_speed , float delta_time ) Gradually changes a value towards a desired target over time. ### Arguments - *float* **current** - Current value. - *float* **target** - Target value. - *float* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **max_speed** - Maximum possible speed of transition. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting value. ## float SmoothDamp ( float current , float target , float current_velocity , float smooth_time , float delta_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. ### Arguments - *float* **current** - Current value. - *float* **target** - Target value. - *float* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting value. ## float SmoothDamp ( float current , float target , float current_velocity , float smooth_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. Delta time is taken as [Game.IFps](../../../../api/library/engine/class.game_cs.md#IFps). ### Arguments - *float* **current** - Current value. - *float* **target** - Target value. - *float* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. ### Return value Resulting value. ## double SmoothDamp ( double current , double target , double current_velocity , double smooth_time , double max_speed , double delta_time ) Gradually changes a value towards a desired target over time. ### Arguments - *double* **current** - Current value. - *double* **target** - Target value. - *double* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *double* **smooth_time** - Time required for smooth damping of the transition speed. - *double* **max_speed** - Maximum possible speed of transition. - *double* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## double SmoothDamp ( double current , double target , double current_velocity , double smooth_time , double delta_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. ### Arguments - *double* **current** - Current value. - *double* **target** - Target value. - *double* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *double* **smooth_time** - Time required for smooth damping of the transition speed. - *double* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## double SmoothDamp ( double current , double target , double current_velocity , double smooth_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. Delta time is taken as [Game.IFps](../../../../api/library/engine/class.game_cs.md#IFps). ### Arguments - *double* **current** - Current value. - *double* **target** - Target value. - *double* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *double* **smooth_time** - Time required for smooth damping of the transition speed. ### Return value Resulting interpolated value. ## vec2 SmoothDamp ( vec2 current , vec2 target , vec2 current_velocity , float smooth_time , float max_speed , float delta_time ) Gradually changes a value towards a desired target over time. ### Arguments - *vec2* **current** - Current value. - *vec2* **target** - Target value. - *vec2* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **max_speed** - Maximum possible speed of transition. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## vec2 SmoothDamp ( vec2 current , vec2 target , vec2 current_velocity , float smooth_time , float delta_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. ### Arguments - *vec2* **current** - Current value. - *vec2* **target** - Target value. - *vec2* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## vec2 SmoothDamp ( vec2 current , vec2 target , vec2 current_velocity , float smooth_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. Delta time is taken as [Game.IFps](../../../../api/library/engine/class.game_cs.md#IFps). ### Arguments - *vec2* **current** - Current value. - *vec2* **target** - Target value. - *vec2* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. ### Return value Resulting interpolated value. ## vec3 SmoothDamp ( vec3 current , vec3 target , vec3 current_velocity , float smooth_time , float max_speed , float delta_time ) Gradually changes a value towards a desired target over time. ### Arguments - *vec3* **current** - Current value. - *vec3* **target** - Target value. - *vec3* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **max_speed** - Maximum possible speed of transition. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## vec3 SmoothDamp ( vec3 current , vec3 target , vec3 current_velocity , float smooth_time , float delta_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. ### Arguments - *vec3* **current** - Current value. - *vec3* **target** - Target value. - *vec3* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## vec3 SmoothDamp ( vec3 current , vec3 target , vec3 current_velocity , float smooth_time ) Gradually changes a value towards a desired target over time without any limitations of the transition speed. Delta time is taken as [Game.IFps](../../../../api/library/engine/class.game_cs.md#IFps). ### Arguments - *vec3* **current** - Current value. - *vec3* **target** - Target value. - *vec3* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. ### Return value Resulting interpolated value. ## float SmoothDampAngle ( float current , float target , float current_velocity , float smooth_time , float max_speed , float delta_time ) Gradually changes an angle value towards a desired target over time. ### Arguments - *float* **current** - Current angle value. - *float* **target** - Target angle value. - *float* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **max_speed** - Maximum possible speed of transition. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## float SmoothDampAngle ( float current , float target , float current_velocity , float smooth_time , float delta_time ) Gradually changes an angle value towards a desired target over time without any limitations of the transition speed. ### Arguments - *float* **current** - Current angle value. - *float* **target** - Target angle value. - *float* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. - *float* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## float SmoothDampAngle ( float current , float target , float current_velocity , float smooth_time ) Gradually changes an angle value towards a desired target over time without any limitations of the transition speed. Delta time is taken as [Game.IFps](../../../../api/library/engine/class.game_cs.md#IFps). ### Arguments - *float* **current** - Current angle value. - *float* **target** - Target angle value. - *float* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *float* **smooth_time** - Time required for smooth damping of the transition speed. ### Return value Resulting interpolated value. ## double SmoothDampAngle ( double current , double target , double current_velocity , double smooth_time , double max_speed , double delta_time ) Gradually changes an angle value towards a desired target over time. ### Arguments - *double* **current** - Current angle value. - *double* **target** - Target angle value. - *double* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *double* **smooth_time** - Time required for smooth damping of the transition speed. - *double* **max_speed** - Maximum possible speed of transition. - *double* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## double SmoothDampAngle ( double current , double target , double current_velocity , double smooth_time , double delta_time ) Gradually changes an angle value towards a desired target over time without any limitations of the transition speed. ### Arguments - *double* **current** - Current angle value. - *double* **target** - Target angle value. - *double* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *double* **smooth_time** - Time required for smooth damping of the transition speed. - *double* **delta_time** - The time since the last call of this method. ### Return value Resulting interpolated value. ## double SmoothDampAngle ( double current , double target , double current_velocity , double smooth_time ) Gradually changes an angle value towards a desired target over time without any limitations of the transition speed. Delta time is taken as [Game.IFps](../../../../api/library/engine/class.game_cs.md#IFps). ### Arguments - *double* **current** - Current angle value. - *double* **target** - Target angle value. - *double* **current_velocity** - Current velocity, the value modified by the function every time it is called. - *double* **smooth_time** - Time required for smooth damping of the transition speed. ### Return value Resulting interpolated value. ## float Gamma ( float value , float abs_max , float gamma ) Returns the argument raised to the power of the gamma value. ### Arguments - *float* **value** - Value. - *float* **abs_max** - Absolute of the maximum possible value. - *float* **gamma** - Gamma value. ### Return value Value raised to the power of gamma, or value itself, if it is more than abs_max. ## double Gamma ( double value , double abs_max , double gamma ) Returns the argument raised to the power of the gamma value. ### Arguments - *double* **value** - Value. - *double* **abs_max** - *double* **gamma** ### Return value Value raised to the power of gamma, or value itself, if it is more than abs_max. ## int SignMask ( int v ) Returns the sign of the argument value. ### Arguments - *int* **v** - Value. ### Return value 0 if the value is positive or zero, -1, if the value is negative. ## int Select ( int c , int v0 , int v1 ) Returns one of the two argument values (v0 and v1) based on the specified condition (c). This method is efficient for selecting between two values without branching, which can be beneficial in performance-critical code where branching might introduce overhead. ### Arguments - *int* **c** - Condition to be checked. - *int* **v0** - Value to be returned in case the condition is true (non-zero). - *int* **v1** - Value to be returned in case the condition is false (zero). ### Return value One of the two argument values (v0 and v1) based on the specified condition. ## float Select ( int c , float v0 , float v1 ) Returns one of the two argument values (v0 and v1) based on the specified condition (c). This method is efficient for selecting between two values without branching, which can be beneficial in performance-critical code where branching might introduce overhead. ### Arguments - *int* **c** - Condition to be checked. - *float* **v0** - Value to be returned in case the condition is true (non-zero). - *float* **v1** - Value to be returned in case the condition is false (zero). ### Return value One of the two argument values (v0 and v1) based on the specified condition. ## float Select ( float c , float v0 , float v1 ) Returns one of the two argument values (v0 and v1) based on the specified condition (c). This method is efficient for selecting between two values without branching, which can be beneficial in performance-critical code where branching might introduce overhead. ### Arguments - *float* **c** - Condition to be checked. - *float* **v0** - Value to be returned in case the condition is true (non-zero). - *float* **v1** - Value to be returned in case the condition is false (zero). ### Return value One of the two argument values (v0 and v1) based on the specified condition. ## int Npot ( int v ) Rounds up to the nearest power of two value. ### Arguments - *int* **v** - Argument value. ### Return value The nearest upper power of 2 number. ## bool IsPot ( int v ) Checks if the argument value is a power of two. Doesn't check the zero value. ### Arguments - *int* **v** - Argument value. ### Return value true if the value is a power of two; otherwise, false. ## int Isqrt ( int v ) Returns the integer square root of the argument value. ### Arguments - *int* **v** - Argument value. ### Return value Integer square root of the value. ## int UDiv ( int x , int y ) Performs integer division with rounding up. ### Arguments - *int* **x** - First argument. - *int* **y** - Second argument. ### Return value The rounded up quotient of two arguments that satisfies the following condition: *y* * *z* >= *x*. ## long BigMul ( int a , int b ) Returns the full product of two arguments. ### Arguments - *int* **a** - First argument. - *int* **b** - Second argument. ### Return value Product of two arguments. ## long BigMul ( long a , long b , long low ) Returns the full product of two arguments. ### Arguments - *long* **a** - First argument. - *long* **b** - Second argument. - *long* **low** - The low 64-bit of the product of the specified numbers. ### Return value The high 64-bit of the product of two arguments. ## ulong BigMul ( ulong a , ulong b , ulong low ) Returns the full product of two arguments. ### Arguments - *ulong* **a** - First argument. - *ulong* **b** - Second argument. - *ulong* **low** - The low 64-bit of the product of the specified numbers. ### Return value The high 64-bit of the product of two arguments. ## int DivRem ( int a , int b , int result ) Calculates the quotient of two arguments and returns the remainder in an output parameter. ### Arguments - *int* **a** - The dividend. - *int* **b** - The divisor, should not equal to 0. - *int* **result** - The remainder. ### Return value The quotient of the specified numbers. ## long DivRem ( long a , long b , long result ) Calculates the quotient of two arguments and returns the remainder in an output parameter. ### Arguments - *long* **a** - The dividend. - *long* **b** - The divisor, should not equal to 0. - *long* **result** - The remainder. ### Return value The quotient of the specified numbers. ## float BitDecrement ( float x ) Returns the next smallest value that compares less than argument. ### Arguments - *float* **x** - The value to decrement. ### Return value One of the following: - The next smallest value that compares less than x. - -inf if x equals -inf. - NaN if x equals NaN. ## double BitDecrement ( double x ) Returns the next smallest value that compares less than argument. ### Arguments - *double* **x** - The value to decrement. ### Return value One of the following: - The next smallest value that compares less than x. - -inf if x equals -inf. - NaN if x equals NaN. ## float BitIncrement ( float x ) Returns the next largest value that compares greater than argument. ### Arguments - *float* **x** - The value to increment. ### Return value One of the following: - The next largest value that compares greater than x. - inf if x equals inf. - NaN if x equals NaN. ## double BitIncrement ( double x ) Returns the next largest value that compares greater than argument. ### Arguments - *double* **x** - The value to increment. ### Return value One of the following: - The next largest value that compares greater than x. - inf if x equals inf. - NaN if x equals NaN. ## float Cbrt ( float x ) Returns the cube root of a specified argument. ### Arguments - *float* **x** - Value. ### Return value The cube root of x. ## double Cbrt ( double x ) Returns the cube root of a specified argument. ### Arguments - *double* **x** - Value. ### Return value The cube root of x. ## float CopySign ( float x , float y ) Returns a value with the magnitude of x and the sign of y. ### Arguments - *float* **x** - A number whose magnitude is used in the result. - *float* **y** - A number whose sign is the used in the result. ### Return value Value with the magnitude of x and the sign of y. ## double CopySign ( double x , double y ) Returns a value with the magnitude of x and the sign of y. ### Arguments - *double* **x** - A number whose magnitude is used in the result. - *double* **y** - A number whose sign is the used in the result. ### Return value Value with the magnitude of x and the sign of y. ## float FusedMultiplyAdd ( float x , float y , float z ) Returns (x * y) + z, rounded as one ternary operation. ### Arguments - *float* **x** - The number to be multiplied with y. - *float* **y** - The number to be multiplied with x. - *float* **z** - The number to be added to the result of x multiplied by y. ### Return value (x * y) + z, rounded as one ternary operation. ## float ILogB ( float x ) Returns the base 2 integer logarithm of a specified number. ### Arguments - *float* **x** - The number whose logarithm is to be found. ### Return value One of the values in the following table: | X parameter | Return value | |---|---| | Default | The base 2 integer log of x; that is, (int)log2(x). | | Zero | MinValue | | Equal to NaN, inf or -inf | MaxValue | ## double ILogB ( double x ) Returns the base 2 integer logarithm of a specified number. ### Arguments - *double* **x** - The number whose logarithm is to be found. ### Return value One of the values in the following table: | X parameter | Return value | |---|---| | Default | The base 2 integer log of x; that is, (int)log2(x). | | Zero | MinValue | | Equal to NaN, inf or -inf | MaxValue | ## float MaxMagnitude ( float x , float y ) Returns the larger magnitude of the two arguments. ### Arguments - *float* **x** - The first of two numbers to compare. - *float* **y** - The second of two numbers to compare. ### Return value Parameter x or y, whichever has the larger magnitude. If x, or y, or both x and y are equal to NaN, NaN is returned. ## double MaxMagnitude ( double x , double y ) Returns the larger magnitude of the two arguments. ### Arguments - *double* **x** - The first of two numbers to compare. - *double* **y** - The second of two numbers to compare. ### Return value Parameter x or y, whichever has the larger magnitude. If x, or y, or both x and y are equal to NaN, NaN is returned. ## float MinMagnitude ( float x , float y ) Returns the smaller magnitude of two arguments. ### Arguments - *float* **x** - The first of two numbers to compare. - *float* **y** - The second of two numbers to compare. ### Return value Parameter x or y, whichever has the smaller magnitude. If x, or y, or both x and y are equal to NaN, NaN is returned. ## double MinMagnitude ( double x , double y ) Returns the smaller magnitude of two arguments. ### Arguments - *double* **x** - The first of two numbers to compare. - *double* **y** - The second of two numbers to compare. ### Return value Parameter x or y, whichever has the smaller magnitude. If x, or y, or both x and y are equal to NaN, NaN is returned. ## float ScaleB ( float x , int n ) Returns x * 2^n computed efficiently. ### Arguments - *float* **x** - Base value. - *int* **n** - Power. ### Return value x * 2^n computed efficiently. ## double ScaleB ( double x , int n ) Returns x * 2^n computed efficiently. ### Arguments - *double* **x** - Base value. - *int* **n** - Power. ### Return value x * 2^n computed efficiently. ## float IEEERemainder ( float x , float y ) Returns the remainder resulting from the division of a specified number by another specified number. ### Arguments - *float* **x** - Dividend. - *float* **y** - Divisor. ### Return value A number equal to x - (y Q), where Q is the quotient of x / y rounded to the nearest integer (if x / y falls halfway between two integers, the even integer is returned). If x - (y Q) is zero, the value +0 is returned if x is positive, or -0 if x is negative. If y = 0, NaN is returned. ## double IEEERemainder ( double x , double y ) Returns the remainder resulting from the division of a specified number by another specified number. ### Arguments - *double* **x** - Dividend. - *double* **y** - Divisor. ### Return value A number equal to x - (y Q), where Q is the quotient of x / y rounded to the nearest integer (if x / y falls halfway between two integers, the even integer is returned). If x - (y Q) is zero, the value +0 is returned if x is positive, or -0 if x is negative. If y = 0, NaN is returned. ## vec4 BlueNoise ( int x , int y ) Returns a blue noise value for the given pixel coordinates. ### Arguments - *int* **x** - X coordinate of the pixel. - *int* **y** - Y coordinate of the pixel. ### Return value Blue noise value. ## float Trace ( mat2 m ) Returns the trace of the matrix. ### Arguments - *mat2* **m** - Matrix. ### Return value Trace of the matrix. ## float Trace ( mat3 m ) Returns the trace of the matrix. ### Arguments - *mat3* **m** - Matrix. ### Return value Trace of the matrix. ## float Trace ( mat4 m ) Returns the trace of the matrix. ### Arguments - *mat4* **m** - Matrix. ### Return value Trace of the matrix. ## float Determinant ( mat2 m ) Returns the determinant of the given matrix. ### Arguments - *mat2* **m** - Matrix. ### Return value Resulting *float* value. ## float Determinant ( mat3 m ) Returns the determinant of the given matrix. ### Arguments - *mat3* **m** - Matrix. ### Return value Resulting *float* value. ## float Determinant ( mat4 m ) Returns the determinant of the given matrix. ### Arguments - *mat4* **m** - Matrix. ### Return value Resulting *float* value. ## double Determinant ( dmat4 m ) Returns the determinant of the given matrix. ### Arguments - *dmat4* **m** - Matrix. ### Return value Resulting *double* value. ## mat2 Mul ( mat2 m , float v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat2* **m** - Matrix multiplier. - *float* **v** - A *float* multiplier. ### Return value Return value. ## vec2 Mul ( mat2 m , vec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat2* **m** - Matrix multiplier. - *vec2* **v** - Vector multiplier. ### Return value Return value. ## vec2 Mul ( vec2 v , mat2 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec2* **v** - Vector multiplier. - *mat2* **m** - Matrix multiplier. ### Return value Return value. ## dvec2 Mul ( mat2 m , dvec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat2* **m** - Matrix multiplier. - *dvec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul ( dvec2 v , mat2 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec2* **v** - Vector multiplier. - *mat2* **m** - Matrix multiplier. ### Return value Return value. ## mat2 Mul ( mat2 m0 , mat2 m1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat2* **m0** - Matrix multiplier. - *mat2* **m1** - Matrix multiplier. ### Return value Return value. ## mat3 Mul ( mat3 m , float v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat3* **m** - Matrix multiplier. - *float* **v** - A *float* multiplier. ### Return value Return value. ## vec2 Mul ( mat3 m , vec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat3* **m** - Matrix multiplier. - *vec2* **v** - Vector multiplier. ### Return value Return value. ## vec2 Mul ( vec2 v , mat3 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec2* **v** - Vector multiplier. - *mat3* **m** - Matrix multiplier. ### Return value Return value. ## vec3 Mul ( mat3 m , vec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat3* **m** - Matrix multiplier. - *vec3* **v** - Vector multiplier. ### Return value Return value. ## vec3 Mul ( vec3 v , mat3 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec3* **v** - Vector multiplier. - *mat3* **m** - Matrix multiplier. ### Return value Return value. ## dvec2 Mul ( mat3 m , dvec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat3* **m** - Matrix multiplier. - *dvec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul ( dvec2 v , mat3 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec2* **v** - Vector multiplier. - *mat3* **m** - Matrix multiplier. ### Return value Return value. ## dvec3 Mul ( mat3 m , dvec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat3* **m** - Matrix multiplier. - *dvec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul ( dvec3 v , mat3 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec3* **v** - Vector multiplier. - *mat3* **m** - Matrix multiplier. ### Return value Return value. ## mat3 Mul ( mat3 m0 , mat3 m1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat3* **m0** - Matrix multiplier. - *mat3* **m1** - Matrix multiplier. ### Return value Return value. ## mat4 Mul ( mat4 m , float v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *float* **v** - A *float* multiplier. ### Return value Return value. ## mat4 Mul ( mat4 m0 , mat4 m1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m0** - Matrix multiplier. - *mat4* **m1** - Matrix multiplier. ### Return value Return value. ## vec2 Mul ( mat4 m , vec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *vec2* **v** - Vector multiplier. ### Return value Return value. ## vec2 Mul ( vec2 v , mat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec2* **v** - Vector multiplier. - *mat4* **m** - Matrix multiplier. ### Return value Return value. ## vec3 Mul ( mat4 m , vec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *vec3* **v** - Vector multiplier. ### Return value Return value. ## vec3 Mul ( vec3 v , mat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec3* **v** - Vector multiplier. - *mat4* **m** - Matrix multiplier. ### Return value Return value. ## vec4 Mul ( mat4 m , vec4 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *vec4* **v** - Vector multiplier. ### Return value Return value. ## vec4 Mul ( vec4 v , mat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec4* **v** - Vector multiplier. - *mat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec2 Mul ( mat4 m , dvec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *dvec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul ( dvec2 v , mat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec2* **v** - Vector multiplier. - *mat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec3 Mul ( mat4 m , dvec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *dvec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul ( dvec3 v , mat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec3* **v** - Vector multiplier. - *mat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec4 Mul ( mat4 m , dvec4 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix multiplier. - *dvec4* **v** - Vector multiplier. ### Return value Return value. ## dvec4 Mul ( dvec4 v , mat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec4* **v** - Vector multiplier. - *mat4* **m** - Matrix multiplier. ### Return value Return value. ## dmat4 Mul ( dmat4 m , double v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *double* **v** - A *double* multiplier. ### Return value Return value. ## dmat4 Mul ( dmat4 m0 , dmat4 m1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m0** - Matrix multiplier. - *dmat4* **m1** - Matrix multiplier. ### Return value Return value. ## dvec2 Mul ( dmat4 m , vec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *vec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul ( vec2 v , dmat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec2* **v** - Vector multiplier. - *dmat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec3 Mul ( dmat4 m , vec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *vec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul ( vec3 v , dmat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec3* **v** - Vector multiplier. - *dmat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec4 Mul ( dmat4 m , vec4 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *vec4* **v** - Vector multiplier. ### Return value Return value. ## dvec4 Mul ( vec4 v , dmat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec4* **v** - Vector multiplier. - *dmat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec2 Mul ( dmat4 m , dvec2 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *dvec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul ( dvec2 v , dmat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec2* **v** - Vector multiplier. - *dmat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec3 Mul ( dmat4 m , dvec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *dvec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul ( dvec3 v , dmat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec3* **v** - Vector multiplier. - *dmat4* **m** - Matrix multiplier. ### Return value Return value. ## dvec4 Mul ( dmat4 m , dvec4 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix multiplier. - *dvec4* **v** - Vector multiplier. ### Return value Return value. ## dvec4 Mul ( dvec4 v , dmat4 m ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec4* **v** - Vector multiplier. - *dmat4* **m** - Matrix multiplier. ### Return value Return value. ## vec3 Mul ( quat q , vec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *quat* **q** - Quaternion. - *vec3* **v** - Vector multiplier. ### Return value Return value. ## vec3 Mul ( vec3 v , quat q ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec3* **v** - Vector multiplier. - *quat* **q** - Quaternion. ### Return value Return value. ## dvec3 Mul ( quat q , dvec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *quat* **q** - Quaternion. - *dvec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul ( dvec3 v , quat q ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec3* **v** - Vector multiplier. - *quat* **q** - Quaternion. ### Return value Return value. ## quat Mul ( quat q , float v ) Returns the result of multiplication of the specified arguments. ### Arguments - *quat* **q** - Quaternion. - *float* **v** - A *float* multiplier. ### Return value Return value. ## quat Mul ( quat q0 , quat q1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *quat* **q0** - Quaternion. - *quat* **q1** - Quaternion. ### Return value Return value. ## vec2 Mul ( vec2 v0 , vec2 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec2* **v0** - First vector multiplier. - *vec2* **v1** - Second vector multiplier. ### Return value Return value. ## vec3 Mul ( vec3 v0 , vec3 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec3* **v0** - First vector multiplier. - *vec3* **v1** - Second vector multiplier. ### Return value Return value. ## vec4 Mul ( vec4 v0 , vec4 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *vec4* **v0** - First vector multiplier. - *vec4* **v1** - Second vector multiplier. ### Return value Return value. ## dvec2 Mul ( dvec2 v0 , dvec2 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec2* **v0** - First vector multiplier. - *dvec2* **v1** - Second vector multiplier. ### Return value Return value. ## dvec3 Mul ( dvec3 v0 , dvec3 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec3* **v0** - First vector multiplier. - *dvec3* **v1** - Second vector multiplier. ### Return value Return value. ## dvec4 Mul ( dvec4 v0 , dvec4 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *dvec4* **v0** - First vector multiplier. - *dvec4* **v1** - Second vector multiplier. ### Return value Return value. ## ivec2 Mul ( ivec2 v0 , ivec2 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *ivec2* **v0** - First vector multiplier. - *ivec2* **v1** - Second vector multiplier. ### Return value Return value. ## ivec3 Mul ( ivec3 v0 , ivec3 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *ivec3* **v0** - First vector multiplier. - *ivec3* **v1** - Second vector multiplier. ### Return value Return value. ## ivec4 Mul ( ivec4 v0 , ivec4 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *ivec4* **v0** - First vector multiplier. - *ivec4* **v1** - Second vector multiplier. ### Return value Return value. ## Vector2 Mul ( Vector2 v0 , Vector2 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *Vector2* **v0** - First vector multiplier. - *Vector2* **v1** - Second vector multiplier. ### Return value Return value. ## Vector3 Mul ( Vector3 v0 , Vector3 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *Vector3* **v0** - First vector multiplier. - *Vector3* **v1** - Second vector multiplier. ### Return value Return value. ## Vector4 Mul ( Vector4 v0 , Vector4 v1 ) Returns the result of multiplication of the specified arguments. ### Arguments - *Vector4* **v0** - First vector multiplier. - *Vector4* **v1** - Second vector multiplier. ### Return value Return value. ## vec2 Mul3 ( mat4 m , vec2 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *vec2* **v** - Vector multiplier. ### Return value Return value. ## vec2 Mul3 ( vec2 v , mat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *vec2* **v** - Vector multiplier. - *mat4* **m** - Matrix. ### Return value Return value. ## vec3 Mul3 ( mat4 m , vec3 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *vec3* **v** - Vector multiplier. ### Return value Return value. ## vec3 Mul3 ( vec3 v , mat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *vec3* **v** - Vector multiplier. - *mat4* **m** - Matrix. ### Return value Return value. ## vec4 Mul3 ( mat4 m , vec4 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *vec4* **v** - Vector multiplier. ### Return value Return value. ## vec4 Mul3 ( vec4 v , mat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *vec4* **v** - Vector multiplier. - *mat4* **m** - Matrix. ### Return value Return value. ## dvec2 Mul3 ( mat4 m , dvec2 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *dvec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul3 ( dvec2 v , mat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dvec2* **v** - Vector multiplier. - *mat4* **m** - Matrix. ### Return value Return value. ## dvec3 Mul3 ( mat4 m , dvec3 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *dvec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul3 ( dvec3 v , mat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dvec3* **v** - Vector multiplier. - *mat4* **m** - Matrix. ### Return value Return value. ## dvec4 Mul3 ( mat4 m , dvec4 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *dvec4* **v** - Vector multiplier. ### Return value Return value. ## dvec4 Mul3 ( dvec4 v , mat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dvec4* **v** - Vector multiplier. - *mat4* **m** - Matrix. ### Return value Return value. ## mat4 Mul3 ( mat4 m0 , mat4 m1 ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *mat4* **m0** - Matrix. - *mat4* **m1** - Matrix. ### Return value Return value. ## dvec2 Mul3 ( dmat4 m , vec2 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *vec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul3 ( vec2 v , dmat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *vec2* **v** - Vector multiplier. - *dmat4* **m** - Matrix. ### Return value Return value. ## dvec3 Mul3 ( dmat4 m , vec3 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *vec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul3 ( vec3 v , dmat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *vec3* **v** - Vector multiplier. - *dmat4* **m** - Matrix. ### Return value Return value. ## dvec4 Mul3 ( dmat4 m , vec4 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *vec4* **v** - Vector multiplier. ### Return value Return value. ## dvec4 Mul3 ( vec4 v , dmat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *vec4* **v** - Vector multiplier. - *dmat4* **m** - Matrix. ### Return value Return value. ## dvec2 Mul3 ( dmat4 m , dvec2 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *dvec2* **v** - Vector multiplier. ### Return value Return value. ## dvec2 Mul3 ( dvec2 v , dmat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dvec2* **v** - Vector multiplier. - *dmat4* **m** - Matrix. ### Return value Return value. ## dvec3 Mul3 ( dmat4 m , dvec3 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *dvec3* **v** - Vector multiplier. ### Return value Return value. ## dvec3 Mul3 ( dvec3 v , dmat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dvec3* **v** - Vector multiplier. - *dmat4* **m** - Matrix. ### Return value Return value. ## dvec4 Mul3 ( dmat4 m , dvec4 v ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *dvec4* **v** - Vector multiplier. ### Return value Return value. ## dvec4 Mul3 ( dvec4 v , dmat4 m ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dvec4* **v** - Vector multiplier. - *dmat4* **m** - Matrix. ### Return value Return value. ## dmat4 Mul3 ( dmat4 m0 , dmat4 m1 ) Returns the result of multiplication of three components of the specified arguments. ### Arguments - *dmat4* **m0** - Matrix. - *dmat4* **m1** - Matrix. ### Return value Return value. ## mat4 Mul4 ( mat4 m0 , mat4 m1 ) Returns the result of multiplication of four components of the specified arguments. ### Arguments - *mat4* **m0** - Matrix. - *mat4* **m1** - Matrix. ### Return value Return value. ## dmat4 Mul4 ( dmat4 m0 , dmat4 m1 ) Returns the result of multiplication of four components of the specified arguments. ### Arguments - *dmat4* **m0** - Matrix. - *dmat4* **m1** - Matrix. ### Return value Return value. ## mat4 Mult ( mat4 m , vec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *mat4* **m** - Matrix. - *vec3* **v** - Vector. ### Return value Return matrix. ## dmat4 Mult ( dmat4 m , dvec3 v ) Returns the result of multiplication of the specified arguments. ### Arguments - *dmat4* **m** - Matrix. - *dvec3* **v** - Vector. ### Return value Return matrix. ## quat Div ( quat q , float v ) Returns the result of division of the specified arguments. ### Arguments - *quat* **q** - Quaternion. - *float* **v** - A *float* divisor value. ### Return value Return value. ## quat Div ( quat q0 , quat q1 ) Returns the result of division of the specified arguments. ### Arguments - *quat* **q0** - Dividend quaternion. - *quat* **q1** - Divisor quaternion. ### Return value Return value. ## vec2 Div ( vec2 v0 , vec2 v1 ) Returns the result of division of the specified arguments. ### Arguments - *vec2* **v0** - Dividend. - *vec2* **v1** - Divisor. ### Return value Return value. ## vec3 Div ( vec3 v0 , vec3 v1 ) Returns the result of division of the specified arguments. ### Arguments - *vec3* **v0** - Dividend. - *vec3* **v1** - Divisor. ### Return value Return value. ## vec4 Div ( vec4 v0 , vec4 v1 ) Returns the result of division of the specified arguments. ### Arguments - *vec4* **v0** - Dividend. - *vec4* **v1** - Divisor. ### Return value Return value. ## dvec2 Div ( dvec2 v0 , dvec2 v1 ) Returns the result of division of the specified arguments. ### Arguments - *dvec2* **v0** - Dividend. - *dvec2* **v1** - Divisor. ### Return value Return value. ## dvec3 Div ( dvec3 v0 , dvec3 v1 ) Returns the result of division of the specified arguments. ### Arguments - *dvec3* **v0** - Dividend. - *dvec3* **v1** - Divisor. ### Return value Return value. ## dvec4 Div ( dvec4 v0 , dvec4 v1 ) Returns the result of division of the specified arguments. ### Arguments - *dvec4* **v0** - Dividend. - *dvec4* **v1** - Divisor. ### Return value Return value. ## ivec2 Div ( ivec2 v0 , ivec2 v1 ) Returns the result of division of the specified arguments. ### Arguments - *ivec2* **v0** - Dividend. - *ivec2* **v1** - Divisor. ### Return value Return value. ## ivec3 Div ( ivec3 v0 , ivec3 v1 ) Returns the result of division of the specified arguments. ### Arguments - *ivec3* **v0** - Dividend. - *ivec3* **v1** - Divisor. ### Return value Return value. ## ivec4 Div ( ivec4 v0 , ivec4 v1 ) Returns the result of division of the specified arguments. ### Arguments - *ivec4* **v0** - Dividend. - *ivec4* **v1** - Divisor. ### Return value Return value. ## Vector2 Div ( Vector2 v0 , Vector2 v1 ) Returns the result of division of the specified arguments. ### Arguments - *Vector2* **v0** - Vector of 2 components. - *Vector2* **v1** - Vector of 2 components. ### Return value Return value. ## Vector3 Div ( Vector3 v0 , Vector3 v1 ) Returns the result of division of the specified arguments. ### Arguments - *Vector3* **v0** - Vector of 3 components. - *Vector3* **v1** - Vector of 3 components. ### Return value Return value. ## Vector4 Div ( Vector4 v0 , Vector4 v1 ) Returns the result of division of the specified arguments. ### Arguments - *Vector4* **v0** - Vector of 4 components. - *Vector4* **v1** - Vector of 4 components. ### Return value Return value. ## mat2 Add ( mat2 m0 , mat2 m1 ) Performs addition with the specified arguments. ### Arguments - *mat2* **m0** - First matrix. - *mat2* **m1** - Second matrix. ### Return value Return value. ## mat3 Add ( mat3 m0 , mat3 m1 ) Performs addition with the specified arguments. ### Arguments - *mat3* **m0** - First matrix. - *mat3* **m1** - Second matrix. ### Return value Return value. ## mat4 Add ( mat4 m0 , mat4 m1 ) Performs addition with the specified arguments. ### Arguments - *mat4* **m0** - First matrix. - *mat4* **m1** - Second matrix. ### Return value Return value. ## dmat4 Add ( dmat4 m0 , dmat4 m1 ) Performs addition with the specified arguments. ### Arguments - *dmat4* **m0** - First matrix. - *dmat4* **m1** - Second matrix. ### Return value Return value. ## quat Add ( quat q0 , quat q1 ) Performs addition with the specified arguments. ### Arguments - *quat* **q0** - First quaternion. - *quat* **q1** - First quaternion. ### Return value Return value. ## vec2 Add ( vec2 v0 , vec2 v1 ) Performs addition with the specified arguments. ### Arguments - *vec2* **v0** - First vector. - *vec2* **v1** - Second vector. ### Return value Return value. ## vec3 Add ( vec3 v0 , vec3 v1 ) Performs addition with the specified arguments. ### Arguments - *vec3* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Return value. ## vec4 Add ( vec4 v0 , vec4 v1 ) Performs addition with the specified arguments. ### Arguments - *vec4* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Return value. ## dvec2 Add ( dvec2 v0 , dvec2 v1 ) Performs addition with the specified arguments. ### Arguments - *dvec2* **v0** - First vector. - *dvec2* **v1** - Second vector. ### Return value Return value. ## dvec3 Add ( dvec3 v0 , dvec3 v1 ) Performs addition with the specified arguments. ### Arguments - *dvec3* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value Return value. ## dvec4 Add ( dvec4 v0 , dvec4 v1 ) Performs addition with the specified arguments. ### Arguments - *dvec4* **v0** - First vector. - *dvec4* **v1** - Second vector. ### Return value Return value. ## ivec2 Add ( ivec2 v0 , ivec2 v1 ) Performs addition with the specified arguments. ### Arguments - *ivec2* **v0** - First vector. - *ivec2* **v1** - Second vector. ### Return value Return value. ## ivec3 Add ( ivec3 v0 , ivec3 v1 ) Performs addition with the specified arguments. ### Arguments - *ivec3* **v0** - First vector. - *ivec3* **v1** - Second vector. ### Return value Return value. ## ivec4 Add ( ivec4 v0 , ivec4 v1 ) Performs addition with the specified arguments. ### Arguments - *ivec4* **v0** - First vector. - *ivec4* **v1** - Second vector. ### Return value Return value. ## Vector2 Add ( Vector2 v0 , Vector2 v1 ) Performs addition with the specified arguments. ### Arguments - *Vector2* **v0** - First vector. - *Vector2* **v1** - Second vector. ### Return value Return value. ## Vector3 Add ( Vector3 v0 , Vector3 v1 ) Performs addition with the specified arguments. ### Arguments - *Vector3* **v0** - First vector. - *Vector3* **v1** - Second vector. ### Return value Return value. ## Vector4 Add ( Vector4 v0 , Vector4 v1 ) Performs addition with the specified arguments. ### Arguments - *Vector4* **v0** - First vector. - *Vector4* **v1** - Second vector. ### Return value Return value. ## mat2 Sub ( mat2 m0 , mat2 m1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *mat2* **m0** - First matrix. - *mat2* **m1** - Second matrix. ### Return value Return value. ## mat3 Sub ( mat3 m0 , mat3 m1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *mat3* **m0** - First matrix. - *mat3* **m1** - Second matrix. ### Return value Return value. ## mat4 Sub ( mat4 m0 , mat4 m1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *mat4* **m0** - First matrix. - *mat4* **m1** - Second matrix. ### Return value Return value. ## dmat4 Sub ( dmat4 m0 , dmat4 m1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *dmat4* **m0** - First matrix. - *dmat4* **m1** - Second matrix. ### Return value Return value. ## quat Sub ( quat q0 , quat q1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *quat* **q0** - *quat* **q1** ### Return value Return value. ## vec2 Sub ( vec2 v0 , vec2 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *vec2* **v0** - First vector. - *vec2* **v1** - Second vector. ### Return value Return value. ## vec3 Sub ( vec3 v0 , vec3 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *vec3* **v0** - First vector. - *vec3* **v1** - Second vector. ### Return value Return value. ## vec4 Sub ( vec4 v0 , vec4 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *vec4* **v0** - First vector. - *vec4* **v1** - Second vector. ### Return value Return value. ## dvec2 Sub ( dvec2 v0 , dvec2 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *dvec2* **v0** - First vector. - *dvec2* **v1** - Second vector. ### Return value Return value. ## dvec3 Sub ( dvec3 v0 , dvec3 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *dvec3* **v0** - First vector. - *dvec3* **v1** - Second vector. ### Return value Return value. ## dvec4 Sub ( dvec4 v0 , dvec4 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *dvec4* **v0** - First vector. - *dvec4* **v1** - Second vector. ### Return value Return value. ## ivec2 Sub ( ivec2 v0 , ivec2 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *ivec2* **v0** - First vector. - *ivec2* **v1** - Second vector. ### Return value Return value. ## ivec3 Sub ( ivec3 v0 , ivec3 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *ivec3* **v0** - First vector. - *ivec3* **v1** - Second vector. ### Return value Return value. ## ivec4 Sub ( ivec4 v0 , ivec4 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *ivec4* **v0** - First vector. - *ivec4* **v1** - Second vector. ### Return value Return value. ## Vector2 Sub ( Vector2 v0 , Vector2 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *Vector2* **v0** - First vector. - *Vector2* **v1** - Second vector. ### Return value Return value. ## Vector3 Sub ( Vector3 v0 , Vector3 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *Vector3* **v0** - First vector. - *Vector3* **v1** - Second vector. ### Return value Return value. ## Vector4 Sub ( Vector4 v0 , Vector4 v1 ) Subtracts each element in the second argument from its corresponding element in the first argument. ### Arguments - *Vector4* **v0** - First vector. - *Vector4* **v1** - Second vector. ### Return value Return value. ## quat Mad ( quat q0 , float v , quat q1 ) Returns the result of multiplication of the first quaternion by the float value and addition of the second quaternion. ### Arguments - *quat* **q0** - First quaternion. - *float* **v** - Float value. - *quat* **q1** - Second quaternion. ### Return value Return value. ## vec3 Proj ( mat4 m , vec3 v ) Returns the vector projected to the matrix space. ### Arguments - *mat4* **m** - Matrix. - *vec3* **v** - Vector in global coordinates. ### Return value Vector in the matrix coordinates. ## vec4 Proj ( mat4 m , vec4 v ) Returns the vector projected to the matrix space. ### Arguments - *mat4* **m** - Matrix. - *vec4* **v** - Vector in global coordinates. ### Return value Vector in the matrix coordinates. ## dvec3 Proj ( mat4 m , dvec3 v ) Returns the vector projected to the matrix space. ### Arguments - *mat4* **m** - Matrix. - *dvec3* **v** - Vector in global coordinates. ### Return value Vector in the matrix coordinates. ## dvec4 Proj ( mat4 m , dvec4 v ) Returns the vector projected to the matrix space. ### Arguments - *mat4* **m** - Matrix. - *dvec4* **v** - Vector in global coordinates. ### Return value Vector in the matrix coordinates. ## mat4 Ortho ( float l , float r , float b , float t , float n , float f ) Returns parallel projection matrix: | 2.0 / (right - left) | 0.0 | 0.0 | -(right + left) / (right - left) | |---|---|---|---| | 0.0 | 2.0 / (top - bottom) | 0.0 | -(top + bottom) / (top - bottom) | | 0.0 | 0.0 | -2.0 / (zfar - znear) | -(zfar + znear) / (zfar - znear) | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *float* **l** - Left vertical clipping plane. - *float* **r** - Right vertical clipping plane. - *float* **b** - Bottom horizontal clipping plane. - *float* **t** - Top horizontal clipping plane. - *float* **n** - Nearest depth clipping plane. - *float* **f** - Farther depth clipping plane. ### Return value Parallel projection matrix. ## mat4 Frustum ( float l , float r , float b , float t , float n , float f ) Returns perspective projection matrix: | 2.0 * znear / (right - left) | 0.0 | (right + left) / (right - left) | 0.0 | |---|---|---|---| | 0.0 | 2.0 * znear / (top - bottom) | (top + bottom) / (top - bottom) | 0.0 | | 0.0 | 0.0 | -(zfar + znear) / (zfar - znear) | -2.0 * zfar * znear / (zfar - znear) | | 0.0 | 0.0 | -1.0 | 0.0 | Coordinates of top, left, right, bottom are set relatively to center point of the znear plane. ![](../frustum_desc.png) There are two different points (A and B) on the picture above. Since the top, left, right, bottom are coordinates relatively to the center point of the znear plane, coordinates of the A point should be *A(left, bottom, znear)*. Coordinates of the B point are *B(k * left, k * bottom, zfar)*, where *k = zfar/znear.* ### Arguments - *float* **l** - Left coordinate of the near clipping plane relatively to the center. - *float* **r** - Right coordinate of the near clipping plane relatively to the center. - *float* **b** - Bottom coordinate of the near clipping plane relatively to the center. - *float* **t** - Top coordinate of the near clipping plane relatively to the center. - *float* **n** - Distance to the near depth clipping plane. - *float* **f** - Distance to the farther depth clipping plane. ### Return value Perspective projection matrix. ## mat4 Perspective ( float fov , float aspect , float n , float f ) Returns perspective projection matrix. ### Arguments - *float* **fov** - Field of view angle. - *float* **aspect** - Aspect ratio. The aspect ratio is the ratio of width to height. - *float* **n** - Nearest depth clipping plane. - *float* **f** - Farther depth clipping plane. ### Return value Perspective projection matrix. ## bool IsPerspectiveProjection ( dmat4 projection ) Returns a value indicating if the specified projection matrix represents a perspective projection. ### Arguments - *dmat4* **projection** - Projection matrix. ### Return value true if there is the specified projection matrix represents a perspective projection, otherwise false. ## mat4 ObliqueProjection ( mat4 projection , vec4 plane ) Returns the oblique projection matrix for the specified projection matrix to account for the specified clipping plane. This type of projection is known as oblique projection because it "clips" objects based on an arbitrary plane in space, not necessarily aligned with the view frustum. This can be useful for advanced rendering techniques like reflections or stenciling, where you may want to clip the scene or reflect it across a specific plane. ### Arguments - *mat4* **projection** - Input projection matrix. - *vec4* **plane** - A 4D vector representing the equation of the clipping plane (a, b, c, d), the plane equation is ax + by + cz + d = 0. ### Return value Oblique projection matrix. ## mat4 ReverseDepthProjection ( mat4 projection ) Returns the reverse depth projection matrix � the projection matrix in which the elements that store the near and far clipping planes are multiplied by -1. ### Arguments - *mat4* **projection** - Projection matrix. ### Return value Reverse depth projection matrix. ## mat4 SymmetryProjection ( mat4 projection ) Returns a symmetric projection matrix for the specified input projection matrix. Symmetric projection ensures that the view frustum is symmetric about the x and y axes, based on the original frustum dimensions. This could be useful in cases where asymmetry in the projection matrix might cause issues, such as distortion in the rendered scene or when performing specific visual effects (e.g., mirroring or aligning views). The result is a projection matrix that maintains the same depth-related behavior as the original one but ensures symmetry in the x and y directions. ### Arguments - *mat4* **projection** - Input projection matrix. ### Return value Symmetric projection matrix. ## float DecomposePerspectiveFov ( mat4 projection ) Decomposes a given perspective projection matrix, extracting the field of view angle. ### Arguments - *mat4* **projection** - Perspective projection matrix. ### Return value Field of view angle. ## void DecomposeProjection ( mat4 projection , float znear , float zfar ) Decomposes a given projection matrix, extracting distances to near and far clipping planes. ### Arguments - *mat4* **projection** - Projection matrix. - *float* **znear** - Near clipping plane. - *float* **zfar** - Far clipping plane. ## void DecomposeProjection ( mat4 projection , float znear , float zfar , float fov ) Decomposes a given projection matrix, extracting distances to near and far clipping planes, and the field of view. ### Arguments - *mat4* **projection** - Projection matrix. - *float* **znear** - Near clipping plane. - *float* **zfar** - Far clipping plane. - *float* **fov** - Field of view. ## mat4 Reflect ( vec4 plane ) Returns reflection matrix about a given plane. ### Arguments - *vec4* **plane** - Reflection plane. ### Return value Reflection matrix. ## dmat4 Reflect ( dvec4 plane ) Returns reflection matrix about a given plane. ### Arguments - *dvec4* **plane** - Reflection plane. ### Return value Reflection matrix. ## mat2 Transpose ( mat2 m ) Transposes a given matrix. ### Arguments - *mat2* **m** - Matrix. ### Return value Transposed matrix. ## mat3 Transpose ( mat3 m ) Transposes a given matrix. ### Arguments - *mat3* **m** - Matrix. ### Return value Transposed matrix. ## mat4 Transpose ( mat4 m ) Transposes a given matrix. ### Arguments - *mat4* **m** - Matrix. ### Return value Transposed matrix. ## mat4 Transpose3 ( mat4 m ) Transposes the upper left 3�3 sub-matrix of a matrix.. ### Arguments - *mat4* **m** - Matrix. ### Return value Return value. ## mat3 Orthonormalize ( mat3 m ) Orthonormalizes a given matrix. ### Arguments - *mat3* **m** - Matrix. ### Return value Return value. ## mat4 Orthonormalize ( mat4 m ) Orthonormalizes a given matrix. ### Arguments - *mat4* **m** - Matrix. ### Return value Return value. ## dmat4 Orthonormalize ( dmat4 m ) Orthonormalizes a given matrix. ### Arguments - *dmat4* **m** - Matrix. ### Return value Return value. ## bool IsOrthoProjection ( dmat4 projection ) Returns a value indicating if the specified projection matrix represents an orthographic projection. ### Arguments - *dmat4* **projection** - Projection matrix. ### Return value true if there is the specified projection matrix represents an orthographic projection, otherwise false. ## mat2 Inverse ( mat2 m ) Returns inverse of a matrix. The inverse of a matrix is a matrix that if multiplied by the original would result in identity matrix: **AA-1 = A-1A = I**. ### Arguments - *mat2* **m** - Matrix. ### Return value Return value. ## mat3 Inverse ( mat3 m ) Returns inverse of a matrix. The inverse of a matrix is a matrix that if multiplied by the original would result in identity matrix: **AA-1 = A-1A = I**. ### Arguments - *mat3* **m** - Matrix. ### Return value Return value. ## mat4 Inverse ( mat4 m ) Returns inverse of a matrix. The inverse of a matrix is a matrix that if multiplied by the original would result in identity matrix: **AA-1 = A-1A = I**. ### Arguments - *mat4* **m** - Matrix. ### Return value Return value. ## dmat4 Inverse ( dmat4 m ) Returns inverse of a matrix. The inverse of a matrix is a matrix that if multiplied by the original would result in identity matrix: **AA-1 = A-1A = I**. ### Arguments - *dmat4* **m** - Matrix. ### Return value Return value. ## quat Inverse ( quat q ) Returns inverse of the quaternion. ### Arguments - *quat* **q** - Quaternion. ### Return value Return value. ## mat4 Inverse4 ( mat4 m ) Inverts a matrix that consists of a **3 � 4** sub-matrix (upper left) and a translation vector. The last row of the matrix is ignored. Compared to the *inverse()* function, this one is a bit faster and, which is more important, more stable. A matrix suitable for such inversion looks like this: | *m00* | *m10* | *m20* | *m30* | |---|---|---|---| | *m01* | *m11* | *m21* | *m31* | | *m02* | *m12* | *m22* | *m32* | | 0 | 0 | 0 | 1 | ### Arguments - *mat4* **m** - Matrix. ### Return value Return value. ## dmat4 Inverse4 ( dmat4 m ) Inverts a matrix that consists of a **3 � 4** sub-matrix (upper left) and a translation vector. The last row of the matrix is ignored. Compared to the *inverse()* function, this one is a bit faster and, which is more important, more stable. A matrix suitable for such inversion looks like this: | *m00* | *m10* | *m20* | *m30* | |---|---|---|---| | *m01* | *m11* | *m21* | *m31* | | *m02* | *m12* | *m22* | *m32* | | 0 | 0 | 0 | 1 | ### Arguments - *dmat4* **m** - Matrix. ### Return value Return value. ## mat2 Inverse ( mat2 m , float det ) Returns inverse of a matrix. The inverse of a matrix is a matrix that if multiplied by the original would result in identity matrix: **AA-1 = A-1A = I**. ### Arguments - *mat2* **m** - Matrix. - *float* **det** ### Return value Return value. ## mat3 Inverse ( mat3 m , float det ) Returns inverse of a matrix. The inverse of a matrix is a matrix that if multiplied by the original would result in identity matrix: **AA-1 = A-1A = I**. ### Arguments - *mat3* **m** - Matrix. - *float* **det** ### Return value Return value. ## quat Conjugate ( quat q ) Returns the conjugate of a given quaternion. ### Arguments - *quat* **q** - Quaternion. ### Return value Return value. ## mat4 Translate ( vec3 v ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *vec3* **v** - Translation vector. ### Return value Resulting translation matrix. ## mat4 Translate ( vec4 v ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *vec4* **v** - Translation vector. ### Return value Resulting translation matrix. ## mat4 Translate ( vec2 v ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *vec2* **v** - Translation vector. ### Return value Resulting translation matrix. ## mat4 Translate ( float x , float y = 0.0f , float z = 0.0f ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *float* **x** - X coordinate of the translation vector. - *float* **y** - Y coordinate of the translation vector. - *float* **z** - Z coordinate of the translation vector. ### Return value Resulting translation matrix. ## dmat4 Translate ( dvec3 v ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *dvec3* **v** - Translation vector. ### Return value Resulting translation matrix. ## dmat4 Translate ( dvec4 v ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *dvec4* **v** - Translation vector. ### Return value Resulting translation matrix. ## dmat4 Translate ( dvec2 v ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *dvec2* **v** - Translation vector. ### Return value Resulting translation matrix. ## dmat4 Translate ( double x , double y = 0.0 , double z = 0.0 ) Returns the translation matrix for the specified translation vector (X, Y, Z): | 1.0 | 0.0 | 0.0 | X | |---|---|---|---| | 0.0 | 1.0 | 0.0 | Y | | 0.0 | 0.0 | 1.0 | Z | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *double* **x** - X coordinate of the translation vector. - *double* **y** - Y coordinate of the translation vector. - *double* **z** - Z coordinate of the translation vector. ### Return value Resulting translation matrix. ## mat3 RotateX3 ( float angle ) Returns a resulting matrix for rotation around the X axis by the specified angle. The resulting matrix size for this method is **3 x 3**. ### Arguments - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat3 RotateY3 ( float angle ) Returns a resulting matrix for rotation around the Y axis by the specified angle. The resulting matrix size for this method is **3 x 3**. ### Arguments - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat3 RotateZ3 ( float angle ) Returns a resulting matrix for rotation around the Z axis by the specified angle. The resulting matrix size for this method is **3 x 3**. ### Arguments - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat4 RotateX ( float angle ) Returns a resulting matrix for rotation around the X axis by the specified angle. ### Arguments - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## dmat4 RotateX ( double angle ) Returns a resulting matrix for rotation around the X axis by the specified angle. ### Arguments - *double* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat4 RotateY ( float angle ) Returns a resulting matrix for rotation around the Y axis by the specified angle. ### Arguments - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## dmat4 RotateY ( double angle ) Returns a resulting matrix for rotation around the Y axis by the specified angle. ### Arguments - *double* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat4 RotateZ ( float angle ) Returns a resulting matrix for rotation around the Z axis by the specified angle. ### Arguments - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## dmat4 RotateZ ( double angle ) Returns a resulting matrix for rotation around the Z axis by the specified angle. ### Arguments - *double* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat3 Rotate3 ( vec3 axis , float angle ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. The resulting matrix size for this method is **3 x 3**. ### Arguments - *vec3* **axis** - Axis of rotation. - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat3 Rotate3 ( float x , float y , float z , float angle ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. The resulting matrix size for this method is **3 x 3**. ### Arguments - *float* **x** - X coordinate of the axis-vector. - *float* **y** - Y coordinate of the axis-vector. - *float* **z** - Z coordinate of the axis-vector. - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat3 Rotate3 ( quat q ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. The resulting matrix size for this method is **3 x 3**. ### Arguments - *quat* **q** - Quaternion. ### Return value Resulting rotation matrix. ## mat4 Rotate ( vec3 axis , float angle ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. ### Arguments - *vec3* **axis** - Axis of rotation. - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat4 Rotate ( float x , float y , float z , float angle ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. ### Arguments - *float* **x** - X coordinate of the axis-vector. - *float* **y** - Y coordinate of the axis-vector. - *float* **z** - Z coordinate of the axis-vector. - *float* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat4 Rotate ( quat q ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. ### Arguments - *quat* **q** - Quaternion. ### Return value Resulting rotation matrix. ## dmat4 Rotate ( dvec3 axis , double angle ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. ### Arguments - *dvec3* **axis** - Axis of rotation. - *double* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## dmat4 Rotate ( double x , double y , double z , double angle ) Returns a resulting matrix for rotation by the specified angle around the axis specified as a quaternion/vector/vector components. ### Arguments - *double* **x** - X coordinate of the axis-vector. - *double* **y** - Y coordinate of the axis-vector. - *double* **z** - Z coordinate of the axis-vector. - *double* **angle** - Angle, in degrees. ### Return value Resulting rotation matrix. ## mat4 Rotation ( mat4 m ) Returns the rotation matrix for the given source matrix ignoring the translation column. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *mat4* **m** - Matrix. ### Return value Return value. ## dmat4 Rotation ( dmat4 m ) Returns the rotation matrix for the given source matrix ignoring the translation column. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *dmat4* **m** - Matrix. ### Return value Return value. ## mat3 Scale3 ( float x , float y , float z ) Returns scaling matrix for the specified scaling vector (X, Y, Z): | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | Y | 0.0 | 0.0 | | 0.0 | 0.0 | Z | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | The resulting matrix size for this method is **3 x 3**. ### Arguments - *float* **x** - X coordinate of the vector. - *float* **y** - Y coordinate of the vector. - *float* **z** - Z coordinate of the vector. ### Return value Resulting scaling matrix. ## mat3 Scale3 ( vec3 v ) Returns scaling matrix for the specified scaling vector (X, Y, Z): | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | Y | 0.0 | 0.0 | | 0.0 | 0.0 | Z | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | The resulting matrix size for this method is **3 x 3**. ### Arguments - *vec3* **v** - Scaling vector. ### Return value Resulting scaling matrix. ## mat4 Scale ( float x , float y , float z ) Returns scaling matrix for the specified scaling vector (X, Y, Z): | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | Y | 0.0 | 0.0 | | 0.0 | 0.0 | Z | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *float* **x** - X coordinate of the vector. - *float* **y** - Y coordinate of the vector. - *float* **z** - Z coordinate of the vector. ### Return value Resulting scaling matrix. ## mat4 Scale ( float x ) Returns scaling matrix for the specified scaling value: | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | X | 0.0 | 0.0 | | 0.0 | 0.0 | X | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *float* **x** - Scale value. ### Return value Resulting scaling matrix. ## mat4 Scale ( vec3 v ) Returns scaling matrix for the specified scaling vector (X, Y, Z): | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | Y | 0.0 | 0.0 | | 0.0 | 0.0 | Z | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *vec3* **v** - Scale vector. ### Return value Resulting scaling matrix. ## dmat4 Scale ( double x , double y , double z ) Returns scaling matrix for the specified scaling values (X, Y, Z): | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | Y | 0.0 | 0.0 | | 0.0 | 0.0 | Z | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *double* **x** - Scale value. - *double* **y** - Scale value. - *double* **z** - Scale value. ### Return value Resulting scaling matrix. ## dmat4 Scale ( double x ) Returns scaling matrix for the specified scaling value: | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | X | 0.0 | 0.0 | | 0.0 | 0.0 | X | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *double* **x** - Scale value. ### Return value Resulting scaling matrix. ## dmat4 Scale ( dvec3 v ) Returns scaling matrix for the specified scaling vector (X, Y, Z): | X | 0.0 | 0.0 | 0.0 | |---|---|---|---| | 0.0 | Y | 0.0 | 0.0 | | 0.0 | 0.0 | Z | 0.0 | | 0.0 | 0.0 | 0.0 | 1.0 | ### Arguments - *dvec3* **v** - Scale vector. ### Return value Resulting scaling matrix. ## mat4 SetTo ( vec3 position , vec3 target , vec3 up , MathLib.AXIS axis_forward ) Returns the a transformation matrix, which puts an object to the specified position and sets it orientation to the specified target point. The forward direction vector is oriented along the specified axis (*negative Z*, by default). This function is similar to the [LookAt()](#LookAt_vec3_vec3_vec3_AXIS_mat4) function, but instead of creating a view matrix for a camera, it creates a model matrix for positioning and orienting an object. This can be used to position objects in world space, aligning them to look at a target while maintaining a specific orientation relative to the "up" direction. ### Arguments - *vec3* **position** - Coordinates of the eye point position. - *vec3* **target** - Coordinates of the target point position. - *vec3* **up** - Direction of the up vector. - *MathLib.AXIS* **axis_forward** - Axis along which the forward direction vector is oriented (which axis should face the target). One of the [AXIS.*](#AXIS) values (by default it's AXIS.NZ). ### Return value Transformation matrix. ## dmat4 SetTo ( dvec3 position , dvec3 target , vec3 up , MathLib.AXIS axis_forward ) Returns the a transformation matrix, which puts an object to the specified position and sets it orientation to the specified target point. The forward direction vector is oriented along the specified axis (*negative Z*, by default). This function is similar to the [LookAt()](#LookAt_dvec3_dvec3_vec3_AXIS_dmat4) function, but instead of creating a view matrix for a camera, it creates a model matrix for positioning and orienting an object. This can be used to position objects in world space, aligning them to look at a target while maintaining a specific orientation relative to the "up" direction. ### Arguments - *dvec3* **position** - Coordinates of the eye point position. - *dvec3* **target** - Coordinates of the target point position. - *vec3* **up** - Direction of the up vector. - *MathLib.AXIS* **axis_forward** - Axis along which the forward direction vector is oriented (which axis should face the target). One of the [AXIS.*](#AXIS) values (by default it's AXIS.NZ). ### Return value Transformation matrix. ## mat4 LookAt ( vec3 position , vec3 target , vec3 up , MathLib.AXIS axis_forward ) Returns a view matrix for the given eye point, target point, up and forward direction vectors. The forward direction vector is oriented along the specified axis (*negative Z*, by default). This function is used to create a view matrix that positions and orients a camera or object in 3D space to "look at" a given target point. ### Arguments - *vec3* **position** - Coordinates of the eye point position. - *vec3* **target** - Coordinates of the target point position. - *vec3* **up** - Direction of the up vector. - *MathLib.AXIS* **axis_forward** - Axis along which the forward direction vector is oriented (which axis should face the target). One of the [AXIS.*](#AXIS) values (by default it's AXIS.NZ). ### Return value Viewing matrix. ## dmat4 LookAt ( dvec3 position , dvec3 target , vec3 up , MathLib.AXIS axis_forward ) Returns a view matrix for the given eye point, target point, up and forward direction vectors. The forward direction vector is oriented along the specified axis (*negative Z*, by default). This function is used to create a view matrix that positions and orients a camera or object in 3D space to "look at" a given target point. ### Arguments - *dvec3* **position** - Coordinates of the eye point position. - *dvec3* **target** - Coordinates of the target point position. - *vec3* **up** - Direction of the up vector. - *MathLib.AXIS* **axis_forward** - Axis along which the forward direction vector is oriented (which axis should face the target). One of the [AXIS.*](#AXIS) values (by default it's AXIS.NZ). ### Return value Viewing matrix. ## mat4 CubeTransform ( int face ) Returns a transformation matrix (cube viewing matrix) for the specified face of a cube map. Cube maps are often used in rendering for environment mapping, reflection, or skyboxes. Each face of a cube map corresponds to one of the six directions: positive and negative X, Y, and Z axes. ### Arguments - *int* **face** - Face number, one of the following: 0 (X+), 1 (X-), 2 (Y+), 3 (Y-), 4 (Z+),5 (Z-). ### Return value Cube viewing matrix. ## mat3 Jacobi ( mat3 m , mat3 v ) Returns the Jacobian matrix for the given 3x3 matrix. ### Arguments - *mat3* **m** - Matrix, for which the Jacobian matrix is to be calculated. - *mat3* **v** - Output matrix, to which the calculated Jacobian matrix will be put. ### Return value Jacobian matrix. ## vec3 DecomposeRotationXYZ ( mat3 t ) Decomposes a given rotation matrix to the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **XYZ**. It is an order of the rings in the three-axis gimbal set: **Z** axis used as the outer ring (independent ring), while **X** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *mat3* **t** - Rotation matrix to decompose. ### Return value Vector, containing Euler angles, in degrees (**XYZ**). ## vec3 DecomposeRotationXZY ( mat3 t ) Decomposes a given rotation matrix to the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **XZY**. It is an order of the rings in the three-axis gimbal set: **Z** axis used as the outer ring (independent ring), while **X** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *mat3* **t** - Rotation matrix to decompose. ### Return value Vector, containing Euler angles, in degrees (**XZY**). ## vec3 DecomposeRotationYXZ ( mat3 t ) Decomposes a given rotation matrix to the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **YXZ**. It is an order of the rings in the three-axis gimbal set: **Z** axis used as the outer ring (independent ring), while **X** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *mat3* **t** - Rotation matrix to decompose. ### Return value Vector, containing Euler angles, in degrees (**YXZ**). ## vec3 DecomposeRotationYZX ( mat3 t ) Decomposes a given rotation matrix to the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **YZX**. It is an order of the rings in the three-axis gimbal set: **Z** axis used as the outer ring (independent ring), while **X** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *mat3* **t** - Rotation matrix to decompose. ### Return value Vector, containing Euler angles, in degrees (**YZX**). ## vec3 DecomposeRotationZXY ( mat3 t ) Decomposes a given rotation matrix to the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **ZXY**. It is an order of the rings in the three-axis gimbal set: **Z** axis used as the outer ring (independent ring), while **X** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *mat3* **t** - Rotation matrix to decompose. ### Return value Vector, containing Euler angles, in degrees (**ZXY**). ## vec3 DecomposeRotationZYX ( mat3 t ) Decomposes a given rotation matrix to the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **ZYX**. It is an order of the rings in the three-axis gimbal set: **Z** axis used as the outer ring (independent ring), while **X** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *mat3* **t** - Rotation matrix to decompose. ### Return value Vector, containing Euler angles, in degrees (**ZYX**). ## void DecomposeTransform ( mat4 m , quat q0 , quat q1 , vec3 scale ) Decomposes a given transformation matrix into a vector representing translation and uniform scale and a quaternion representing rotation. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *mat4* **m** - Transformation matrix to be decomposed. - *quat* **q0** - Quaternion representing a real part of the dual quaternion. - *quat* **q1** - Quaternion representing a dual part of the dual quaternion. - *vec3* **scale** - Scale part of the transformation. ## void DecomposeTransform ( mat4 m , vec3 position , quat rot , vec3 scale ) Decomposes a given transformation matrix into translation, rotation and scale components. ### Arguments - *mat4* **m** - Transformation matrix to be decomposed. - *vec3* **position** - Output vector, to which the translation component of the transformation will be put. - *quat* **rot** - Output quaternion, to which the rotation component of the transformation will be put. - *vec3* **scale** - Output vector, to which the scale component of the transformation will be put. ## void DecomposeTransform ( mat4 m , vec4 position , quat rot ) Decomposes a given transformation matrix into a vector representing translation and uniform scale and a quaternion representing rotation. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *mat4* **m** - Transformation matrix to be decomposed. - *vec4* **position** - Output vector (X, Y, Z, W), to which translation and scale components of the transformation will be put. (X, Y, Z) - represent translation, W = (scale.X + scale.Y + scale.z) / 3. - *quat* **rot** - Output quaternion, to which the rotation component of the transformation will pe put. ## void DecomposeTransform ( dmat4 m , dvec3 position , quat rot , vec3 scale ) Decomposes a given transformation matrix into a vector representing translation and uniform scale and a quaternion representing rotation. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *dmat4* **m** - Transformation matrix to be decomposed. - *dvec3* **position** - Output vector, to which the translation component of the transformation will be put. - *quat* **rot** - Output quaternion, to which the rotation component of the transformation will be put. - *vec3* **scale** - Output vector, to which the scale component of the transformation will be put. ## mat4 ComposeRotationXYZ ( vec3 r ) Composes a rotation matrix from the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **XYZ**. It is an order of the rings in the three-axis gimbal set: **X** axis used as the outer ring (independent ring), while **Z** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *vec3* **r** - Vector, containing Euler angles, in degrees - (yaw, roll, pitch). ### Return value Composed rotation matrix. ## mat4 ComposeRotationXZY ( vec3 r ) Composes a rotation matrix from the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **XZY**. It is an order of the rings in the three-axis gimbal set: **X** axis used as the outer ring (independent ring), while **Z** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *vec3* **r** - Vector, containing Euler angles, in degrees - (yaw, roll, pitch). ### Return value Composed rotation matrix. ## mat4 ComposeRotationYXZ ( vec3 r ) Composes a rotation matrix from the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **YXZ**. It is an order of the rings in the three-axis gimbal set: **X** axis used as the outer ring (independent ring), while **Z** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *vec3* **r** - Vector, containing Euler angles, in degrees - (yaw, roll, pitch). ### Return value Composed rotation matrix. ## mat4 ComposeRotationYZX ( vec3 r ) Composes a rotation matrix from the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **YZX**. It is an order of the rings in the three-axis gimbal set: **X** axis used as the outer ring (independent ring), while **Z** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *vec3* **r** - Vector, containing Euler angles, in degrees - (yaw, roll, pitch). ### Return value Composed rotation matrix. ## mat4 ComposeRotationZXY ( vec3 r ) Composes a rotation matrix from the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **ZXY**. It is an order of the rings in the three-axis gimbal set: **X** axis used as the outer ring (independent ring), while **Z** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *vec3* **r** - Vector, containing Euler angles, in degrees - (yaw, roll, pitch). ### Return value Composed rotation matrix. ## mat4 ComposeRotationZYX ( vec3 r ) Composes a rotation matrix from the corresponding Euler angles. The Euler angles are specified in the axis rotation sequence - **ZYX**. It is an order of the rings in the three-axis gimbal set: **X** axis used as the outer ring (independent ring), while **Z** axis as the inner one (its rotation depends on other 2 rings). When we talk about axes in UNIGINE we assume that: - **X** axis points to the *right* giving us a **pitch** angle. - **Y** axis points *forward* giving us a **roll** angle. - **Z** axis points *up* giving us a **yaw** (heading) angle. > **Notice:** Players have a different coordinate system: > > > - **X** axis points to the *right* giving us a **pitch** angle. > - **Y** axis points *up* giving us a **yaw** (heading) angle. > - **Z** axis points *backward* giving us a **-roll** angle. ### Arguments - *vec3* **r** - Vector, containing Euler angles, in degrees - (yaw, roll, pitch). ### Return value Composed rotation matrix. ## mat4 ComposeTransform ( quat q0 , quat q1 , vec3 scale ) Returns the transformation matrix for the specified position, rotation and scale. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *quat* **q0** - *quat* **q1** - *vec3* **scale** - Scaling vector (**scale.x, scale.y, scale.z**). ### Return value Return value. ## mat4 ComposeTransform ( vec3 position , quat rot , vec3 scale ) Returns the transformation matrix for the specified position, rotation and scale. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *vec3* **position** - Position coordinates (translation). - *quat* **rot** - Quaternion representing rotation. - *vec3* **scale** - Scaling vector (**scale.x, scale.y, scale.z**). ### Return value Return value. ## mat4 ComposeTransform ( vec4 position , quat rot ) Returns the transformation matrix for the specified position and rotation. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *vec4* **position** - Position coordinates (translation). - *quat* **rot** - Quaternion representing rotation. ### Return value Return value. ## dmat4 ComposeTransform ( dvec3 position , quat rot , vec3 scale ) Returns the transformation matrix for the specified position, rotation and scale. For more information see [Matrix Transformations](../../../../code/fundamentals/matrix_transformations/index_cs.md). ### Arguments - *dvec3* **position** - Position coordinates (translation). - *quat* **rot** - Quaternion representing rotation. - *vec3* **scale** - Scaling vector (**scale.x, scale.y, scale.z**). ### Return value Return value. ## uint RandUInt ( ) Returns a random *uint* value. ### Return value Random *uint* value. ## int RandInt ( ) Returns a random *int* value. ### Return value Random *int* value. ## ulong RandULong ( ) Returns a random *ulong* value. ### Return value Random *ulong* value. ## long RandLong ( ) Returns a random *long* value. ### Return value Random *long* value. ## float RandFloat ( ) Returns a random *float* value. ### Return value Random *float* value. ## double RandDouble ( ) Returns a random *double* value. ### Return value Random *double* value. ## float RandInt ( int from , int to ) Returns a random *float* value within the set interval. ### Arguments - *int* **from** - From value (beginning of the range). - *int* **to** - To value (end of the range). ### Return value Random *float* value. ## float RandFloat ( float from , float to ) Returns a random *float* value within the set interval. ### Arguments - *float* **from** - From value (beginning of the range). - *float* **to** - To value (end of the range). ### Return value Resulting *float* value. ## double RandDouble ( double from , double to ) Returns a random *double* value within the set interval. ### Arguments - *double* **from** - From value (beginning of the range). - *double* **to** - To value (end of the range). ### Return value Resulting *double* value. ## vec2 RandVec2 ( vec2 from , vec2 to ) Returns a random *vec2* value within the set interval. ### Arguments - *vec2* **from** - From value (beginning of the range). - *vec2* **to** - To value (end of the range). ### Return value Return value. ## vec3 RandVec3 ( vec3 from , vec3 to ) Returns a random *vec3* value within the set interval. ### Arguments - *vec3* **from** - From value (beginning of the range). - *vec3* **to** - To value (end of the range). ### Return value Return value. ## vec4 RandVec4 ( vec4 from , vec4 to ) Returns a random *vec4* value within the set interval. ### Arguments - *vec4* **from** - From value (beginning of the range). - *vec4* **to** - To value (end of the range). ### Return value Return value. ## float RandFixedFloat ( ) Returns a random *float* value within the interval (0.0f, 1.0f). ### Return value Resulting *float* value. ## double RandFixedDouble ( ) Returns a random *double* value within the interval (0.0, 1.0). ### Return value Resulting *double* value. ## vec4 RandColor ( ) Returns a random color vector. **X, Y, Z** values of the color vector are random values, **W** value is equal to 1.0f. ### Return value Random color vector. ## vec3 RandDirection ( ) Returns a random normalized direction vector. ### Return value Random direction vector. ## int ShiftAndWrap ( int value , int positions ) Shifts the successive fields of the argument value to the specified number of positions and wraps around the bits that are shifted beyond the value bits, instead of discarding them. ### Arguments - *int* **value** - Value. - *int* **positions** - Number of bits to shift the value to the left. ### Return value Resulting *int* value. ## int GetHashCode ( T[] list ) Returns a composite hash code generated for a given array of elements of type T. It combines the individual hash codes of the elements in the array using bitwise operations. ### Arguments - *T[]* **list** - Array of elements to generate a composite hash for. ### Return value Resulting *int* value. ## FloatTransform Inverse ( FloatTransform t ) Returns the inverse of the given FloatTransform. ### Arguments - *FloatTransform* **t** - Source transform. ### Return value Inverse of the transform. ## DoubleTransform Inverse ( DoubleTransform t ) Returns the inverse of the given DoubleTransform. ### Arguments - *DoubleTransform* **t** - Source transform. ### Return value Inverse of the transform. ## FloatTransform Mul ( FloatTransform t0 , FloatTransform t1 ) Combines two FloatTransform values by composing their components independently: scales are multiplied component-wise, rotations are composed as quaternions, and positions are accumulated taking parent scale and rotation into account. ### Arguments - *FloatTransform* **t0** - Parent transform. - *FloatTransform* **t1** - Child transform. ### Return value Combined transform. ## vec3 Mul ( FloatTransform t , vec3 v ) Applies a FloatTransform to a vec3 point: scales and rotates the point, then adds the transform position. ### Arguments - *FloatTransform* **t** - Transform to apply. - *vec3* **v** - Point to transform. ### Return value Transformed point. ## dvec3 Mul ( FloatTransform t , dvec3 v ) Applies a FloatTransform to a dvec3 point. ### Arguments - *FloatTransform* **t** - Transform to apply. - *dvec3* **v** - Point to transform. ### Return value Transformed point. ## DoubleTransform Mul ( DoubleTransform t0 , DoubleTransform t1 ) Combines two DoubleTransform values. Position arithmetic is performed in double precision. ### Arguments - *DoubleTransform* **t0** - Parent transform. - *DoubleTransform* **t1** - Child transform. ### Return value Combined transform. ## vec3 Mul ( DoubleTransform t , vec3 v ) Applies a DoubleTransform to a vec3 point. The result is returned as float precision. ### Arguments - *DoubleTransform* **t** - Transform to apply. - *vec3* **v** - Point to transform. ### Return value Transformed point (float precision). ## dvec3 Mul ( DoubleTransform t , dvec3 v ) Applies a DoubleTransform to a dvec3 point in full double precision. ### Arguments - *DoubleTransform* **t** - Transform to apply. - *dvec3* **v** - Point to transform. ### Return value Transformed point in double precision. ## FloatTransform BlendTransform ( FloatTransform t0 , FloatTransform t1 , float k ) Interpolates between two FloatTransform values. Position and scale are linearly interpolated; rotation is interpolated using spherical linear interpolation (slerp). ### Arguments - *FloatTransform* **t0** - Start transform. - *FloatTransform* **t1** - End transform. - *float* **k** - Interpolation factor in the [0, 1] range. ### Return value Interpolated transform. ## DoubleTransform BlendTransform ( DoubleTransform t0 , DoubleTransform t1 , float k ) Interpolates between two DoubleTransform values. Position and scale are linearly interpolated; rotation is interpolated using spherical linear interpolation (slerp). ### Arguments - *DoubleTransform* **t0** - Start transform. - *DoubleTransform* **t1** - End transform. - *float* **k** - Interpolation factor in the [0, 1] range. ### Return value Interpolated transform. ## vec3 GetWeightedAverage ( List points , List normalizedWeights ) Returns the weighted average of a list of vec3 points using the given normalized weights. The weights must be normalized (sum to 1), such as those produced by Blend1DWeights() or Blend2DCartesianWeights(). ### Arguments - *List* **points** - List of points. - *List* **normalizedWeights** - List of normalized weights. Must sum to 1. ### Return value Weighted average position. ## quat getWeightedAverage ( List rotations , List normalizedWeights ) Returns the weighted average of a list of quat rotations using the given normalized weights. Rotations are accumulated using sequential slerp, weighted by each element's contribution relative to the running total. ### Arguments - *List* **rotations** - List of rotations. - *List* **normalizedWeights** - List of normalized weights. Must sum to 1. ### Return value Weighted average rotation. ## void Blend1DWeights ( float blendPoint , List sortedPoints , out List outNormalizedWeights ) Computes normalized blend weights for a set of 1D points and writes them to the output list. Points must be sorted in ascending order. If the query point lies outside the range, full weight is assigned to the nearest endpoint. ### Arguments - *float* **blendPoint** - The query position on the 1D axis. - *List* **sortedPoints** - List of positions sorted in ascending order. - *out List* **outNormalizedWeights** - Output list that receives the normalized weight for each point. ## void Blend2DCartesianWeights ( vec2 blendPoint , List points , out List outNormalizedWeights ) Computes normalized blend weights for a set of 2D points in Cartesian coordinates using Gradient Band Interpolation. Suitable for blend spaces where directions are spread across a flat 2D plane. ### Arguments - *vec2* **blendPoint** - The 2D query position. - *List* **points** - List of 2D positions. - *out List* **outNormalizedWeights** - Output list that receives the normalized weight for each point. ## void Blend2DPolarWeights ( vec2 blendPoint , List points , out List outNormalizedWeights ) Computes normalized blend weights for a set of 2D points in polar coordinates using Gradient Band Interpolation. Suitable for directional blend spaces such as locomotion (speed and direction). ### Arguments - *vec2* **blendPoint** - The 2D query position. - *List* **points** - List of 2D positions. - *out List* **outNormalizedWeights** - Output list that receives the normalized weight for each point.