Updated doxygen references

master
Christophe Riccio ago%!(EXTRA string=12 years)
parent 0a54eb99b1
commit ef15d06104
  1. 133
      glm/gtx/simd_vec4.hpp
  2. 6
      glm/gtx/spline.hpp
  3. 2
      glm/gtx/string_cast.hpp
  4. 32
      glm/gtx/vec1.hpp
  5. 6
      glm/gtx/vector_access.hpp
  6. 6
      glm/gtx/vector_angle.hpp
  7. 14
      glm/gtx/vector_query.hpp
  8. 10
      glm/gtx/verbose_operator.hpp
  9. 12
      glm/gtx/wrap.hpp

@ -160,25 +160,25 @@ namespace detail
/// @{ /// @{
//! Convert a simdVec4 to a vec4. //! Convert a simdVec4 to a vec4.
//! (From GLM_GTX_simd_vec4 extension) /// @see gtx_simd_vec4
vec4 vec4_cast( vec4 vec4_cast(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns x if x >= 0; otherwise, it returns -x. //! Returns x if x >= 0; otherwise, it returns -x.
//! (From GLM_GTX_simd_vec4 extension, common function) /// @see gtx_simd_vec4
detail::fvec4SIMD abs(detail::fvec4SIMD const & x); detail::fvec4SIMD abs(detail::fvec4SIMD const & x);
//! Returns 1.0 if x > 0, 0.0 if x = 0, or -1.0 if x < 0. //! 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) /// @see gtx_simd_vec4
detail::fvec4SIMD sign(detail::fvec4SIMD const & x); detail::fvec4SIMD sign(detail::fvec4SIMD const & x);
//! Returns a value equal to the nearest integer that is less then or equal to 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) /// @see gtx_simd_vec4
detail::fvec4SIMD floor(detail::fvec4SIMD const & x); detail::fvec4SIMD floor(detail::fvec4SIMD const & x);
//! Returns a value equal to the nearest integer to x //! Returns a value equal to the nearest integer to x
//! whose absolute value is not larger than the absolute value of x. //! whose absolute value is not larger than the absolute value of x.
//! (From GLM_GTX_simd_vec4 extension, common function) /// @see gtx_simd_vec4
detail::fvec4SIMD trunc(detail::fvec4SIMD const & x); detail::fvec4SIMD trunc(detail::fvec4SIMD const & x);
//! Returns a value equal to the nearest integer to x. //! Returns a value equal to the nearest integer to x.
@ -186,34 +186,39 @@ namespace detail
//! implementation, presumably the direction that is fastest. //! implementation, presumably the direction that is fastest.
//! This includes the possibility that round(x) returns the //! This includes the possibility that round(x) returns the
//! same value as roundEven(x) for all values of x. //! same value as roundEven(x) for all values of x.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD round(detail::fvec4SIMD const & x); detail::fvec4SIMD round(detail::fvec4SIMD const & x);
//! Returns a value equal to the nearest integer to x. //! Returns a value equal to the nearest integer to x.
//! A fractional part of 0.5 will round toward the nearest even //! 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.) //! integer. (Both 3.5 and 4.5 for x will return 4.0.)
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x); //detail::fvec4SIMD roundEven(detail::fvec4SIMD const & x);
//! Returns a value equal to the nearest integer //! Returns a value equal to the nearest integer
//! that is greater than or equal to x. //! that is greater than or equal to x.
//! (From GLM_GTX_simd_vec4 extension, common function) /// @see gtx_simd_vec4
detail::fvec4SIMD ceil(detail::fvec4SIMD const & x); detail::fvec4SIMD ceil(detail::fvec4SIMD const & x);
//! Return x - floor(x). //! Return x - floor(x).
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD fract(detail::fvec4SIMD const & x); detail::fvec4SIMD fract(detail::fvec4SIMD const & x);
//! Modulus. Returns x - y * floor(x / y) //! Modulus. Returns x - y * floor(x / y)
//! for each component in x using the floating point value y. //! for each component in x using the floating point value y.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD mod( detail::fvec4SIMD mod(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y); detail::fvec4SIMD const & y);
//! Modulus. Returns x - y * floor(x / y) //! Modulus. Returns x - y * floor(x / y)
//! for each component in x using the floating point value y. //! for each component in x using the floating point value y.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD mod( detail::fvec4SIMD mod(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
float const & y); float const & y);
@ -228,7 +233,8 @@ namespace detail
// detail::fvec4SIMD & i); // detail::fvec4SIMD & i);
//! Returns y if y < x; otherwise, it returns x. //! Returns y if y < x; otherwise, it returns x.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD min( detail::fvec4SIMD min(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y); detail::fvec4SIMD const & y);
@ -238,7 +244,8 @@ namespace detail
float const & y); float const & y);
//! Returns y if x < y; otherwise, it returns x. //! Returns y if x < y; otherwise, it returns x.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD max( detail::fvec4SIMD max(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y); detail::fvec4SIMD const & y);
@ -249,7 +256,8 @@ namespace detail
//! Returns min(max(x, minVal), maxVal) for each component in x //! Returns min(max(x, minVal), maxVal) for each component in x
//! using the floating-point values minVal and maxVal. //! using the floating-point values minVal and maxVal.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD clamp( detail::fvec4SIMD clamp(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & minVal, detail::fvec4SIMD const & minVal,
@ -283,15 +291,17 @@ namespace detail
//! \param[in] y Floating point scalar or vector. //! \param[in] y Floating point scalar or vector.
//! \param[in] a Floating point or boolean scalar or vector. //! \param[in] a Floating point or boolean scalar or vector.
//! //!
// \todo Test when 'a' is a boolean. /// \todo Test when 'a' is a boolean.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD mix( detail::fvec4SIMD mix(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y, detail::fvec4SIMD const & y,
detail::fvec4SIMD const & a); detail::fvec4SIMD const & a);
//! Returns 0.0 if x < edge, otherwise it returns 1.0. //! Returns 0.0 if x < edge, otherwise it returns 1.0.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD step( detail::fvec4SIMD step(
detail::fvec4SIMD const & edge, detail::fvec4SIMD const & edge,
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
@ -309,7 +319,8 @@ namespace detail
//! t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); //! t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
//! return t * t * (3 - 2 * t); //! return t * t * (3 - 2 * t);
//! Results are undefined if edge0 >= edge1. //! Results are undefined if edge0 >= edge1.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD smoothstep( detail::fvec4SIMD smoothstep(
detail::fvec4SIMD const & edge0, detail::fvec4SIMD const & edge0,
detail::fvec4SIMD const & edge1, detail::fvec4SIMD const & edge1,
@ -325,7 +336,8 @@ namespace detail
//! floating point representations. Returns false otherwise, //! floating point representations. Returns false otherwise,
//! including for implementations with no NaN //! including for implementations with no NaN
//! representations. //! representations.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//bvec4 isnan(detail::fvec4SIMD const & x); //bvec4 isnan(detail::fvec4SIMD const & x);
//! Returns true if x holds a positive infinity or negative //! Returns true if x holds a positive infinity or negative
@ -333,13 +345,15 @@ namespace detail
//! set of floating point representations. Returns false //! set of floating point representations. Returns false
//! otherwise, including for implementations with no infinity //! otherwise, including for implementations with no infinity
//! representations. //! representations.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//bvec4 isinf(detail::fvec4SIMD const & x); //bvec4 isinf(detail::fvec4SIMD const & x);
//! Returns a signed or unsigned integer value representing //! Returns a signed or unsigned integer value representing
//! the encoding of a floating-point value. The floatingpoint //! the encoding of a floating-point value. The floatingpoint
//! value's bit-level representation is preserved. //! value's bit-level representation is preserved.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value); //detail::ivec4SIMD floatBitsToInt(detail::fvec4SIMD const & value);
//! Returns a floating-point value corresponding to a signed //! Returns a floating-point value corresponding to a signed
@ -347,11 +361,13 @@ namespace detail
//! If an inf or NaN is passed in, it will not signal, and the //! If an inf or NaN is passed in, it will not signal, and the
//! resulting floating point value is unspecified. Otherwise, //! resulting floating point value is unspecified. Otherwise,
//! the bit-level representation is preserved. //! the bit-level representation is preserved.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value); //detail::fvec4SIMD intBitsToFloat(detail::ivec4SIMD const & value);
//! Computes and returns a * b + c. //! Computes and returns a * b + c.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD fma( detail::fvec4SIMD fma(
detail::fvec4SIMD const & a, detail::fvec4SIMD const & a,
detail::fvec4SIMD const & b, detail::fvec4SIMD const & b,
@ -365,7 +381,8 @@ namespace detail
//! floating-point value of zero, the significant and exponent //! floating-point value of zero, the significant and exponent
//! are both zero. For a floating-point value that is an //! are both zero. For a floating-point value that is an
//! infinity or is not a number, the results are undefined. //! infinity or is not a number, the results are undefined.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp); //detail::fvec4SIMD frexp(detail::fvec4SIMD const & x, detail::ivec4SIMD & exp);
//! Builds a floating-point number from x and the //! Builds a floating-point number from x and the
@ -373,86 +390,101 @@ namespace detail
//! significand * exp(2, exponent) //! significand * exp(2, exponent)
//! If this product is too large to be represented in the //! If this product is too large to be represented in the
//! floating-point type, the result is undefined. //! floating-point type, the result is undefined.
//! (From GLM_GTX_simd_vec4 extension, common function) ///
/// @see gtx_simd_vec4
//detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp); //detail::fvec4SIMD ldexp(detail::fvec4SIMD const & x, detail::ivec4SIMD const & exp);
//! Returns the length of x, i.e., sqrt(x * x). //! Returns the length of x, i.e., sqrt(x * x).
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
float length( float length(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the length of x, i.e., sqrt(x * x). //! Returns the length of x, i.e., sqrt(x * x).
//! Less accurate but much faster than simdLength. //! Less accurate but much faster than simdLength.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
float fastLength( float fastLength(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the length of x, i.e., sqrt(x * x). //! Returns the length of x, i.e., sqrt(x * x).
//! Slightly more accurate but much slower than simdLength. //! Slightly more accurate but much slower than simdLength.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
float niceLength( float niceLength(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the length of x, i.e., sqrt(x * x). //! Returns the length of x, i.e., sqrt(x * x).
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD length4( detail::fvec4SIMD length4(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the length of x, i.e., sqrt(x * x). //! Returns the length of x, i.e., sqrt(x * x).
//! Less accurate but much faster than simdLength4. //! Less accurate but much faster than simdLength4.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD fastLength4( detail::fvec4SIMD fastLength4(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the length of x, i.e., sqrt(x * x). //! Returns the length of x, i.e., sqrt(x * x).
//! Slightly more accurate but much slower than simdLength4. //! Slightly more accurate but much slower than simdLength4.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD niceLength4( detail::fvec4SIMD niceLength4(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). //! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
float distance( float distance(
detail::fvec4SIMD const & p0, detail::fvec4SIMD const & p0,
detail::fvec4SIMD const & p1); detail::fvec4SIMD const & p1);
//! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). //! Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD distance4( detail::fvec4SIMD distance4(
detail::fvec4SIMD const & p0, detail::fvec4SIMD const & p0,
detail::fvec4SIMD const & p1); detail::fvec4SIMD const & p1);
//! Returns the dot product of x and y, i.e., result = x * y. //! Returns the dot product of x and y, i.e., result = x * y.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
float simdDot( float simdDot(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y); detail::fvec4SIMD const & y);
//! Returns the dot product of x and y, i.e., result = x * y. //! Returns the dot product of x and y, i.e., result = x * y.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD dot4( detail::fvec4SIMD dot4(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y); detail::fvec4SIMD const & y);
//! Returns the cross product of x and y. //! Returns the cross product of x and y.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD cross( detail::fvec4SIMD cross(
detail::fvec4SIMD const & x, detail::fvec4SIMD const & x,
detail::fvec4SIMD const & y); detail::fvec4SIMD const & y);
//! Returns a vector in the same direction as x but with length of 1. //! Returns a vector in the same direction as x but with length of 1.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD normalize( detail::fvec4SIMD normalize(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns a vector in the same direction as x but with length of 1. //! Returns a vector in the same direction as x but with length of 1.
//! Less accurate but much faster than simdNormalize. //! Less accurate but much faster than simdNormalize.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD fastNormalize( detail::fvec4SIMD fastNormalize(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! If dot(Nref, I) < 0.0, return N, otherwise, return -N. //! If dot(Nref, I) < 0.0, return N, otherwise, return -N.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD simdFaceforward( detail::fvec4SIMD simdFaceforward(
detail::fvec4SIMD const & N, detail::fvec4SIMD const & N,
detail::fvec4SIMD const & I, detail::fvec4SIMD const & I,
@ -460,7 +492,8 @@ namespace detail
//! For the incident vector I and surface orientation N, //! For the incident vector I and surface orientation N,
//! returns the reflection direction : result = I - 2.0 * dot(N, I) * N. //! returns the reflection direction : result = I - 2.0 * dot(N, I) * N.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD reflect( detail::fvec4SIMD reflect(
detail::fvec4SIMD const & I, detail::fvec4SIMD const & I,
detail::fvec4SIMD const & N); detail::fvec4SIMD const & N);
@ -468,37 +501,43 @@ namespace detail
//! For the incident vector I and surface normal N, //! For the incident vector I and surface normal N,
//! and the ratio of indices of refraction eta, //! and the ratio of indices of refraction eta,
//! return the refraction vector. //! return the refraction vector.
//! (From GLM_GTX_simd_vec4 extension, geometry functions) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD refract( detail::fvec4SIMD refract(
detail::fvec4SIMD const & I, detail::fvec4SIMD const & I,
detail::fvec4SIMD const & N, detail::fvec4SIMD const & N,
float const & eta); float const & eta);
//! Returns the positive square root of x. //! Returns the positive square root of x.
//! (From GLM_GTX_simd_vec4 extension, exponential function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD sqrt( detail::fvec4SIMD sqrt(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the positive square root of x with the nicest quality but very slow. //! Returns the positive square root of x with the nicest quality but very slow.
//! Slightly more accurate but much slower than simdSqrt. //! Slightly more accurate but much slower than simdSqrt.
//! (From GLM_GTX_simd_vec4 extension, exponential function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD niceSqrt( detail::fvec4SIMD niceSqrt(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the positive square root of x //! Returns the positive square root of x
//! Less accurate but much faster than sqrt. //! Less accurate but much faster than sqrt.
//! (From GLM_GTX_simd_vec4 extension, exponential function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD fastSqrt( detail::fvec4SIMD fastSqrt(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the reciprocal of the positive square root of x. //! Returns the reciprocal of the positive square root of x.
//! (From GLM_GTX_simd_vec4 extension, exponential function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD inversesqrt( detail::fvec4SIMD inversesqrt(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
//! Returns the reciprocal of the positive square root of x. //! Returns the reciprocal of the positive square root of x.
//! Faster than inversesqrt but less accurate. //! Faster than inversesqrt but less accurate.
//! (From GLM_GTX_simd_vec4 extension, exponential function) ///
/// @see gtx_simd_vec4
detail::fvec4SIMD fastInversesqrt( detail::fvec4SIMD fastInversesqrt(
detail::fvec4SIMD const & x); detail::fvec4SIMD const & x);
@ -507,12 +546,10 @@ namespace detail
#include "simd_vec4.inl" #include "simd_vec4.inl"
#if (GLM_COMPILER & GLM_COMPILER_VC) #if (GLM_COMPILER & GLM_COMPILER_VC)
# pragma warning(pop) # pragma warning(pop)
#endif #endif
#endif//(GLM_ARCH != GLM_ARCH_PURE) #endif//(GLM_ARCH != GLM_ARCH_PURE)
#endif//GLM_GTX_simd_vec4 #endif//GLM_GTX_simd_vec4

@ -52,7 +52,7 @@ namespace glm
/// @{ /// @{
//! Return a point from a catmull rom curve. //! Return a point from a catmull rom curve.
//! From GLM_GTX_spline extension. /// @see gtx_spline extension.
template <typename genType> template <typename genType>
genType catmullRom( genType catmullRom(
genType const & v1, genType const & v1,
@ -62,7 +62,7 @@ namespace glm
typename genType::value_type const & s); typename genType::value_type const & s);
//! Return a point from a hermite curve. //! Return a point from a hermite curve.
//! From GLM_GTX_spline extension. /// @see gtx_spline extension.
template <typename genType> template <typename genType>
genType hermite( genType hermite(
genType const & v1, genType const & v1,
@ -72,7 +72,7 @@ namespace glm
typename genType::value_type const & s); typename genType::value_type const & s);
//! Return a point from a cubic curve. //! Return a point from a cubic curve.
//! From GLM_GTX_spline extension. /// @see gtx_spline extension.
template <typename genType> template <typename genType>
genType cubic( genType cubic(
genType const & v1, genType const & v1,

@ -58,7 +58,7 @@ namespace glm
/// @{ /// @{
/// Create a string from a GLM type value. /// Create a string from a GLM type value.
/// From GLM_GTX_string_cast extension. /// @see gtx_string_cast extension.
template <typename genType> template <typename genType>
std::string to_string(genType const & x); std::string to_string(genType const & x);

@ -49,62 +49,62 @@ namespace glm
{ {
//! 1 component vector of high precision floating-point numbers. //! 1 component vector of high precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_vec1_t highp_vec1; typedef highp_vec1_t highp_vec1;
//! 1 component vector of medium precision floating-point numbers. //! 1 component vector of medium precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef mediump_vec1_t mediump_vec1; typedef mediump_vec1_t mediump_vec1;
//! 1 component vector of low precision floating-point numbers. //! 1 component vector of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef lowp_vec1_t lowp_vec1; typedef lowp_vec1_t lowp_vec1;
//! 1 component vector of high precision signed integer numbers. //! 1 component vector of high precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_ivec1_t highp_ivec1; typedef highp_ivec1_t highp_ivec1;
//! 1 component vector of medium precision signed integer numbers. //! 1 component vector of medium precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef mediump_ivec1_t mediump_ivec1; typedef mediump_ivec1_t mediump_ivec1;
//! 1 component vector of low precision signed integer numbers. //! 1 component vector of low precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef lowp_ivec1_t lowp_ivec1; typedef lowp_ivec1_t lowp_ivec1;
//! 1 component vector of high precision unsigned integer numbers. //! 1 component vector of high precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_uvec1_t highp_uvec1; typedef highp_uvec1_t highp_uvec1;
//! 1 component vector of medium precision unsigned integer numbers. //! 1 component vector of medium precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef mediump_uvec1_t mediump_uvec1; typedef mediump_uvec1_t mediump_uvec1;
//! 1 component vector of low precision unsigned integer numbers. //! 1 component vector of low precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef lowp_uvec1_t lowp_uvec1; typedef lowp_uvec1_t lowp_uvec1;
//! 1 component vector of high precision boolean. //! 1 component vector of high precision boolean.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_bvec1_t highp_bvec1; typedef highp_bvec1_t highp_bvec1;
//! 1 component vector of medium precision boolean. //! 1 component vector of medium precision boolean.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef mediump_bvec1_t mediump_bvec1; typedef mediump_bvec1_t mediump_bvec1;
//! 1 component vector of low precision boolean. //! 1 component vector of low precision boolean.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef lowp_bvec1_t lowp_bvec1; typedef lowp_bvec1_t lowp_bvec1;
////////////////////////// //////////////////////////
@ -118,7 +118,7 @@ namespace glm
typedef lowp_bvec1 bvec1; typedef lowp_bvec1 bvec1;
#else #else
/// 1 component vector of boolean. /// 1 component vector of boolean.
/// From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_bvec1 bvec1; typedef highp_bvec1 bvec1;
#endif//GLM_PRECISION #endif//GLM_PRECISION
@ -130,7 +130,7 @@ namespace glm
typedef lowp_vec1 vec1; typedef lowp_vec1 vec1;
#else #else
/// 1 component vector of floating-point numbers. /// 1 component vector of floating-point numbers.
/// From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_vec1 vec1; typedef highp_vec1 vec1;
#endif//GLM_PRECISION #endif//GLM_PRECISION
@ -142,7 +142,7 @@ namespace glm
typedef lowp_ivec1 ivec1; typedef lowp_ivec1 ivec1;
#else #else
/// 1 component vector of signed integer numbers. /// 1 component vector of signed integer numbers.
/// From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_ivec1 ivec1; typedef highp_ivec1 ivec1;
#endif//GLM_PRECISION #endif//GLM_PRECISION
@ -154,7 +154,7 @@ namespace glm
typedef lowp_uvec1 uvec1; typedef lowp_uvec1 uvec1;
#else #else
/// 1 component vector of unsigned integer numbers. /// 1 component vector of unsigned integer numbers.
/// From GLM_GTX_vec1 extension. /// @see gtx_vec1 extension.
typedef highp_uvec1 uvec1; typedef highp_uvec1 uvec1;
#endif//GLM_PRECISION #endif//GLM_PRECISION

@ -51,7 +51,7 @@ namespace glm
/// @{ /// @{
//! Set values to a 2 components vector. //! Set values to a 2 components vector.
//! From GLM_GTX_vector_access extension. /// @see gtx_vector_access extension.
template <typename valType> template <typename valType>
void set( void set(
detail::tvec2<valType> & v, detail::tvec2<valType> & v,
@ -59,7 +59,7 @@ namespace glm
valType const & y); valType const & y);
//! Set values to a 3 components vector. //! Set values to a 3 components vector.
//! From GLM_GTX_vector_access extension. /// @see gtx_vector_access extension.
template <typename valType> template <typename valType>
void set( void set(
detail::tvec3<valType> & v, detail::tvec3<valType> & v,
@ -68,7 +68,7 @@ namespace glm
valType const & z); valType const & z);
//! Set values to a 4 components vector. //! Set values to a 4 components vector.
//! From GLM_GTX_vector_access extension. /// @see gtx_vector_access extension.
template <typename valType> template <typename valType>
void set( void set(
detail::tvec4<valType> & v, detail::tvec4<valType> & v,

@ -57,7 +57,7 @@ namespace glm
//! Returns the absolute angle between two vectors //! Returns the absolute angle between two vectors
//! Parameters need to be normalized. //! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension /// @see gtx_vector_angle extension
template <typename vecType> template <typename vecType>
GLM_FUNC_QUALIFIER typename vecType::value_type angle( GLM_FUNC_QUALIFIER typename vecType::value_type angle(
vecType const & x, vecType const & x,
@ -65,7 +65,7 @@ namespace glm
//! Returns the oriented angle between two 2d vectors //! Returns the oriented angle between two 2d vectors
//! Parameters need to be normalized. //! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension. /// @see gtx_vector_angle extension.
template <typename T, precision P> template <typename T, precision P>
GLM_FUNC_QUALIFIER T orientedAngle( GLM_FUNC_QUALIFIER T orientedAngle(
detail::tvec2<T, P> const & x, detail::tvec2<T, P> const & x,
@ -73,7 +73,7 @@ namespace glm
//! Returns the oriented angle between two 3d vectors based from a reference axis. //! Returns the oriented angle between two 3d vectors based from a reference axis.
//! Parameters need to be normalized. //! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension. /// @see gtx_vector_angle extension.
template <typename T, precision P> template <typename T, precision P>
GLM_FUNC_QUALIFIER T orientedAngle( GLM_FUNC_QUALIFIER T orientedAngle(
detail::tvec3<T, P> const & x, detail::tvec3<T, P> const & x,

@ -53,7 +53,7 @@ namespace glm
/// @{ /// @{
//! Check whether two vectors are collinears. //! Check whether two vectors are collinears.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename genType> template <typename genType>
bool areCollinear( bool areCollinear(
genType const & v0, genType const & v0,
@ -61,7 +61,7 @@ namespace glm
typename genType::value_type const & epsilon); typename genType::value_type const & epsilon);
//! Check whether two vectors are orthogonals. //! Check whether two vectors are orthogonals.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename genType> template <typename genType>
bool areOrthogonal( bool areOrthogonal(
genType const & v0, genType const & v0,
@ -69,35 +69,35 @@ namespace glm
typename genType::value_type const & epsilon); typename genType::value_type const & epsilon);
//! Check whether a vector is normalized. //! Check whether a vector is normalized.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename genType, precision P, template <typename, precision> class vecType> template <typename genType, precision P, template <typename, precision> class vecType>
bool isNormalized( bool isNormalized(
vecType<genType, P> const & v, vecType<genType, P> const & v,
genType const & epsilon); genType const & epsilon);
//! Check whether a vector is null. //! Check whether a vector is null.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename T, precision P> template <typename T, precision P>
bool isNull( bool isNull(
detail::tvec2<T, P> const & v, detail::tvec2<T, P> const & v,
T const & epsilon); T const & epsilon);
//! Check whether a vector is null. //! Check whether a vector is null.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename T, precision P> template <typename T, precision P>
bool isNull( bool isNull(
detail::tvec3<T, P> const & v, detail::tvec3<T, P> const & v,
T const & epsilon); T const & epsilon);
//! Check whether a vector is null. //! Check whether a vector is null.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename T, precision P> template <typename T, precision P>
bool isNull( bool isNull(
detail::tvec4<T, P> const & v, detail::tvec4<T, P> const & v,
T const & epsilon); T const & epsilon);
//! Check whether two vectors are orthonormal. //! Check whether two vectors are orthonormal.
//! From GLM_GTX_vector_query extensions. /// @see gtx_vector_query extensions.
template <typename genType> template <typename genType>
bool areOrthonormal( bool areOrthonormal(
genType const & v0, genType const & v0,

@ -51,27 +51,27 @@ namespace glm
/// @{ /// @{
//! Addition of two values //! Addition of two values
//! From GLM_GTX_verbose_operator extension. /// @see gtx_verbose_operator extension.
template <typename genTypeT, typename genTypeU> template <typename genTypeT, typename genTypeU>
genTypeT add(genTypeT const & a, genTypeU const & b); genTypeT add(genTypeT const & a, genTypeU const & b);
//! Substration of two values //! Substration of two values
//! From GLM_GTX_verbose_operator extension. /// @see gtx_verbose_operator extension.
template <typename genTypeT, typename genTypeU> template <typename genTypeT, typename genTypeU>
genTypeT sub(genTypeT const & a, genTypeU const & b); genTypeT sub(genTypeT const & a, genTypeU const & b);
//! Multiplication of two values //! Multiplication of two values
//! From GLM_GTX_verbose_operator extension. /// @see gtx_verbose_operator extension.
template <typename genTypeT, typename genTypeU> template <typename genTypeT, typename genTypeU>
genTypeT mul(genTypeT const & a, genTypeU const & b); genTypeT mul(genTypeT const & a, genTypeU const & b);
//! Division of two values //! Division of two values
//! From GLM_GTX_verbose_operator extension. /// @see gtx_verbose_operator extension.
template <typename genTypeT, typename genTypeU> template <typename genTypeT, typename genTypeU>
genTypeT div(genTypeT const & a, genTypeU const & b); genTypeT div(genTypeT const & a, genTypeU const & b);
//! Multiplication and addition of three values //! Multiplication and addition of three values
//! From GLM_GTX_verbose_operator extension. /// @see gtx_verbose_operator extension.
template <typename genTypeT, typename genTypeU, typename genTypeV> template <typename genTypeT, typename genTypeU, typename genTypeV>
genTypeT mad(genTypeT const & a, genTypeU const & b, genTypeV const & c); genTypeT mad(genTypeT const & a, genTypeU const & b, genTypeV const & c);

@ -50,18 +50,18 @@ namespace glm
/// @addtogroup gtx_wrap /// @addtogroup gtx_wrap
/// @{ /// @{
//! Simulate GL_CLAMP OpenGL wrap mode /// Simulate GL_CLAMP OpenGL wrap mode
//! From GLM_GTX_wrap extension. /// @see gtx_wrap extension.
template <typename genType> template <typename genType>
genType clamp(genType const & Texcoord); genType clamp(genType const & Texcoord);
//! Simulate GL_REPEAT OpenGL wrap mode /// Simulate GL_REPEAT OpenGL wrap mode
//! From GLM_GTX_wrap extension. /// @see gtx_wrap extension.
template <typename genType> template <typename genType>
genType repeat(genType const & Texcoord); genType repeat(genType const & Texcoord);
//! Simulate GL_MIRROR_REPEAT OpenGL wrap mode /// Simulate GL_MIRROR_REPEAT OpenGL wrap mode
//! From GLM_GTX_wrap extension. /// @see gtx_wrap extension.
template <typename genType> template <typename genType>
genType mirrorRepeat(genType const & Texcoord); genType mirrorRepeat(genType const & Texcoord);

Loading…
Cancel
Save