From dc4623b51d1ff90487d3c498052f6e1f976e51e8 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Mon, 11 Apr 2011 16:12:35 +0100 Subject: [PATCH] Added link to GLSL man pages --- glm/core/func_common.hpp | 98 +++++++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 26 deletions(-) diff --git a/glm/core/func_common.hpp b/glm/core/func_common.hpp index 10d917f3..ec564bf8 100644 --- a/glm/core/func_common.hpp +++ b/glm/core/func_common.hpp @@ -69,24 +69,32 @@ namespace glm //! 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 GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL roundEven man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType roundEven(genType const & x); //! Returns a value equal to the nearest integer //! that is greater than or equal to x. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL ceil man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType ceil(genType const & x); //! Return x - floor(x). - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL fract man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType fract(genType const & x); //! Modulus. Returns x - y * floor(x / y) //! for each component in x using the floating point value y. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL mod man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType mod( genType const & x, @@ -94,7 +102,9 @@ namespace glm //! Modulus. Returns x - y * floor(x / y) //! for each component in x using the floating point value y. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL mod man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType mod( genType const & x, @@ -104,14 +114,18 @@ namespace glm //! part (as a whole number floating point value). Both the //! return value and the output parameter will have the same //! sign as x. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL modf man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType modf( genType const & x, genType & i); //! Returns y if y < x; otherwise, it returns x. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL min man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType min( genType const & x, @@ -123,7 +137,9 @@ namespace glm typename genType::value_type const & y); //! Returns y if x < y; otherwise, it returns x. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL max man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType max( genType const & x, @@ -136,7 +152,9 @@ namespace glm //! Returns min(max(x, minVal), maxVal) for each component in x //! using the floating-point values minVal and maxVal. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL clamp man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType clamp( genType const & x, @@ -165,8 +183,9 @@ namespace glm //! provides different functionality than //! genType mix(genType x, genType y, genType(a)) //! where a is a Boolean vector. - //! - //! From GLSL 1.30.08 specification, section 8.3 + //! + //! \li GLSL mix man page + //! \li GLSL 1.30.08 specification, section 8.3 //! //! \param[in] x Floating point scalar or vector. //! \param[in] y Floating point scalar or vector. @@ -177,7 +196,9 @@ namespace glm genTypeT mix(genTypeT const & x, genTypeT const & y, genTypeU const & a); //! Returns 0.0 if x < edge, otherwise it returns 1.0. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL step man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType step( genType const & edge, @@ -197,7 +218,9 @@ namespace glm //! t = clamp ((x – edge0) / (edge1 – edge0), 0, 1); //! return t * t * (3 – 2 * t); //! Results are undefined if edge0 >= edge1. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL smoothstep man page + //! \li GLSL 1.30.08 specification, section 8.3 template genType smoothstep( genType const & edge0, @@ -215,7 +238,9 @@ namespace glm //! floating point representations. Returns false otherwise, //! including for implementations with no NaN //! representations. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL isnan man page + //! \li GLSL 1.30.08 specification, section 8.3 template typename genType::bool_type isnan(genType const & x); @@ -224,35 +249,56 @@ namespace glm //! set of floating point representations. Returns false //! otherwise, including for implementations with no infinity //! representations. - //! (From GLSL 1.30.08 specification, section 8.3) + //! + //! \li GLSL isinf man page + //! \li GLSL 1.30.08 specification, section 8.3 template typename genType::bool_type isinf(genType const & x); - //! Returns a signed or unsigned integer value representing + //! Returns a signed integer value representing //! the encoding of a floating-point value. The floatingpoint //! value's bit-level representation is preserved. - //! (From GLSL 4.00.08 specification, section 8.3) + //! + //! \li GLSL floatBitsToInt man page + //! \li GLSL 4.00.08 specification, section 8.3 template genIType floatBitsToInt(genType const & value); - //! Returns a signed or unsigned integer value representing + //! Returns a unsigned integer value representing //! the encoding of a floating-point value. The floatingpoint //! value's bit-level representation is preserved. - //! (From GLSL 4.00.08 specification, section 8.3) + //! + //! \li GLSL floatBitsToUint man page + //! \li GLSL 4.00.08 specification, section 8.3 template - genUType floatBitsToInt(genType const & value); + genUType floatBitsToUint(genType const & value); //! Returns a floating-point value corresponding to a signed - //! or unsigned integer encoding of a floating-point value. + //! 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 GLSL 4.00.08 specification, section 8.3) - template - genType intBitsToFloat(genIUType const & value); - + //! + //! \li GLSL intBitsToFloat man page + //! \li GLSL 4.00.08 specification, section 8.3 + template + genType intBitsToFloat(genIType 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. + //! + //! \li GLSL uintBitsToFloat man page + //! \li GLSL 4.00.08 specification, section 8.3 + template + genType uintBitsToFloat(genUType const & value); + //! Computes and returns a * b + c. - //! (From GLSL 4.00.08 specification, section 8.3) + //! + //! \li GLSL fma man page + //! \li GLSL 4.00.08 specification, section 8.3 template genType fma(genType const & a, genType const & b, genType const & c);