SIMD implementation of vec4 type. More...
Functions | |
detail::fvec4SIMD | abs (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | ceil (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | clamp (detail::fvec4SIMD const &x, detail::fvec4SIMD const &minVal, detail::fvec4SIMD const &maxVal) |
detail::fvec4SIMD | cross (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y) |
float | distance (detail::fvec4SIMD const &p0, detail::fvec4SIMD const &p1) |
detail::fvec4SIMD | distance4 (detail::fvec4SIMD const &p0, detail::fvec4SIMD const &p1) |
detail::fvec4SIMD | dot4 (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y) |
detail::fvec4SIMD | fastInversesqrt (detail::fvec4SIMD const &x) |
float | fastLength (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | fastLength4 (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | fastNormalize (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | fastSqrt (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | floor (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | fma (detail::fvec4SIMD const &a, detail::fvec4SIMD const &b, detail::fvec4SIMD const &c) |
detail::fvec4SIMD | fract (detail::fvec4SIMD const &x) |
GLM_ALIGNED_STRUCT (4) fvec4SIMD | |
detail::fvec4SIMD | inversesqrt (detail::fvec4SIMD const &x) |
float | length (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | length4 (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | max (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y) |
detail::fvec4SIMD | min (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y) |
detail::fvec4SIMD | mix (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y, detail::fvec4SIMD const &a) |
detail::fvec4SIMD | mod (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y) |
detail::fvec4SIMD | mod (detail::fvec4SIMD const &x, float const &y) |
float | niceLength (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | niceLength4 (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | niceSqrt (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | normalize (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | reflect (detail::fvec4SIMD const &I, detail::fvec4SIMD const &N) |
detail::fvec4SIMD | refract (detail::fvec4SIMD const &I, detail::fvec4SIMD const &N, float const &eta) |
detail::fvec4SIMD | round (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | sign (detail::fvec4SIMD const &x) |
float | simdDot (detail::fvec4SIMD const &x, detail::fvec4SIMD const &y) |
detail::fvec4SIMD | simdFaceforward (detail::fvec4SIMD const &N, detail::fvec4SIMD const &I, detail::fvec4SIMD const &Nref) |
detail::fvec4SIMD | smoothstep (detail::fvec4SIMD const &edge0, detail::fvec4SIMD const &edge1, detail::fvec4SIMD const &x) |
detail::fvec4SIMD | sqrt (detail::fvec4SIMD const &x) |
detail::fvec4SIMD | step (detail::fvec4SIMD const &edge, detail::fvec4SIMD const &x) |
detail::fvec4SIMD | trunc (detail::fvec4SIMD const &x) |
detail::tvec4< float > | vec4_cast (detail::fvec4SIMD const &x) |
SIMD implementation of vec4 type.
<glm/gtx/simd_vec4.hpp> need to be included to use these functionalities.
detail::fvec4SIMD glm::gtx::simd_vec4::abs | ( | detail::fvec4SIMD const & | x | ) |
Returns x if x >= 0; otherwise, it returns -x.
(From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::ceil | ( | detail::fvec4SIMD 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.) (From GLM_GTX_simd_vec4 extension, common function) Returns a value equal to the nearest integer that is greater than or equal to x. (From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::clamp | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | minVal, | ||
detail::fvec4SIMD const & | maxVal | ||
) |
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.
(From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::cross | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y | ||
) |
Returns the cross product of x and y.
(From GLM_GTX_simd_vec4 extension, geometry functions)
float glm::gtx::simd_vec4::distance | ( | detail::fvec4SIMD const & | p0, |
detail::fvec4SIMD const & | p1 | ||
) |
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::distance4 | ( | detail::fvec4SIMD const & | p0, |
detail::fvec4SIMD const & | p1 | ||
) |
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::dot4 | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y | ||
) |
Returns the dot product of x and y, i.e., result = x * y.
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::fastInversesqrt | ( | detail::fvec4SIMD const & | x | ) |
Returns the reciprocal of the positive square root of x.
Faster than inversesqrt but less accurate. (From GLM_GTX_simd_vec4 extension, exponential function)
float glm::gtx::simd_vec4::fastLength | ( | detail::fvec4SIMD const & | x | ) |
Returns the length of x, i.e., sqrt(x * x).
Less accurate but much faster than simdLength. (From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::fastLength4 | ( | detail::fvec4SIMD const & | x | ) |
Returns the length of x, i.e., sqrt(x * x).
Less accurate but much faster than simdLength4. (From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::fastNormalize | ( | detail::fvec4SIMD const & | x | ) |
Returns a vector in the same direction as x but with length of 1.
Less accurate but much faster than simdNormalize. (From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::fastSqrt | ( | detail::fvec4SIMD const & | x | ) |
Returns the positive square root of x Less accurate but much faster than sqrt.
(From GLM_GTX_simd_vec4 extension, exponential function)
detail::fvec4SIMD glm::gtx::simd_vec4::floor | ( | detail::fvec4SIMD const & | x | ) |
Returns a value equal to the nearest integer that is less then or equal to x.
(From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::fma | ( | detail::fvec4SIMD const & | a, |
detail::fvec4SIMD const & | b, | ||
detail::fvec4SIMD const & | c | ||
) |
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.
Returns false otherwise, including for implementations with no NaN representations. (From GLM_GTX_simd_vec4 extension, common function) Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. Returns false otherwise, including for implementations with no infinity representations. (From GLM_GTX_simd_vec4 extension, common function) Returns a signed or unsigned integer value representing the encoding of a floating-point value. The floatingpoint value's bit-level representation is preserved. (From GLM_GTX_simd_vec4 extension, common function) Returns a floating-point value corresponding to a signed or 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. (From GLM_GTX_simd_vec4 extension, common function) Computes and returns a * b + c. (From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::fract | ( | detail::fvec4SIMD const & | x | ) |
Return x - floor(x).
(From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::inversesqrt | ( | detail::fvec4SIMD const & | x | ) |
Returns the reciprocal of the positive square root of x.
(From GLM_GTX_simd_vec4 extension, exponential function)
float glm::gtx::simd_vec4::length | ( | detail::fvec4SIMD const & | x | ) |
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. (From GLM_GTX_simd_vec4 extension, common function) 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. (From GLM_GTX_simd_vec4 extension, common function) Returns the length of x, i.e., sqrt(x * x). (From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::length4 | ( | detail::fvec4SIMD const & | x | ) |
Returns the length of x, i.e., sqrt(x * x).
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::max | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y | ||
) |
Returns y if x < y; otherwise, it returns x.
(From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::min | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y | ||
) |
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. (From GLM_GTX_simd_vec4 extension, common function) Returns y if y < x; otherwise, it returns x. (From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::mix | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y, | ||
detail::fvec4SIMD const & | a | ||
) |
(From GLM_GTX_simd_vec4 extension, common function)
From GLSL 1.30.08 specification, section 8.3
[in] | x | Floating point scalar or vector. |
[in] | y | Floating point scalar or vector. |
[in] | a | Floating point or boolean scalar or vector. |
detail::fvec4SIMD glm::gtx::simd_vec4::mod | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y | ||
) |
Modulus.
Returns x - y * floor(x / y) for each component in x using the floating point value y. (From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::mod | ( | detail::fvec4SIMD const & | x, |
float const & | y | ||
) |
Modulus.
Returns x - y * floor(x / y) for each component in x using the floating point value y. (From GLM_GTX_simd_vec4 extension, common function)
float glm::gtx::simd_vec4::niceLength | ( | detail::fvec4SIMD const & | x | ) |
Returns the length of x, i.e., sqrt(x * x).
Slightly more accurate but much slower than simdLength. (From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::niceLength4 | ( | detail::fvec4SIMD const & | x | ) |
Returns the length of x, i.e., sqrt(x * x).
Slightly more accurate but much slower than simdLength4. (From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::niceSqrt | ( | detail::fvec4SIMD const & | x | ) |
Returns the positive square root of x with the nicest quality but very slow.
Slightly more accurate but much slower than simdSqrt. (From GLM_GTX_simd_vec4 extension, exponential function)
detail::fvec4SIMD glm::gtx::simd_vec4::normalize | ( | detail::fvec4SIMD const & | x | ) |
Returns a vector in the same direction as x but with length of 1.
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::reflect | ( | detail::fvec4SIMD const & | I, |
detail::fvec4SIMD const & | N | ||
) |
For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::refract | ( | detail::fvec4SIMD const & | I, |
detail::fvec4SIMD const & | N, | ||
float const & | eta | ||
) |
For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::round | ( | detail::fvec4SIMD 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. (From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::sign | ( | detail::fvec4SIMD const & | x | ) |
Returns 1.0 if x > 0, 0.0 if x = 0, or -1.0 if x < 0.
(From GLM_GTX_simd_vec4 extension, common function)
float glm::gtx::simd_vec4::simdDot | ( | detail::fvec4SIMD const & | x, |
detail::fvec4SIMD const & | y | ||
) |
Returns the dot product of x and y, i.e., result = x * y.
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::simdFaceforward | ( | detail::fvec4SIMD const & | N, |
detail::fvec4SIMD const & | I, | ||
detail::fvec4SIMD const & | Nref | ||
) |
If dot(Nref, I) < 0.0, return N, otherwise, return -N.
(From GLM_GTX_simd_vec4 extension, geometry functions)
detail::fvec4SIMD glm::gtx::simd_vec4::smoothstep | ( | detail::fvec4SIMD const & | edge0, |
detail::fvec4SIMD const & | edge1, | ||
detail::fvec4SIMD 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. (From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::sqrt | ( | detail::fvec4SIMD const & | x | ) |
Returns the positive square root of x.
(From GLM_GTX_simd_vec4 extension, exponential function)
detail::fvec4SIMD glm::gtx::simd_vec4::step | ( | detail::fvec4SIMD const & | edge, |
detail::fvec4SIMD const & | x | ||
) |
Returns 0.0 if x < edge, otherwise it returns 1.0.
(From GLM_GTX_simd_vec4 extension, common function)
detail::fvec4SIMD glm::gtx::simd_vec4::trunc | ( | detail::fvec4SIMD const & | x | ) |
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.
(From GLM_GTX_simd_vec4 extension, common function)
detail::tvec4<float> glm::gtx::simd_vec4::vec4_cast | ( | detail::fvec4SIMD const & | x | ) |
Convert a simdVec4 to a vec4.
(From GLM_GTX_simd_vec4 extension)