Math Common Functions
Header: | #include <UnigineMathLib.h> |
Math Class
Enums
AXIS#
Name | Description |
---|---|
AXIS_X = = 0 | Positive X axis. |
AXIS_Y = = 1 | Positive Y axis. |
AXIS_Z = = 2 | Positive Z axis. |
AXIS_NX = = 3 | Negative X axis. |
AXIS_NY = = 4 | Negative Y axis. |
AXIS_NZ = = 5 | Negative Z axis. |
Members
float abs ( float v ) #
Returns the absolute value of the argument.Arguments
- float v - Float value.
Return value
Absolute value.double abs ( double v ) #
Returns the absolute value of the argument.Arguments
- double v - Value.
Return value
Absolute value.int abs ( int v ) #
Returns the absolute value of the argument.Arguments
- int v - Value.
Return value
Absolute value.long long abs ( long long v ) #
Returns the absolute value of the argument.Arguments
- long long v - Value.
Return value
Absolute value.vec2 abs ( vec2 v ) #
Returns the absolute values of the vector components.Arguments
- vec2 v - Source vector.
Return value
Vector with absolute values.vec3 abs ( vec3 v ) #
Returns the absolute values of the vector components.Arguments
- vec3 v - Source vector.
Return value
Vector with absolute values.vec4 abs ( vec4 v ) #
Returns the absolute values of the vector components.Arguments
- vec4 v - Source vector.
Return value
Vector with absolute values.dvec2 abs ( dvec2 v ) #
Returns the absolute values of the vector components.Arguments
- dvec2 v - Source vector.
Return value
Vector with absolute values.dvec3 abs ( dvec3 v ) #
Returns the absolute values of the vector components.Arguments
- dvec3 v - Source vector.
Return value
Vector with absolute values.dvec4 abs ( dvec4 v ) #
Returns the absolute values of the vector components.Arguments
- dvec4 v - Source vector.
Return value
Vector with absolute values.ivec2 abs ( ivec2 v ) #
Returns the absolute values of the vector components.Arguments
- ivec2 v - Source vector.
Return value
Vector with absolute values.ivec3 abs ( ivec3 v ) #
Returns the absolute values of the vector components.Arguments
- ivec3 v - Source vector.
Return value
Vector with absolute values.ivec4 abs ( ivec4 v ) #
Returns the absolute values of the vector components.Arguments
- ivec4 v - Source vector.
Return value
Vector with absolute values.float bezier ( const float * t, const float * v, float time ) #
Calculates the value of a cubic Bezier function for t = time.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
- const float * t - Coordinates of the four points of the curve along the horizontal T (times) axis in the range [0.0f, 1.0f].
- const float * v - 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 ( const float * t, const double * v, float time ) #
Calculates the value of a cubic Bezier function for t = time.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
- const float * t - Coordinates of the four points of the curve along the horizontal T (times) axis in the range [0.0f, 1.0f].
- const double * v - 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.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 ceil ( float v ) #
Ceiling function that returns the smallest integer value that is not less than the argument.float a = ceil(3.141593); // a = 4.0
Arguments
- float v - Argument.
Return value
Smallest integer value not less than v.double ceil ( double v ) #
Ceiling function that returns the smallest integer value that is not less than the argument.double a = ceil(3.141593); // a = 4.0
Arguments
- double v - Argument.
Return value
Smallest integer value not less than v.const vec2 & ceil ( const vec2 & v ) #
Ceiling function that returns the vector storing the smallest integer values that are not less than the argument.Arguments
- const vec2 & v - Vector storing values.
Return value
Vector storing the smallest integer values not less than v.const vec3 & ceil ( const vec3 & v ) #
Ceiling function that returns the vector storing the smallest integer values that are not less than the argument.Arguments
- const vec3 & v - Vector storing values.
Return value
Vector storing the smallest integer values not less than v.const vec4 & ceil ( const vec4 & v ) #
Ceiling function that returns the vector storing the smallest integer values that are not less than the argument.Arguments
- const vec4 & v - Vector storing values.
Return value
Vector storing the smallest integer values not less than v.const dvec2 & ceil ( const dvec2 & v ) #
Ceiling function that returns the vector storing the smallest integer values that are not less than the argument.Arguments
- const dvec2 & v - Vector storing values.
Return value
Vector storing the smallest integer values not less than v.const dvec3 & ceil ( const dvec3 & v ) #
Ceiling function that returns the vector storing the smallest integer values that are not less than the argument.Arguments
- const dvec3 & v - Vector storing values.
Return value
Vector storing the smallest integer values not less than v.const dvec4 & ceil ( const dvec4 & v ) #
Ceiling function that returns the vector storing the smallest integer values that are not less than the argument.Arguments
- const dvec4 & v - Vector storing values.
Return value
Vector storing the smallest integer values not less than v.double changeRange ( double value, const dvec4 & range ) #
Transforms the value from the source range to the corresponding value within target range.Arguments
- double value - The value within the source range.
- const dvec4 & range - The vector containing 4 values: values X and Y define the source range, values Z and W define the target range.
Return value
The value within the target range.double clamp ( double v, double v0, double v1 ) #
Clamps a value within the specified min and max limits.Arguments
- double v - Value to be clamped.
- double v0 - Minimum value.
- double v1 - Maximum value.
Return value
Clamped value.float clamp ( float v, float v0, float v1 ) #
Clamps a value within the specified min and max limits.Arguments
- float v - Value to be clamped.
- float v0 - Minimum value.
- float v1 - Maximum value.
Return value
Clamped value.int clamp ( int v, int v0, int v1 ) #
Clamps a value within the specified min and max limits.Arguments
- int v - Value to be clamped.
- int v0 - Minimum value.
- int v1 - Maximum value.
Return value
Clamped value.char clamp ( char v, char v0, char v1 ) #
Clamps a value within the specified min and max limits.Arguments
- char v - Value to be clamped.
- char v0 - Minimum value.
- char v1 - Maximum value.
Return value
Clamped value.long long clamp ( long long v, long long v0, long long v1 ) #
Clamps a value within the specified min and max limits.Arguments
- long long v - Value to be clamped.
- long long v0 - Minimum value.
- long long v1 - Maximum value.
Return value
Clamped value.dvec2 clamp ( const dvec2 & v, const dvec2 & v0, const dvec2 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const dvec2 & v - Value to be clamped.
- const dvec2 & v0 - Minimum value.
- const dvec2 & v1 - Maximum value.
Return value
Clamped value.ivec2 clamp ( const ivec2 & v, const ivec2 & v0, const ivec2 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
Return value
Clamped value.vec2 clamp ( const vec2 & v, const vec2 & v0, const vec2 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const vec2 & v - Value to be clamped.
- const vec2 & v0 - Minimum value.
- const vec2 & v1 - Maximum value.
Return value
Clamped value.dvec3 clamp ( const dvec3 & v, const dvec3 & v0, const dvec3 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const dvec3 & v - Value to be clamped.
- const dvec3 & v0 - Minimum value.
- const dvec3 & v1 - Maximum value.
Return value
Clamped value.ivec3 clamp ( const ivec3 & v, const ivec3 & v0, const ivec3 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const ivec3 & v - Value to be clamped.
- const ivec3 & v0 - Minimum value.
- const ivec3 & v1 - Maximum value.
Return value
Clamped value.vec3 clamp ( const vec3 & v, const vec3 & v0, const vec3 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const vec3 & v - Value to be clamped.
- const vec3 & v0 - Minimum value.
- const vec3 & v1 - Maximum value.
Return value
Clamped value.bvec4 clamp ( const bvec4 & v, const bvec4 & v0, const bvec4 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const bvec4 & v - Value to be clamped.
- const bvec4 & v0 - Minimum value.
- const bvec4 & v1 - Maximum value.
Return value
Clamped value.dvec4 clamp ( const dvec4 & v, const dvec4 & v0, const dvec4 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const dvec4 & v - Value to be clamped.
- const dvec4 & v0 - Minimum value.
- const dvec4 & v1 - Maximum value.
Return value
Clamped value.ivec4 clamp ( const ivec4 & v, const ivec4 & v0, const ivec4 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const ivec4 & v - Value to be clamped.
- const ivec4 & v0 - Minimum value.
- const ivec4 & v1 - Maximum value.
Return value
Clamped value.vec4 clamp ( const vec4 & v, const vec4 & v0, const vec4 & v1 ) #
Clamps a value within the specified min and max limits.Arguments
- const vec4 & v - Value to be clamped.
- const vec4 & v0 - Minimum value.
- const vec4 & v1 - Maximum value.
Return value
Clamped value.Type clamp ( Type v, Type v0, Type v1 ) #
Clamps the value within the specified min and max limits.Arguments
- Type v - Value to be clamped.
- Type v0 - Minimum value.
- Type v1 - Maximum value.
Return value
Clamped value.int compare ( int v0, int v1 ) #
Compares two scalars of the int type.Arguments
- int v0 - First int scalar.
- int v1 - Second int scalar.
Return value
1 if v0 is equal to v1; otherwise, 0.int compare ( float v0, float v1 ) #
Compares two scalars of the float type according to the degree of precision equal to 1.0e-6f.Arguments
- float v0 - First float scalar.
- float v1 - Second float scalar.
Return value
1 if v0 is equal to v1; otherwise, 0.int compare ( double v0, double v1 ) #
Compares two scalars of the double type according to the degree of precision equal to 1.0e-6f.Arguments
- double v0 - First double scalar.
- double v1 - Second double scalar.
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( float v0, float v1, float epsilon ) #
Compares two scalars of the float type according to the specified degree of precision.Arguments
- float v0 - First scalar.
- float v1 - Second scalar.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( double v0, double v1, double epsilon ) #
Compares two scalars of the double type according to the specified degree of precision.Arguments
- double v0 - First scalar.
- double v1 - Second scalar.
- double epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const vec2 & v0, const vec2 & v1 ) #
Compares two vectors according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if v0 is equal to v1; otherwise, 0.int compare ( const vec2 & v0, const vec2 & v1, float epsilon ) #
Compares two vectors according to the specified degree of precision.Arguments
- const vec2 & v0 - First vector.
- const vec2 & v1 - Second vector.
- float epsilon - Epsilon (degree of precision).
Return value
1 if v0 is equal to v1; otherwise, 0.int compare ( const dvec2 & v0, const dvec2 & v1 ) #
Compares two vectors according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const dvec2 & v0, const dvec2 & v1, double epsilon ) #
Compares two vectors according to the specified degree of precision.Arguments
- const dvec2 & v0 - First vector.
- const dvec2 & v1 - Second vector.
- double epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const vec3 & v0, const vec3 & v1 ) #
Compares two vectors according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const vec3 & v0, const vec3 & v1, float epsilon ) #
Compares two vectors according to the specified degree of precision.Arguments
- const vec3 & v0 - First vector.
- const vec3 & v1 - Second vector.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const dvec3 & v0, const dvec3 & v1 ) #
Compares two vectors according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const dvec3 & v0, const dvec3 & v1, double epsilon ) #
Compares two vectors according to the specified degree of precision.Arguments
- const dvec3 & v0 - First vector.
- const dvec3 & v1 - Second vector.
- double epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const vec4 & v0, const vec4 & v1 ) #
Compares two vectors according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const vec4 & v0, const vec4 & v1, float epsilon ) #
Compares two vectors according to the specified degree of precision.Arguments
- const vec4 & v0 - First vector.
- const vec4 & v1 - Second vector.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const dvec4 & v0, const dvec4 & v1 ) #
Compares two vectors according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const dvec4 & v0, const dvec4 & v1, double epsilon ) #
Compares two vectors according to the specified degree of precision.Arguments
- const dvec4 & v0 - First vector.
- const dvec4 & v1 - Second vector.
- double epsilon - Epsilon (degree of precision).
Return value
1 if the v0 is equal to v1; otherwise, 0.int compare ( const quat & q0, const quat & q1 ) #
Compares two quaternions according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the q0 is equal to q1; otherwise, 0.int compare ( const quat & q0, const quat & q1, float epsilon ) #
Compares two quaternions according to the specified degree of precision.Arguments
- const quat & q0 - First quaternion.
- const quat & q1 - Second quaternion.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the q0 is equal to q1; otherwise, 0.int compare ( const mat2 & m0, const mat2 & m1 ) #
Compares two matrices according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const mat2 & m0, const mat2 & m1, float epsilon ) #
Compares two matrices according to the specified degree of precision.Arguments
- const mat2 & m0 - First matrix.
- const mat2 & m1 - Second matrix.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const mat3 & m0, const mat3 & m1 ) #
Compares two matrices according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const mat3 & m0, const mat3 & m1, float epsilon ) #
Compares two matrices according to the specified degree of precision.Arguments
- const mat3 & m0 - First matrix.
- const mat3 & m1 - Second matrix.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const mat4 & m0, const mat4 & m1 ) #
Compares two matrices according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const mat4 & m0, const mat4 & m1, float epsilon ) #
Compares two matrices according to the specified degree of precision.Arguments
- const mat4 & m0 - First matrix.
- const mat4 & m1 - Second matrix.
- float epsilon - Epsilon (degree of precision).
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const dmat4 & m0, const dmat4 & m1 ) #
Compares two matrices according to the degree of precision equal to 1.0e-6f.Arguments
Return value
1 if the m0 is equal to m1; otherwise, 0.int compare ( const dmat4 & m0, const dmat4 & m1, double epsilon ) #
Compares two matrices according to the specified degree of precision.Arguments
- const dmat4 & m0 - First matrix.
- const dmat4 & m1 - Second matrix.
- double epsilon - Epsilon (degree of precision).
Return value
1 if the m0 is equal to m1; otherwise, 0.quat conjugate ( const quat & q ) #
Returns the conjugate of a given quaternion.Arguments
- const quat & q - Quaternion.
Return value
Conjugate of a given quaternion.float cross ( const vec2 & v0, const vec2 & v1 ) #
Cross product of vectors.Arguments
Return value
Cross product of the two 2d vectors: v0.x * v1.y - v0.y*v1.x.ivec3 cross ( const ivec3 & v0, const ivec3 & v1 ) #
Cross product of vectors.Arguments
Return value
Resulting vector.dvec3 cross ( const dvec3 & v0, const dvec3 & v1 ) #
Cross product of vectors.Arguments
Return value
Resulting vector.vec3 cross ( const vec3 & v0, const vec3 & v1 ) #
Cross product of vectors.Arguments
Return value
Resulting vector.ivec3 & cross ( ivec3 & ret, const ivec3 & v0, const ivec3 & v1 ) #
Cross product of vectors.Arguments
- ivec3 & ret - Output vector, to which the resulting vector will be put.
- const ivec3 & v0 - First vector.
- const ivec3 & v1 - Second vector.
Return value
Resulting vector.vec3 & cross ( vec3 & ret, const vec3 & v0, const vec3 & v1 ) #
Cross product of vectors.Arguments
- vec3 & ret - Output vector, to which the resulting vector will be put.
- const vec3 & v0 - First vector.
- const vec3 & v1 - Second vector.
Return value
Resulting vector.vec4 & cross ( vec4 & ret, const vec3 & v0, const vec3 & v1 ) #
Cross product of vectors.Arguments
- vec4 & ret - Output vector, to which the resulting vector will be put.
- const vec3 & v0 - First vector.
- const vec3 & v1 - Second vector.
Return value
Resulting vector.dvec3 & cross ( dvec3 & ret, const dvec3 & v0, const dvec3 & v1 ) #
Cross product of vectors.Arguments
- dvec3 & ret - Output vector, to which the resulting vector will be put.
- const dvec3 & v0 - First vector.
- const dvec3 & v1 - Second vector.
Return value
Resulting vector.dvec4 & cross ( dvec4 & ret, const dvec3 & v0, const dvec3 & v1 ) #
Cross product of vectors.Arguments
- dvec4 & ret - Output vector, to which the resulting vector will be put.
- const dvec3 & v0 - First vector.
- const dvec3 & v1 - Second vector.
Return value
Resulting vector.float dot ( const vec2 & v0, const vec2 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.float dot ( const vec3 & v0, const vec3 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.double dot ( const dvec2 & v0, const dvec2 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.float dot ( const vec3 & v0, const vec4 & v1 ) #
Dot product of vectors. In this case, w component of the four-component vector is added to the dot product of first three components of vectors.Arguments
Return value
Resulting scalar.float dot ( const vec4 & v0, const vec3 & v1 ) #
Dot product of vectors. In this case, w component of the four-component vector is added to the dot product of first three components of vectors.Arguments
Return value
Resulting scalar.float dot ( const vec4 & v0, const vec4 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.int dot ( const ivec3 & v0, const ivec3 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.int dot ( const ivec2 & v0, const ivec2 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.int dot ( const ivec4 & v0, const ivec3 & v1 ) #
Dot product of vectors. In this case, w component of the four-component vector is added to the dot product of first three components of vectors.Arguments
Return value
Resulting scalar.int dot ( const ivec4 & v0, const ivec4 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.double dot ( const dvec3 & v0, const dvec3 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.double dot ( const dvec3 & v0, const dvec4 & v1 ) #
Dot product of vectors. In this case, w component of the four-component vector is added to the dot product of first three components of vectors.Arguments
Return value
Resulting scalar.double dot ( const dvec4 & v0, const dvec3 & v1 ) #
Dot product of vectors. In this case, w component of the four-component vector is added to the dot product of first three components of vectors.Arguments
Return value
Resulting scalar.double dot ( const dvec4 & v0, const dvec4 & v1 ) #
Dot product of vectors.Arguments
Return value
Resulting scalar.double dot3 ( const dvec3 & v0, const dvec4 & v1 ) #
Dot product of three components of vectors. W components of four-component vectors are ignored.float a = dot3(vec3(1, 2, 3), vec4(1, 2, 3, 4));
double b = dot3(dvec4(1, 2, 3, 4), dvec4(1, 2, 3, 4));
/*
result is:
a = 14.000000
b = 14.000000
*/
Arguments
Return value
Resulting scalar.double dot3 ( const dvec4 & v0, const dvec3 & v1 ) #
Dot product of three components of vectors. W components of four-component vectors are ignored.float a = dot3(vec3(1, 2, 3), vec4(1, 2, 3, 4));
double b = dot3(dvec4(1, 2, 3, 4), dvec4(1, 2, 3, 4));
/*
result is:
a = 14.000000
b = 14.000000
*/
Arguments
Return value
Resulting scalar.double dot3 ( const dvec4 & v0, const dvec4 & v1 ) #
Dot product of three components of vectors. W components of four-component vectors are ignored.float a = dot3(vec3(1, 2, 3), vec4(1, 2, 3, 4));
double b = dot3(dvec4(1, 2, 3, 4), dvec4(1, 2, 3, 4));
/*
result is:
a = 14.000000
b = 14.000000
*/
Arguments
Return value
Resulting scalar.float dot3 ( const vec3 & v0, const vec4 & v1 ) #
Dot product of three components of vectors. W components of four-component vectors are ignored.float a = dot3(vec3(1, 2, 3), vec4(1, 2, 3, 4));
double b = dot3(dvec4(1, 2, 3, 4), dvec4(1, 2, 3, 4));
/*
result is:
a = 14.000000
b = 14.000000
*/
Arguments
Return value
Resulting scalar.float dot3 ( const vec4 & v0, const vec3 & v1 ) #
Dot product of three components of vectors. W components of four-component vectors are ignored.float a = dot3(vec3(1, 2, 3), vec4(1, 2, 3, 4));
double b = dot3(dvec4(1, 2, 3, 4), dvec4(1, 2, 3, 4));
/*
result is:
a = 14.000000
b = 14.000000
*/
Arguments
Return value
Resulting scalar.float dot3 ( const vec4 & v0, const vec4 & v1 ) #
Dot product of three components of vectors. W components of four-component vectors are ignored.float a = dot3(vec3(1, 2, 3), vec4(1, 2, 3, 4));
double b = dot3(dvec4(1, 2, 3, 4), dvec4(1, 2, 3, 4));
/*
result is:
a = 14.000000
b = 14.000000
*/
Arguments
Return value
Resulting scalar.float dtof ( double v ) #
Converts a double value to an integer value.Arguments
- double v - Double value.
Return value
Float value.int dtoi ( double v ) #
Converts a double value to an integer value.Arguments
- double v - Double value.
Return value
Integer value.long long dtol ( double v ) #
Converts a double value to a long value.Arguments
- double v - Double value.
Return value
Long value.double floor ( double v ) #
Rounds an argument down to the nearest integer.float a = floor(2.3) // a = 2.0
Arguments
- double v - Argument.
Return value
Largest integer value not greater than arg.float floor ( float v ) #
Rounds an argument down to the nearest integer.double a = floor(2.3) // a = 2.0
Arguments
- float v - Argument.
Return value
Largest integer value not greater than arg.const vec2 & floor ( const vec2 & v ) #
Ceiling function that returns the vector storing the largest integer values that are not greater than the argument.Arguments
- const vec2 & v - Vector storing values.
Return value
Vector storing the largest integer values not greater than v.const vec3 & floor ( const vec3 & v ) #
Ceiling function that returns the vector storing the largest integer values that are not greater than the argument.Arguments
- const vec3 & v - Vector storing values.
Return value
Vector storing the largest integer values not greater than v.const vec4 & floor ( const vec4 & v ) #
Ceiling function that returns the vector storing the largest integer values that are not greater than the argument.Arguments
- const vec4 & v - Vector storing values.
Return value
Vector storing the largest integer values not greater than v.const dvec2 & floor ( const dvec2 & v ) #
Ceiling function that returns the vector storing the largest integer values that are not greater than the argument.Arguments
- const dvec2 & v - Vector storing values.
Return value
Vector storing the largest integer values not greater than v.const dvec3 & floor ( const dvec3 & v ) #
Ceiling function that returns the vector storing the largest integer values that are not greater than the argument.Arguments
- const dvec3 & v - Vector storing values.
Return value
Vector storing the largest integer values not greater than v.const dvec4 & floor ( const dvec4 & v ) #
Ceiling function that returns the vector storing the largest integer values that are not greater than the argument.Arguments
- const dvec4 & v - Vector storing values.
Return value
Vector storing the largest integer values not greater than v.float frac ( float v ) #
Returns the fractional part of the argument.float a = frac(3.141593); // a = 0.141593
Arguments
- float v - Argument.
Return value
Fractional part of the argument.double frac ( double v ) #
Returns the fractional part of the argument.double a = frac(3.141593); // a = 0.141593
Arguments
- double v - Argument.
Return value
Fractional part of the argument.vec3 frac ( const vec3 & v ) #
Returns the fractional part every component of the argument.Arguments
- const vec3 & v - Argument.
Return value
Fractional part of every component of the argument.vec4 frac ( const vec4 & v ) #
Returns the fractional part every component of the argument.Arguments
- const vec4 & v - Argument.
Return value
Fractional part of every component of the argument.char ftoc ( float v ) #
Converts a float value to a char value.Arguments
- float v - Float value.
Return value
Char value.int ftoi ( float v ) #
Converts a float value to an integer value.Arguments
- float v - Float value.
Return value
Integer value.long long ftol ( float v ) #
Converts a float value to a long value.Arguments
- float v - Float value.
Return value
Long value.float getAngle ( const quat & q0, const quat & q1 ) #
Returns the angle (in degrees) between the given first and second quaternions. The angle returned is the unsigned acute angle between the two quaternions. This means the smaller of the two possible angles is used.Arguments
- const quat & q0 - First quaternion (from which the angular difference is measured).
- const quat & q1 - Second quaternion (to which the angular difference is measured).
Return value
Angle between the given quaternions, in degrees within the range [0.0; 180.0].float getAngle ( const vec3 & v0, const vec3 & v1 ) #
Returns the angle (in degrees) between the given first and second 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
- const vec3 & v0 - First vector (from which the angular difference is measured).
- const vec3 & v1 - Second vector (to which the angular difference is measured).
Return value
Angle between the given vectors, in degrees within the range [0.0; 180.0].float getAngle ( const vec3 & v0, const vec3 & v1, const vec3 & up ) #
Returns the signed angle (in degrees) between the given first and second vectors relative to the specified "up" vector.Arguments
- const vec3 & v0 - First vector (from which the angular difference is measured).
- const vec3 & v1 - Second vector (to which the angular difference is measured).
- const vec3 & up - Up vector, around which the other two vectors are rotated.
Return value
Angle between the given vectors, in degrees within the range [-180.0; 180.0].float gradient4 ( float x, const vec4 & gradient ) #
Returns a gradient value for the specified argument using four key components. The gradient value is determined as follows:smoothstep(gradient.x, gradient.y, x) - smoothstep(gradient.z, gradient.w, x);
Arguments
- float x - Argument.
- const vec4 & gradient - Vector with four key components.
Return value
Gradient value.float inverseLerp ( float v0, float v1, float v ) #
Returns the value calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0f and 1.0f.Arguments
- float v0 - The value specifying the beginning of the interval.
- float v1 - The value specifying the ending of the interval.
- float v - The value within the specified interval.
Return value
Coefficient of the value within a specified interval.double inverseLerp ( double v0, double v1, double v ) #
Returns the value calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0 and 1.0.Arguments
- double v0 - The value specifying the beginning of the interval.
- double v1 - The value specifying the ending of the interval.
- double v - The value within the specified interval.
Return value
Coefficient of the value within a specified interval.vec2 inverseLerp ( const vec2 & v0, const vec2 & v1, const vec2 & v ) #
Returns the vector with two float values calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0f and 1.0f.Arguments
- const vec2 & v0 - Vector storing the values that specify the beginnings of the intervals.
- const vec2 & v1 - Vector storing the values that specify the endings of the intervals.
- const vec2 & v - The values within the specified intervals.
Return value
Coefficients of the values within a specified intervals.vec3 inverseLerp ( const vec3 & v0, const vec3 & v1, const vec3 & v ) #
Returns the vector with three float values calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0f and 1.0f.Arguments
- const vec3 & v0 - Vector storing the values that specify the beginnings of the intervals.
- const vec3 & v1 - Vector storing the values that specify the endings of the intervals.
- const vec3 & v - The values within the specified intervals.
Return value
Coefficients of the values within a specified intervals.vec4 inverseLerp ( const vec4 & v0, const vec4 & v1, const vec4 & v ) #
Returns the vector with four float values calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0f and 1.0f.Arguments
- const vec4 & v0 - Vector storing the values that specify the beginnings of the intervals.
- const vec4 & v1 - Vector storing the values that specify the endings of the intervals.
- const vec4 & v - The values within the specified intervals.
Return value
Coefficients of the values within a specified intervals.dvec2 inverseLerp ( const dvec2 & v0, const dvec2 & v1, const dvec2 & v ) #
Returns the vector with two double values calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0 and 1.0.Arguments
- const dvec2 & v0 - Vector storing the values that specify the beginnings of the intervals.
- const dvec2 & v1 - Vector storing the values that specify the endings of the intervals.
- const dvec2 & v - The values within the specified intervals.
Return value
Coefficients of the values within a specified intervals.dvec3 inverseLerp ( const dvec3 & v0, const dvec3 & v1, const dvec3 & v ) #
Returns the vector with three double values calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0 and 1.0.Arguments
- const dvec3 & v0 - Vector storing the values that specify the beginnings of the intervals.
- const dvec3 & v1 - Vector storing the values that specify the endings of the intervals.
- const dvec3 & v - The values within the specified intervals.
Return value
Coefficients of the values within a specified intervals.vec4 inverseLerp ( const dvec4 & v0, const dvec4 & v1, const dvec4 & v ) #
Returns the vector with four double values calculated according to the following formula: (v - v0) / (v1 - v0) clamped within 0.0 and 1.0.Arguments
- const dvec4 & v0 - Vector storing the values that specify the beginnings of the intervals.
- const dvec4 & v1 - Vector storing the values that specify the endings of the intervals.
- const dvec4 & v - The values within the specified intervals.
Return value
Coefficients of the values within a specified intervals.float isrgb ( float x ) #
Converts sRGB color value to RGB format.Arguments
- float x - sRGB value to convert.
Return value
RGB color value.vec2 isrgb ( const vec2 & color ) #
Converts sRGB color value to RGB format.Arguments
- const vec2 & color - sRGB value to convert.
Return value
RGB color value.vec3 isrgb ( const vec3 & color ) #
Converts sRGB color value to RGB format.Arguments
- const vec3 & color - sRGB value to convert.
Return value
RGB color value.vec4 isrgb ( const vec4 & color ) #
Converts sRGB color value and alpha to RGB format.Arguments
- const vec4 & color - sRGB value to convert.
Return value
RGB color value.vec4 isrgbColor ( const vec4 & color ) #
Converts sRGB color value to RGB format without converting alpha.Arguments
- const vec4 & color - sRGB value to convert.
Return value
RGB color value.double itod ( int v ) #
Converts an integer value to a double value.Arguments
- int v - Integer value.
Return value
Double value.float itof ( int v ) #
Converts an integer value to a float value.Arguments
- int v - Integer value.
Return value
Float value.Scalar itos ( int v ) #
Converts an integer value to a scalar value (float or double, depending on the precision).Arguments
- int v - Integer value.
Return value
Scalar value (float or double, depending on the precision).float length ( const vec2 & v ) #
Calculates the length of a given vector.Arguments
- const vec2 & v - Vector.
Return value
Vector length.double length ( const dvec2 & v ) #
Calculates the length of a given vector.Arguments
- const dvec2 & v - Vector.
Return value
Vector length.float length ( const vec3 & v ) #
Calculates the length of a given vector.Arguments
- const vec3 & v - Vector.
Return value
Vector length.double length ( const dvec3 & v ) #
Calculates the length of a given vector.Arguments
- const dvec3 & v - Vector.
Return value
Vector length.float length ( const vec4 & v ) #
Calculates the length of a given vector.Arguments
- const vec4 & v - Vector.
Return value
Vector length.double length ( const dvec4 & v ) #
Calculates the length of a given vector.Arguments
- const dvec4 & v - Vector.
Return value
Vector length.float length2 ( const vec2 & v ) #
Calculates 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
- const vec2 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).double length2 ( const dvec2 & v ) #
Calculates 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
- const dvec2 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).int length2 ( const ivec2 & v ) #
Calculates the squared length of a given vector. 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
- const ivec2 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).float length2 ( const vec3 & v ) #
Calculates 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
- const vec3 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).double length2 ( const dvec3 & v ) #
Calculates 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
- const dvec3 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).int length2 ( const ivec3 & v ) #
Calculates the squared length of a given vector. 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
- const ivec3 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).float length2 ( const vec4 & v ) #
Calculates 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
- const vec4 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).double length2 ( const dvec4 & v ) #
Calculates 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
- const dvec4 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).int length2 ( const ivec4 & v ) #
Calculates the squared length of a given vector. 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
- const ivec4 & v - Vector.
Return value
Squared length of the vector (X 2 + Y 2 + Z 2).float lerp ( float v0, float v1, float k ) #
Returns the interpolated value according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- float v0 - First float value.
- float v1 - Second float value.
- float k - Interpolation coefficient.
Return value
Interpolated value.double lerp ( double v0, double v1, double k ) #
Returns the interpolated value according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- double v0 - First double value.
- double v1 - Second double value.
- double k - Interpolation coefficient.
Return value
Interpolated value.int lerp ( int v0, int v1, int k ) #
Returns the interpolated value according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- int v0 - First int value.
- int v1 - Second int value.
- int k - Interpolation coefficient.
Return value
Interpolated value.const vec2 & lerp ( const vec2 & v0, const vec2 & v1, float k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
Return value
Interpolated vector.vec3 lerp ( const vec3 & v0, const vec3 & v1, float k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
Return value
Interpolated vector.vec4 lerp ( const vec4 & v0, const vec4 & v1, float k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
Return value
Interpolated vector.dvec2 lerp ( const dvec2 & v0, const dvec2 & v1, double k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- const dvec2 & v0 - First vector.
- const dvec2 & v1 - Second vector.
- double k - Interpolation coefficient.
Return value
Interpolated vector.dvec3 lerp ( const dvec3 & v0, const dvec3 & v1, double k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- const dvec3 & v0 - First vector.
- const dvec3 & v1 - Second vector.
- double k - Interpolation coefficient.
Return value
Interpolated vector.dvec4 lerp ( const dvec4 & v0, const dvec4 & v1, double k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- const dvec4 & v0 - First vector.
- const dvec4 & v1 - Second vector.
- double k - Interpolation coefficient.
Return value
Interpolated vector.ivec2 lerp ( const ivec2 & v0, const ivec2 & v1, int k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
Return value
Interpolated vector.ivec3 lerp ( const ivec3 & v0, const ivec3 & v1, int k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
Return value
Interpolated vector.ivec4 lerp ( const ivec4 & v0, const ivec4 & v1, int k ) #
Returns the interpolated vector according to the following formula: v0 + (v 1 - v 0) * k .Arguments
Return value
Interpolated vector.Type lerp ( Type v0, Type v1, Type k ) #
Returns the interpolated value according to the following formula: v0 + (v 1 - v 0) * k .Arguments
- Type v0 - First value.
- Type v1 - Second value.
- Type k - Interpolation coefficient.
Return value
Interpolated value.float ltof ( long long v ) #
Converts a long value to a float value.Arguments
- long long v - Long value.
Return value
Float value.double ltod ( long long v ) #
Converts a long value to a double value.Arguments
- long long v - Long value.
Return value
Double value.float max ( float v0, float v1 ) #
Returns the maximum value.Arguments
- float v0 - First value.
- float v1 - Second value.
Return value
Maximum value.double max ( double v0, double v1 ) #
Returns the maximum value.Arguments
- double v0 - First value.
- double v1 - Second value.
Return value
Maximum value.int max ( int v0, int v1 ) #
Returns the maximum value.Arguments
- int v0 - First value.
- int v1 - Second value.
Return value
Maximum value.long long max ( long long v0, long long v1 ) #
Returns the maximum value.Arguments
- long long v0 - First value.
- long long v1 - Second value.
Return value
Maximum value.vec2 max ( const vec2 & v0, const vec2 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.vec3 max ( const vec3 & v0, const vec3 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.vec4 max ( const vec4 & v0, const vec4 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.dvec2 max ( const dvec2 & v0, const dvec2 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.dvec3 max ( const dvec3 & v0, const dvec3 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.dvec4 max ( const dvec4 & v0, const dvec4 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.ivec2 max ( const ivec2 & v0, const ivec2 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.ivec3 max ( const ivec3 & v0, const ivec3 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.ivec4 max ( const ivec4 & v0, const ivec4 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.bvec4 max ( const bvec4 & v0, const bvec4 & v1 ) #
Returns the maximum value.Arguments
Return value
Maximum value.Type max ( Type v0, Type v1 ) #
Returns the maximum value.Arguments
- Type v0 - First value.
- Type v1 - Second value.
Return value
Maximum value.float min ( float v0, float v1 ) #
Returns the minimum value.Arguments
- float v0 - First value.
- float v1 - Second value.
Return value
Minimum value.double min ( double v0, double v1 ) #
Returns the minimum value.Arguments
- double v0 - First value.
- double v1 - Second value.
Return value
Minimum value.int min ( int v0, int v1 ) #
Returns the minimum value.Arguments
- int v0 - First value.
- int v1 - Second value.
Return value
Minimum value.long long min ( long long v0, long long v1 ) #
Returns the minimum value.Arguments
- long long v0 - First value.
- long long v1 - Second value.
Return value
Minimum value.vec2 min ( const vec2 & v0, const vec2 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.vec3 min ( const vec3 & v0, const vec3 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.vec4 min ( const vec4 & v0, const vec4 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.dvec2 min ( const dvec2 & v0, const dvec2 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.dvec3 min ( const dvec3 & v0, const dvec3 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.dvec4 min ( const dvec4 & v0, const dvec4 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.ivec2 min ( const ivec2 & v0, const ivec2 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.ivec3 min ( const ivec3 & v0, const ivec3 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.ivec4 min ( const ivec4 & v0, const ivec4 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.bvec4 min ( const bvec4 & v0, const bvec4 & v1 ) #
Returns the minimum value.Arguments
Return value
Minimum value.Type min ( Type v0, Type v1 ) #
Returns the minimum value.Arguments
- Type v0 - First value.
- Type v1 - Second value.
Return value
Minimum value.quat normalize ( const quat & v ) #
Normalizes a quaternion, makes its magnitude equal to 1. When normalized, a quaternion keeps the same oreintation but its magnitude is equal to 1.Arguments
- const quat & v - A quaternion to be normalized.
Return value
Normalized quaternion.vec2 normalize ( const vec2 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1.Arguments
Return value
Normalized vector.vec3 normalize ( const vec3 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1.Arguments
Return value
Normalized vector.vec4 normalize ( const vec4 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1.Arguments
Return value
Normalized vector.dvec2 normalize ( const dvec2 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1.Arguments
Return value
Normalized vector.dvec3 normalize ( const dvec3 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1.Arguments
Return value
Normalized vector.dvec4 normalize ( const dvec4 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1.Arguments
Return value
Normalized vector.quat normalizeValid ( const quat & v ) #
Normalizes a quaternion, makes its magnitude equal to 1. When normalized, a quaternion keeps the same oreintation but its magnitude is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
- const quat & v - A quaternion to be normalized.
Return value
Normalized quaternion.vec2 normalizeValid ( const vec2 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.vec3 normalizeValid ( const vec3 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.vec4 normalizeValid ( const vec4 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.dvec2 normalizeValid ( const dvec2 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.dvec3 normalizeValid ( const dvec3 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.dvec4 normalizeValid ( const dvec4 & v ) #
Normalizes a vector, makes its magnitude equal to 1. When normalized, a vector keeps the same direction but its length is equal to 1. Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.vec4 normalize3 ( const vec4 & v ) #
Normalizes a vector making its magnitude equal to 1. The vector is normalized as if it has only the first three components (the fourth one is ignored).Arguments
Return value
Normalized vector.dvec4 normalize3 ( const dvec4 & v ) #
Normalizes a vector making its magnitude equal to 1. The vector is normalized as if it has only the first three components (the fourth one is ignored).Arguments
Return value
Normalized vector.vec4 normalizeValid3 ( const vec4 & v ) #
Normalizes a vector making its magnitude equal to 1. The vector is normalized as if it has only the first three components (the fourth one is ignored). Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.dvec4 normalizeValid3 ( const dvec4 & v ) #
Normalizes a vector making its magnitude equal to 1. The vector is normalized as if it has only the first three components (the fourth one is ignored). Check for the zero vector is performed: if the argument is a zero vector, then a zero vector is returned.Arguments
Return value
Normalized vector.int npot ( int arg ) #
Rounds up to the nearest power of two value.Arguments
- int arg - Argument.
Return value
The nearest upper power of 2 number.float rcp ( float v ) #
Returns the reciprocal of the specified argument.Arguments
- float v - Argument.
Return value
Reciprocal of the argument.double rcp ( double v ) #
Returns the reciprocal of the specified argument.Arguments
- double v - Argument.
Return value
Reciprocal of the argument.double round ( double v ) #
Rounds an argument to the nearest integer value.- 3.5 -> 4
- - 3.5 -> - 4
double a = round(2.3) // a = 2.0
double b = round(5.5) // b = 6.0
double c = round(-5.5) // c = -6.0
Arguments
- double v - Argument.
Return value
Nearest integer value to the argument.float round ( float v ) #
Rounds an argument to the nearest integer value.- 3.5 -> 4
- - 3.5 -> - 4
float a = round(2.3) // a = 2.0
float b = round(5.5) // b = 6.0
float c = round(-5.5) // c = -6.0
Arguments
- float v - Argument.
Return value
Nearest integer value to the argument.float saturate ( float v ) #
Clamps the value within the range of 0.0 to 1.0.Arguments
- float v - Argument.
Return value
Argument value clamped within the range of 0.0 to 1.0.double saturate ( double v ) #
Clamps the value within the range of 0.0 to 1.0.Arguments
- double v - Argument.
Return value
Argument value clamped within the range of 0.0 to 1.0.dvec2 saturate ( const dvec2 & v ) #
Clamps the values of vector components within the range of 0.0 to 1.0.Arguments
- const dvec2 & v
vec2 saturate ( const vec2 & v ) #
Clamps the values of vector components within the range of 0.0 to 1.0.Arguments
- const vec2 & v - Vector.
Return value
Vector with components clamped within the range of 0.0 to 1.0.dvec3 saturate ( const dvec3 & v ) #
Clamps the values of vector components within the range of 0.0 to 1.0.Arguments
- const dvec3 & v - Vector.
Return value
Vector with components clamped within the range of 0.0 to 1.0.vec3 saturate ( const vec3 & v ) #
Clamps the values of vector components within the range of 0.0 to 1.0.Arguments
- const vec3 & v - Vector.
Return value
Vector with components clamped within the range of 0.0 to 1.0.dvec4 saturate ( const dvec4 & v ) #
Clamps the values of vector components within the range of 0.0 to 1.0.Arguments
- const dvec4 & v - Vector.
Return value
Vector with components clamped within the range of 0.0 to 1.0.vec4 saturate ( const vec4 & v ) #
Clamps the values of vector components within the range of 0.0 to 1.0.Arguments
- const vec4 & v - Vector.
Return value
Vector with components clamped within the range of 0.0 to 1.0.float sign ( float v ) #
Returns the sign of the argument.Arguments
- float v - Argument.
Return value
Sign of the argument. 1.0 if v >= 0.0 ; -1.0 if v < 0.0.double sign ( double v ) #
Returns the sign of the argument.Arguments
- double v - Argument.
Return value
Sign of the argument. 1.0 if v >= 0.0 ; -1.0 if v < 0.0.quat slerp ( const quat & q0, const quat & q1, float k ) #
Spherical interpolation between two given quaternions.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
- float k - The current position (from 0 to 1).
Return value
Resulting quaternion.float smoothstep ( float x ) #
Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [0, 1].
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
One of the following values:- 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].
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
One of the following values:- 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 edge0, float edge1, float x ) #
Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [edge0, edge1].
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 edge0 - Left edge value.
- float edge1 - Right edge value.
- float x - Value to be interpolated.
Return value
One of the following values:- 0 if x is less than edge0;
- 1 if x is greater than edge1;
- interpolated value between 0 and 1 if x is in the range [edge0, edge1].
double smoothstep ( double edge0, double edge1, double x ) #
Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [edge0, edge1].
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 edge0 - Left edge value.
- double edge1 - Right edge value.
- double x - Value to be interpolated.
Return value
One of the following values:- 0 if x is less than edge0;
- 1 if x is greater than edge1;
- interpolated value between 0 and 1 if x is in the range [edge0, edge1].
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].
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
One of the following values:- 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].
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
One of the following values:- 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 edge0, float edge1, float x ) #
Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [edge0, edge1].
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 edge0 - Left edge value.
- float edge1 - Right edge value.
- float x - Value to be interpolated.
Return value
One of the following values:- 0 if x is less than edge0;
- 1 if x is greater than edge1;
- interpolated value between 0 and 1 if x is in the range [edge0, edge1].
double smootherstep ( double edge0, double edge1, double x ) #
Returns a smooth interpolation between 0 and 1 using a fifth-order polynomial function, if x is in the range [edge0, edge1].
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 edge0 - Left edge value.
- double edge1 - Right edge value.
- double x - Value to be interpolated.
Return value
One of the following values:- 0 if x is less than edge0;
- 1 if x is greater than edge1;
- interpolated value between 0 and 1 if x is in the range [edge0, edge1].
float srgb ( float x ) #
Converts RGB color value to sRGB format.Arguments
- float x - Value to convert.
Return value
sRGB color value.vec2 srgb ( const vec2 & color ) #
Converts RGB color value to sRGB format.Arguments
- const vec2 & color - Value to convert.
Return value
sRGB color value.vec3 srgb ( const vec3 & color ) #
Converts RGB color value to sRGB format.Arguments
- const vec3 & color - Value to convert.
Return value
sRGB color value.vec4 srgb ( const vec4 & color ) #
Converts RGB color value and alpha to sRGB format.Arguments
- const vec4 & color - Value to convert.
Return value
sRGB color value.vec4 srgbColor ( const vec4 & color ) #
Converts RGB color value to sRGB format without converting alpha.Arguments
- const vec4 & color - Value to convert.
Return value
sRGB color value.int stoi ( Scalar v ) #
Converts a scalar value (float or double, depending on the precision) to an integer value.Arguments
- Scalar v - Scalar value (float or double, depending on the precision).
Return value
Integer value.void swap ( Type & v0, Type & v1 ) #
Swaps two values.Arguments
- Type & v0 - First value.
- Type & v1 - Second value.
void swap ( Type * v0, Type * v1, int size ) #
Swaps two arrays.Arguments
- Type * v0 - The first array.
- Type * v1 - The second array.
- int size - The array size.
float toFloat ( double v ) #
Converts a double value to a float value.Arguments
- double v - Double value.
Return value
Float value.float toFloat ( long double v ) #
Converts a long double value to a float value.Arguments
- long double v - Long double value.
Return value
Float value.float toFloat ( char v ) #
Converts a character value to a float value.Arguments
- char v - Char value.
Return value
Float value.float toFloat ( int v ) #
Converts an integer value to a float value.Arguments
- int v - Integer value.
Return value
Float value.float toFloat ( long long v ) #
Converts a long value to a float value.Arguments
- long long v - Long value.
Return value
Float value.float toFloat ( unsigned int v ) #
Converts an unsigned int value to a float value.Arguments
- unsigned int v - Unsigned int value.
Return value
Float value.float toFloat ( unsigned char v ) #
Converts an unsigned char value to a float value.Arguments
- unsigned char v - Unsigned char value.
Return value
Float value.float toFloat ( bool v ) #
Converts a boolean value to a float value.Arguments
- bool v - Boolean value.
Return value
Float value.float toFloat ( half v ) #
Converts a half value to a float value.Arguments
- half v - Half value.
Return value
Float value.float toFloat ( const String & v ) #
Converts a const String value to a float value.Arguments
- const String & v - const String value.
Return value
Float value.float toFloat ( const char * v ) #
Converts a const char pointer value to a float value.Arguments
- const char * v - const char ptr value.
Return value
Float value.half toHalf ( float v ) #
Converts a float value to a half value.Arguments
- float v - Float value.
Return value
Half value.half toHalf ( double v ) #
Converts a double value to a half value.Arguments
- double v - Double value.
Return value
Half value.half toHalf ( long double v ) #
Converts a long double value to a half value.Arguments
- long double v - Long double value.
Return value
Half value.half toHalf ( char v ) #
Converts a char value to a half value.Arguments
- char v - Char value.
Return value
Half value.half toHalf ( int v ) #
Converts an int value to a half value.Arguments
- int v - Int value.
Return value
Half value.half toHalf ( long long v ) #
Converts a long long value to a half value.Arguments
- long long v - Long long value.
Return value
Half value.half toHalf ( unsigned int v ) #
Converts an unsigned int value to a half value.Arguments
- unsigned int v - Unsigned int value.
Return value
Half value.half toHalf ( unsigned char v ) #
Converts an unsigned char value to a half value.Arguments
- unsigned char v - Unsigned char value.
Return value
Half value.half toHalf ( bool v ) #
Converts a bool value to a half value.Arguments
- bool v - Bool value.
Return value
Half value.half toHalf ( const String & v ) #
Converts a const String value to a half value.Arguments
- const String & v - Const String value.
Return value
Half value.half toHalf ( const char * v ) #
Converts a const char pointer value to a half value.Arguments
- const char * v - Const char ptr value.
Return value
Half value.double toDouble ( float value ) #
Converts a float value to a double value.Arguments
- float value - Float value.
Return value
Double value.double toDouble ( char value ) #
Converts a character value to a double value.Arguments
- char value - Char value.
Return value
Double value.double toDouble ( int value ) #
Converts an integer value to a double value.Arguments
- int value - Integer value.
Return value
Double value.double toDouble ( long long value ) #
Converts a long value to a double value.Arguments
- long long value - Long value.
Return value
Double value.double toDouble ( bool value ) #
Converts a boolean value to a double value.Arguments
- bool value - Boolean value.
Return value
Double value.double toDouble ( unsigned int v ) #
Converts an unsigned int value to a double value.Arguments
- unsigned int v - Unsigned int value.
Return value
Double value.double toDouble ( unsigned char v ) #
Converts an unsigned char value to a double value.Arguments
- unsigned char v - Unsigned char value.
Return value
Double value.double toDouble ( half v ) #
Converts a half value to a double value.Arguments
- half v - Half value.
Return value
Double value.double toDouble ( const String & v ) #
Converts a const String value to a double value.Arguments
- const String & v - const String value.
Return value
Double value.double toDouble ( const char * v ) #
Converts a const char pointer value to double value.Arguments
- const char * v - const char ptr value.
Return value
Double value.Scalar toScalar ( double value ) #
Converts a double value to a Scalar value.Arguments
- double value - Double value.
Return value
Scalar value.Scalar toScalar ( long double value ) #
Converts a long double value to a Scalar value.Arguments
- long double value - Long double value.
Return value
Scalar value.Scalar toScalar ( float value ) #
Converts a float value to a Scalar value.Arguments
- float value - Float value.
Return value
Scalar value.Scalar toScalar ( char value ) #
Converts a char value to a Scalar value.Arguments
- char value - Char value.
Return value
Scalar value.Scalar toScalar ( int value ) #
Converts an int value to a Scalar value.Arguments
- int value - Int value.
Return value
Scalar value.Scalar toScalar ( long long value ) #
Converts a long long value to a Scalar value.Arguments
- long long value - Long long value.
Return value
Scalar value.Scalar toScalar ( unsigned int value ) #
Converts an unsigned int value to a Scalar value.Arguments
- unsigned int value - Unsigned int value.
Return value
Scalar value.Scalar toScalar ( unsigned char value ) #
Converts an unsigned char value to a Scalar value.Arguments
- unsigned char value - Unsigned char value.
Return value
Scalar value.Scalar toScalar ( bool value ) #
Converts a bool value to a Scalar value.Arguments
- bool value - Bool value.
Return value
Scalar value.Scalar toScalar ( half value ) #
Converts a half value to a Scalar value.Arguments
- half value - Half value.
Return value
Scalar value.Scalar toScalar ( const String & value ) #
Converts a const String value to a Scalar value.Arguments
- const String & value - Const String value.
Return value
Scalar value.Scalar toScalar ( const char value ) #
Converts a const char value to a Scalar value.Arguments
- const char value - Const char value.
Return value
Scalar value.int toInt ( float value ) #
Converts a float value to an integer value.Arguments
- float value - Float value.
Return value
Integer value.int toInt ( double value ) #
Converts a double value to an integer value.Arguments
- double value - Double value.
Return value
Integer value.int toInt ( char value ) #
Converts a character value to an integer value.Arguments
- char value - Char value.
Return value
Integer value.int toInt ( long long value ) #
Converts a long value to an integer value.Arguments
- long long value - Long value.
Return value
Integer value.int toInt ( bool value ) #
Converts a boolean value to an integer value.Arguments
- bool value - Boolean value.
Return value
Integer value.int toInt ( unsigned int v ) #
Converts an unsigned int value to an int value.Arguments
- unsigned int v - Unsigned int value.
Return value
Int value.int toInt ( unsigned char v ) #
Converts an unsigned char value to an int value.Arguments
- unsigned char v - Unsigned char value.
Return value
Int value.int toInt ( half v ) #
Converts a half value to an int value.Arguments
- half v - Half value.
Return value
Int value.int toInt ( const String & v ) #
Converts a const String value to an int value.Arguments
- const String & v - const String value.
Return value
Int value.int toInt ( const char * v ) #
Converts a const char pointer value to an int value.Arguments
- const char * v - const char ptr value.
Return value
Int value.unsigned int toUInt ( float value ) #
Converts a float value to an unsigned int value.Arguments
- float value - Float value.
Return value
Unsigned int value.unsigned int toUInt ( double value ) #
Converts a double value to an unsigned int value.Arguments
- double value - Double value.
Return value
Unsigned int value.unsigned int toUInt ( char value ) #
Converts a char value to an unsigned int value.Arguments
- char value - Char value.
Return value
Unsigned int value.unsigned int toUInt ( int value ) #
Converts an int value to an unsigned int value.Arguments
- int value - Int value.
Return value
Unsigned int value.unsigned int toUInt ( long long value ) #
Converts a long long value to an unsigned int value.Arguments
- long long value - Long long value.
Return value
Unsigned int value.unsigned int toUInt ( unsigned char value ) #
Converts an unsigned char value to an unsigned int value.Arguments
- unsigned char value - Unsigned char value.
Return value
Unsigned int value.unsigned int toUInt ( bool value ) #
Converts a bool value to an unsigned int value.Arguments
- bool value - Bool value.
Return value
Unsigned int value.unsigned int toUInt ( half value ) #
Converts a half value to an unsigned int value.Arguments
- half value - Half value.
Return value
Unsigned int value.unsigned int toUInt ( const String & value ) #
Converts a const String value to an unsigned int value.Arguments
- const String & value - Const String value.
Return value
Unsigned int value.unsigned int toUInt ( const char * value ) #
Converts a const char pointer value to an unsigned int value.Arguments
- const char * value - Const char ptr value.
Return value
Unsigned int value.char toChar ( float value ) #
Converts a float value to a character value.Arguments
- float value - Float value.
Return value
Char value.char toChar ( double value ) #
Converts a double value to a character value.Arguments
- double value - Double value.
Return value
Char value.char toChar ( int value ) #
Converts an integer value to a character value.Arguments
- int value - Integer value.
Return value
Char value.char toChar ( long long value ) #
Converts a long value to a character value.Arguments
- long long value - Long value.
Return value
Char value.char toChar ( bool value ) #
Converts a boolean value to a character value.Arguments
- bool value - Boolean value.
Return value
Char value.char toChar ( unsigned int v ) #
Converts an unsigned int value to a char value.Arguments
- unsigned int v - Unsigned int value.
Return value
Char value.char toChar ( unsigned char v ) #
Converts an unsigned char value to a char value.Arguments
- unsigned char v - Unsigned char value.
Return value
Char value.char toChar ( half v ) #
Converts a half value to a char value.Arguments
- half v - Half value.
Return value
Char value.char toChar ( const String & v ) #
Converts a const String value to a char value.Arguments
- const String & v - const String value.
Return value
Char value.char toChar ( const char * v ) #
Converts a const char pointer value to char value.Arguments
- const char * v - const char ptr value.
Return value
Char value.short toShort ( float value ) #
Converts a float value to a short value.Arguments
- float value - Float value.
Return value
Short value.short toShort ( double value ) #
Converts a double value to a short value.Arguments
- double value - Double value.
Return value
Short value.short toShort ( char value ) #
Converts a char value to a short value.Arguments
- char value - Char value.
Return value
Short value.short toShort ( int value ) #
Converts an int value to a short value.Arguments
- int value - Int value.
Return value
Short value.short toShort ( long long value ) #
Converts a long long value to a short value.Arguments
- long long value - Long long value.
Return value
Short value.short toShort ( unsigned char value ) #
Converts an unsigned char value to a short value.Arguments
- unsigned char value - Unsigned char value.
Return value
Short value.short toShort ( bool value ) #
Converts a bool value to a short value.Arguments
- bool value - Bool value.
Return value
Short value.short toShort ( half value ) #
Converts a half value to a short value.Arguments
- half value - Half value.
Return value
Short value.short toShort ( const String & value ) #
Converts a const String value to a short value.Arguments
- const String & value - Const String value.
Return value
Short value.short toShort ( const char * value ) #
Converts a const char pointer value to a short value.Arguments
- const char * value - Const char ptr value.
Return value
Short value.uchar toUChar ( float value ) #
Converts a float value to an unsigned character value.Arguments
- float value - Float value.
Return value
Unsigned char value.uchar toUChar ( double value ) #
Converts a double value to an unsigned character value.Arguments
- double value - Double value.
Return value
Unsigned char value.uchar toUChar ( int value ) #
Converts an integer value to an unsigned character value.Arguments
- int value - Integer value.
Return value
Unsigned char value.uchar toUChar ( long long value ) #
Converts a long value to an unsigned character value.Arguments
- long long value - Long value.
Return value
Unsigned char value.uchar toUChar ( bool value ) #
Converts a boolean value to an unsigned character value.Arguments
- bool value - Boolean value.
Return value
Unsigned char value.unsigned char toUChar ( unsigned int v ) #
Converts an unsigned int value to an unsigned char value.Arguments
- unsigned int v - Unsigned int value.
Return value
Unsigned char value.unsigned char toUChar ( half v ) #
Converts a half value to an unsigned char value.Arguments
- half v - Half value.
Return value
Unsigned char value.unsigned char toUChar ( const String & v ) #
Converts a const String value to an unsigned char value.Arguments
- const String & v - const String value.
Return value
Unsigned char value.unsigned char toUChar ( const char * v ) #
Converts a const char pointer value to an unsigned char value.Arguments
- const char * v - const char ptr value.
Return value
Unsigned char value.unsigned short toUShort ( float value ) #
Converts a float value to an unsigned short value.Arguments
- float value - Float value.
Return value
Unsigned short value.unsigned short toUShort ( double value ) #
Converts a double value to an unsigned short value.Arguments
- double value - Double value.
Return value
Unsigned short value.unsigned short toUShort ( char value ) #
Converts a char value to an unsigned short value.Arguments
- char value - Char value.
Return value
Unsigned short value.unsigned short toUShort ( int value ) #
Converts an int value to an unsigned short value.Arguments
- int value - Int value.
Return value
Unsigned short value.unsigned short toUShort ( long long value ) #
Converts a long long value to an unsigned short value.Arguments
- long long value - Long long value.
Return value
Unsigned short value.unsigned short toUShort ( bool value ) #
Converts a bool value to an unsigned short value.Arguments
- bool value - Bool value.
Return value
Unsigned short value.unsigned short toUShort ( half value ) #
Converts a half value to an unsigned short value.Arguments
- half value - Half value.
Return value
Unsigned short value.unsigned short toUShort ( const String & value ) #
Converts a const String value to an unsigned short value.Arguments
- const String & value - Const String value.
Return value
Unsigned short value.unsigned short toUShort ( const char * value ) #
Converts a const char pointer value to an unsigned short value.Arguments
- const char * value - Const char ptr value.
Return value
Unsigned short value.bool toBool ( float value ) #
Converts a float value to a boolean value.Arguments
- float value - Float value.
Return value
Boolean value.bool toBool ( double value ) #
Converts a double value to a boolean value.Arguments
- double value - Double value.
Return value
Boolean value.bool toBool ( int value ) #
Converts an integer value to a boolean value.Arguments
- int value - Integer value.
Return value
Boolean value.bool toBool ( char value ) #
Converts a character value to a boolean value.Arguments
- char value - Char value.
Return value
Boolean value.bool toBool ( long long value ) #
Converts a long value to a boolean value.Arguments
- long long value - Long value.
Return value
Boolean value.bool toBool ( unsigned int v ) #
Converts an unsigned int value to a bool value.Arguments
- unsigned int v - Unsigned int value.
Return value
Boolean value.bool toBool ( unsigned char v ) #
Converts an unsigned char value to a bool value.Arguments
- unsigned char v - Unsigned char value.
Return value
Boolean value.bool toBool ( half v ) #
Converts a half value to a bool value.Arguments
- half v - Half value.
Return value
Boolean value.bool toBool ( const String & v ) #
Converts a const String value to a bool value.Arguments
- const String & v - const String value.
Return value
Boolean value.bool toBool ( const char * v ) #
Converts a const char pointer value to a bool value.Arguments
- const char * v - const char ptr value.
Return value
Boolean 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.int operator== ( const ControlsPtr & c0, const ControlsPtr & c1, g0, g1, i0, i1, m0, m1, m0, m1, p0, p1, m0, m1, s0, s1, s0, s1, t0, t1, t0, t1, ui0, ui1, w0, w1, x0, x1 ) #
Checks if two controls are actually the same controls.Arguments
Return value
Returns 1 if two values are the same; otherwise, 0.int operator!= ( const ControlsPtr & c0, const ControlsPtr & c1, g0, g1, i0, i1, m0, m1, m0, m1, p0, p1, m0, m1, s0, s1, s0, s1, t0, t1, t0, t1, ui0, ui1, w0, w1, x0, x1 ) #
Checks if two controls are not the same controls.Arguments
Return value
Returns 1 if two values are not the same; otherwise, 0.int operator== ( const vec2 & v0, const vec2 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const vec2 & v0, const vec2 & v1 ) #
Vector not equal comparison.Arguments
vec2 operator* ( const vec2 & v0, float v1 ) #
Scalar multiplication.Arguments
- const vec2 & v0 - The value of the vector.
- float v1 - The value of the scalar.
Return value
Resulting vector.vec2 operator* ( const vec2 & v0, const vec2 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec2 operator+ ( const vec2 & v0, const vec2 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.vec2 operator- ( const vec2 & v0, const vec2 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.int operator== ( const vec3 & v0, const vec3 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const vec3 & v0, const vec3 & v1 ) #
Vector not equal comparison.Arguments
vec3 operator* ( const vec3 & v0, float v1 ) #
Scalar multiplication.Arguments
- const vec3 & v0 - The value of the vector.
- float v1 - The value of the scalar.
Return value
Resulting vector.vec3 operator* ( const vec3 & v0, const vec3 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec3 operator+ ( const vec3 & v0, const vec3 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.vec3 operator+ ( const vec3 & v0, const float & v1 ) #
Adds the float value to all vector components.Arguments
- const vec3 & v0 - Vector.
- const float & v1 - Float value.
Return value
Resulting vector.vec3 operator- ( const vec3 & v0, const vec3 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.int operator== ( const vec4 & v0, const vec4 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const vec4 & v0, const vec4 & v1 ) #
Vector not equal comparison.Arguments
vec4 operator* ( const vec4 & v0, float v1 ) #
Scalar multiplication.Arguments
- const vec4 & v0 - The value of the vector.
- float v1 - The value of the scalar.
Return value
Resulting vector.vec4 operator* ( const vec4 & v0, const vec4 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec4 operator+ ( const vec4 & v0, const vec4 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.vec4 operator- ( const vec4 & v0, const vec4 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.int operator== ( const dvec2 & v0, const dvec2 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const dvec2 & v0, const dvec2 & v1 ) #
Vector not equal comparison.Arguments
dvec2 operator* ( const dvec2 & v0, double v1 ) #
Scalar multiplication.Arguments
- const dvec2 & v0 - The value of the vector.
- double v1 - The value of the scalar.
Return value
Resulting vector.dvec2 operator* ( const dvec2 & v0, const dvec2 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec2 operator+ ( const dvec2 & v0, const dvec2 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.dvec2 operator- ( const dvec2 & v0, const dvec2 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.int operator== ( const dvec3 & v0, const dvec3 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const dvec3 & v0, const dvec3 & v1 ) #
Vector not equal comparison.Arguments
dvec3 operator* ( const dvec3 & v0, double v1 ) #
Scalar multiplication.Arguments
- const dvec3 & v0 - The value of the vector.
- double v1 - The value of the scalar.
Return value
Resulting vector.dvec3 operator* ( const dvec3 & v0, const dvec3 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec3 operator+ ( const dvec3 & v0, const dvec3 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.dvec3 operator- ( const dvec3 & v0, const dvec3 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.int operator== ( const dvec4 & v0, const dvec4 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const dvec4 & v0, const dvec4 & v1 ) #
Vector not equal comparison.Arguments
dvec4 operator* ( const dvec4 & v0, double v1 ) #
Scalar multiplication.Arguments
- const dvec4 & v0 - The value of the vector.
- double v1 - The value of the scalar.
Return value
Resulting vector.dvec4 operator* ( const dvec4 & v0, const dvec4 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec4 operator+ ( const dvec4 & v0, const dvec4 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.dvec4 operator- ( const dvec4 & v0, const dvec4 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.int operator== ( const ivec2 & v0, const ivec2 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const ivec2 & v0, const ivec2 & v1 ) #
Vector not equal comparison.Arguments
ivec2 operator* ( const ivec2 & v0, int v1 ) #
Scalar multiplication.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec2 operator* ( const ivec2 & v0, const ivec2 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.ivec2 operator% ( const ivec2 & v0, int v1 ) #
Modulus operation.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec2 operator% ( const ivec4 & v0, int v1 ) #
Modulus operation.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec2 operator/ ( const ivec2 & v0, int v1 ) #
Scalar division.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec2 operator/ ( const ivec2 & v0, const ivec2 & v1 ) #
Vector division.Arguments
Return value
Resulting vector.ivec2 operator+ ( const ivec2 & v0, const ivec2 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.ivec2 operator- ( const ivec2 & v0, const ivec2 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.ivec2 operator<< ( const ivec2 & v0, int v1 ) #
Left bit shift.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
Resulting vector.ivec2 operator>> ( const ivec2 & v0, int v1 ) #
Right bit shift.Arguments
- const ivec2 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
Resulting vector.int operator== ( const ivec3 & v0, const ivec3 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const ivec3 & v0, const ivec3 & v1 ) #
Vector not equal comparison.Arguments
ivec3 operator* ( const ivec3 & v0, int v1 ) #
Scalar multiplication.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec3 operator* ( const ivec3 & v0, const ivec3 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.ivec3 operator/ ( const ivec3 & v0, int v1 ) #
Scalar division.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec3 operator/ ( const ivec3 & v0, const ivec3 & v1 ) #
Vector division.Arguments
Return value
Resulting vector.ivec3 operator+ ( const ivec3 & v0, const ivec3 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.ivec3 operator- ( const ivec3 & v0, const ivec3 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.ivec3 operator<< ( const ivec3 & v0, int v1 ) #
Left bit shift.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
Resulting vector.ivec3 operator>> ( const ivec3 & v0, int v1 ) #
Right bit shift.Arguments
- const ivec3 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
Resulting vector.int operator== ( const ivec4 & v0, const ivec4 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const ivec4 & v0, const ivec4 & v1 ) #
Vector not equal comparison.Arguments
ivec4 operator* ( const ivec4 & v0, int v1 ) #
Scalar multiplication.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec4 operator* ( const ivec4 & v0, const ivec4 & v1 ) #
Vector multiplication.Arguments
Return value
Resulting vector.ivec4 operator/ ( const ivec4 & v0, int v1 ) #
Scalar division.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The value of the scalar.
Return value
Resulting vector.ivec4 operator/ ( const ivec4 & v0, const ivec4 & v1 ) #
Vector division.Arguments
Return value
Resulting vector.ivec4 operator+ ( const ivec4 & v0, const ivec4 & v1 ) #
Vector addition.Arguments
Return value
Resulting vector.ivec4 operator- ( const ivec4 & v0, const ivec4 & v1 ) #
Vector subtraction.Arguments
Return value
Resulting vector.ivec4 operator<< ( const ivec4 & v0, int v1 ) #
Left bit shift.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
Resulting vector.ivec4 operator>> ( const ivec4 & v0, int v1 ) #
Right bit shift.Arguments
- const ivec4 & v0 - The value of the vector.
- int v1 - The shift amount.
Return value
Resulting vector.int operator== ( const bvec4 & v0, const bvec4 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const bvec4 & v0, const bvec4 & v1 ) #
Vector not equal comparison.Arguments
int operator== ( const svec4 & v0, const svec4 & v1 ) #
Vector equal comparison.Arguments
int operator!= ( const svec4 & v0, const svec4 & v1 ) #
Vector not equal comparison.Arguments
int operator== ( const mat4 & m0, const mat4 & m1 ) #
Matrix equal comparison.Arguments
int operator!= ( const mat4 & m0, const mat4 & m1 ) #
Matrix not equal comparison.Arguments
mat4 operator* ( const mat4 & m, const float v ) #
Matrix multiplication.Arguments
- const mat4 & m - The value of the matrix.
- const float v - The value of the scalar.
Return value
The resulting matrix.vec3 operator* ( const mat4 & m, const vec3 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec3 operator* ( const vec3 & v, const mat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec4 operator* ( const mat4 & m, const vec4 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec4 operator* ( const vec4 & v, const mat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec3 operator* ( const mat4 & m, const dvec3 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec3 operator* ( const dvec3 & v, const mat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec4 operator* ( const mat4 & m, const dvec4 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec4 operator* ( const dvec4 & v, const mat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.mat4 operator* ( const mat4 & m0, const mat4 & m1 ) #
Matrix multiplication.Arguments
Return value
The resulting matrix.mat4 operator+ ( const mat4 & m0, const mat4 & m1 ) #
Matrix addition.Arguments
Return value
The resulting matrix.mat4 operator- ( const mat4 & m0, const mat4 & m1 ) #
Matrix subtraction.Arguments
Return value
The resulting matrix.int operator== ( const dmat4 & m0, const dmat4 & m1 ) #
Matrix equal comparison.Arguments
int operator!= ( const dmat4 & m0, const dmat4 & m1 ) #
Matrix not equal comparison.Arguments
dmat4 operator* ( const dmat4 & m, const double v ) #
Matrix multiplication.Arguments
- const dmat4 & m - The value of the matrix.
- const double v - The value of the scalar.
Return value
The resulting matrix.vec3 operator* ( const dmat4 & m, const vec3 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec3 operator* ( const vec3 & v, const dmat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec4 operator* ( const dmat4 & m, const vec4 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.vec4 operator* ( const vec4 & v, const dmat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec3 operator* ( const dmat4 & m, const dvec3 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec3 operator* ( const dvec3 & v, const dmat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec4 operator* ( const dmat4 & m, const dvec4 & v ) #
Vector multiplication.Arguments
Return value
Resulting vector.dvec4 operator* ( const dvec4 & v, const dmat4 & m ) #
Vector multiplication.Arguments
Return value
Resulting vector.dmat4 operator* ( const dmat4 & m0, const dmat4 & m1 ) #
Matrix multiplication.Arguments
Return value
The resulting matrix.dmat4 operator+ ( const dmat4 & m0, const dmat4 & m1 ) #
Matrix addition.Arguments
Return value
The resulting matrix.dmat4 operator- ( const dmat4 & m0, const dmat4 & m1 ) #
Matrix subtraction.Arguments
Return value
The resulting matrix.int operator== ( const quat & q0, const quat & q1 ) #
Quaternion equal comparison.Arguments
int operator!= ( const quat & q0, const quat & q1 ) #
Quaternion not equal comparison.Arguments
quat operator* ( const quat & q, float v ) #
Quaternion multiplication.Arguments
- const quat & q - The value of the quaternion.
- float v - The value of the scalar.
Return value
The resulting quaternion.vec3 operator* ( const quat & q, const vec3 & v ) #
Quaternion multiplication.Arguments
Return value
Resulting vector.vec3 operator* ( const vec3 & v, const quat & q ) #
Quaternion multiplication.Arguments
Return value
Resulting vector.dvec3 operator* ( const quat & q, const dvec3 & v ) #
Quaternion multiplication.Arguments
Return value
Resulting vector.dvec3 operator* ( const dvec3 & v, const quat & q ) #
Quaternion multiplication.Arguments
Return value
Resulting vector.quat operator* ( const quat & q0, const quat & q1 ) #
Quaternion multiplication.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
Return value
The resulting quaternion.quat operator+ ( const quat & q0, const quat & q1 ) #
Quaternion addition.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.
Return value
The resulting quaternion.quat operator- ( const quat & q0, const quat & q1 ) #
Quaternion subtraction.Arguments
- const quat & q0 - The value of the first quaternion.
- const quat & q1 - The value of the second quaternion.