Functions | |
template<typename genType > | |
genType | abs (genType const &x) |
template<typename genType > | |
genType | ceil (genType const &x) |
template<typename genType > | |
genType | clamp (genType const &x, genType const &minVal, genType const &maxVal) |
template<typename genType , typename genIType > | |
genIType | floatBitsToInt (genType const &value) |
template<typename genType , typename genUType > | |
genUType | floatBitsToUint (genType const &value) |
template<typename genType > | |
genType | floor (genType const &x) |
template<typename genType > | |
genType | fma (genType const &a, genType const &b, genType const &c) |
template<typename genType > | |
genType | fract (genType const &x) |
template<typename genType , typename genIType > | |
genType | frexp (genType const &x, genIType &exp) |
template<typename genType , typename genIType > | |
genType | intBitsToFloat (genIType const &value) |
template<typename genType > | |
genType::bool_type | isinf (genType const &x) |
template<typename genType > | |
genType::bool_type | isnan (genType const &x) |
template<typename genType , typename genIType > | |
genType | ldexp (genType const &x, genIType const &exp) |
template<typename genType > | |
genType | max (genType const &x, genType const &y) |
template<typename genType > | |
genType | min (genType const &x, genType const &y) |
template<typename genTypeT , typename genTypeU > | |
genTypeT | mix (genTypeT const &x, genTypeT const &y, genTypeU const &a) |
template<typename genType > | |
genType | mod (genType const &x, genType const &y) |
template<typename genType > | |
genType | mod (genType const &x, typename genType::value_type const &y) |
template<typename genType > | |
genType | modf (genType const &x, genType &i) |
template<typename genType > | |
genType | round (genType const &x) |
template<typename genType > | |
genType | roundEven (genType const &x) |
template<typename genType > | |
genType | sign (genType const &x) |
template<typename genType > | |
genType | smoothstep (genType const &edge0, genType const &edge1, genType const &x) |
template<typename genType > | |
genType | step (genType const &edge, genType const &x) |
template<typename genType > | |
genType | trunc (genType const &x) |
template<typename genType , typename genUType > | |
genType | uintBitsToFloat (genUType const &value) |
These all operate component-wise.
The description is per component.
genType glm::abs | ( | genType const & | x | ) |
Returns x if x >= 0; otherwise, it returns -x.
genType | floating-point or signed integer; scalar or vector types. |
genType glm::ceil | ( | genType const & | x | ) |
Returns a value equal to the nearest integer that is greater than or equal to x.
genType | Floating-point scalar or vector types. |
genType glm::clamp | ( | genType const & | x, |
genType const & | minVal, | ||
genType const & | maxVal | ||
) |
Returns min(max(x, minVal), maxVal) for each component in x.
using the floating-point values minVal and maxVal.
genType | Floating-point or integer; scalar or vector types. |
Referenced by glm::saturate().
genIType glm::floatBitsToInt | ( | genType const & | value | ) |
Returns a signed integer value representing the encoding of a floating-point value.
The floatingpoint value's bit-level representation is preserved.
genType | Single-precision floating-point scalar or vector types. |
genIType | Signed integer scalar or vector types. |
genUType glm::floatBitsToUint | ( | genType const & | value | ) |
Returns a unsigned integer value representing the encoding of a floating-point value.
The floatingpoint value's bit-level representation is preserved.
genType | Single-precision floating-point scalar or vector types. |
genUType | Unsigned integer scalar or vector types. |
genType glm::floor | ( | genType const & | x | ) |
Returns a value equal to the nearest integer that is less then or equal to x.
genType | Floating-point scalar or vector types. |
genType glm::fma | ( | genType const & | a, |
genType const & | b, | ||
genType const & | c | ||
) |
Computes and returns a * b + c.
genType | Floating-point scalar or vector types. |
genType glm::fract | ( | genType const & | x | ) |
Return x - floor(x).
genType | Floating-point scalar or vector types. |
genType glm::frexp | ( | genType const & | x, |
genIType & | exp | ||
) |
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent)
The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined.
genType | Floating-point scalar or vector types. |
genType glm::intBitsToFloat | ( | genIType const & | value | ) |
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.
If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.
genType | Single-precision floating-point scalar or vector types. |
genIType | Signed integer scalar or vector types. |
bool isinf | ( | genType const & | x | ) |
Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.
Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension)
Returns false otherwise, including for implementations with no infinity representations.
genType | Floating-point scalar or vector types. |
bool isnan | ( | genType const & | x | ) |
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.
Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension)
Returns false otherwise, including for implementations with no NaN representations.
genType | Floating-point scalar or vector types. |
genType glm::ldexp | ( | genType const & | x, |
genIType const & | exp | ||
) |
Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)
If this product is too large to be represented in the floating-point type, the result is undefined.
genType | Floating-point scalar or vector types. |
genType glm::max | ( | genType const & | x, |
genType const & | y | ||
) |
Returns y if x < y; otherwise, it returns x.
genType | Floating-point or integer; scalar or vector types. |
genType glm::min | ( | genType const & | x, |
genType const & | y | ||
) |
Returns y if y < x; otherwise, it returns x.
genType | Floating-point or integer; scalar or vector types. |
genTypeT glm::mix | ( | genTypeT const & | x, |
genTypeT const & | y, | ||
genTypeU const & | a | ||
) |
[in] | x | Value to interpolate. |
[in] | y | Value to interpolate. |
[in] | a | Interpolant. |
genTypeT | Floating point scalar or vector. |
genTypeU | Floating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT. |
#include <glm/glm.hpp> ... float a; bool b; glm::dvec3 e; glm::dvec3 f; glm::vec4 g; glm::vec4 h; ... glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors. glm::vec4 s = glm::mix(g, h, b); // Teturns g or h; glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second. glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
Referenced by glm::lerp().
genType glm::mod | ( | genType const & | x, |
genType const & | y | ||
) |
Modulus.
Returns x - y * floor(x / y) for each component in x using the floating point value y.
genType | Floating-point scalar or vector types. |
genType glm::mod | ( | genType const & | x, |
typename genType::value_type const & | y | ||
) |
Modulus.
Returns x - y * floor(x / y) for each component in x using the floating point value y.
genType | Floating-point scalar or vector types. |
genType glm::modf | ( | genType const & | x, |
genType & | i | ||
) |
Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).
Both the return value and the output parameter will have the same sign as x.
genType | Floating-point scalar or vector types. |
genType glm::round | ( | genType const & | x | ) |
Returns a value equal to the nearest integer to x.
The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x.
genType | Floating-point scalar or vector types. |
genType glm::roundEven | ( | genType const & | x | ) |
Returns a value equal to the nearest integer to x.
A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.)
genType | Floating-point scalar or vector types. |
genType glm::sign | ( | genType const & | x | ) |
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
genType | Floating-point or signed integer; scalar or vector types. |
genType glm::smoothstep | ( | genType const & | edge0, |
genType const & | edge1, | ||
genType const & | x | ||
) |
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.
This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x – edge0) / (edge1 – edge0), 0, 1); return t * t * (3 – 2 * t); Results are undefined if edge0 >= edge1.
genType | Floating-point scalar or vector types. |
genType glm::step | ( | genType const & | edge, |
genType const & | x | ||
) |
Returns 0.0 if x < edge, otherwise it returns 1.0.
genType glm::trunc | ( | genType const & | x | ) |
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.
genType | Floating-point scalar or vector types. |
genType glm::uintBitsToFloat | ( | genUType const & | value | ) |
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.
If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.
genType | Single-precision floating-point scalar or vector types. |
genUType | Unsigned integer scalar or vector types. |