Merge branch '0.9.3' into swizzle

This commit is contained in:
Christophe Riccio 2011-10-17 16:26:04 +01:00
commit 12192d9232
6 changed files with 36 additions and 44 deletions

View File

@ -26,14 +26,7 @@
Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets for bug reports and feature requests</a>. Thanks for contributing to the project by <a href="https://sourceforge.net/apps/trac/ogl-math/newticket">submitting tickets for bug reports and feature requests</a>.
(SF.net account required). Any feedback is welcome at glm@g-truc.net. (SF.net account required). Any feedback is welcome at glm@g-truc.net.
\li \subpage pg_started These pages are the API reference only. For more information about how to use GLM, please have a look at <a href="http://glm.g-truc.net/glm.pdf">the manual</a>.
\li \subpage pg_advanced
\li \subpage pg_differences
\li \subpage pg_deprecated
\li \subpage pg_issues
\li \subpage pg_faq
\li \subpage pg_samples
\li \subpage pg_reference
**/ **/
/*! /*!

View File

@ -55,7 +55,7 @@ namespace glm
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThan.xml">GLSL lessThan man page</a> /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThan.xml">GLSL lessThan man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a> /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename vecType> template <typename vecType>
GLM_FUNC_QUALIFIER typename vecType::bool_type lessThan(vecType const & x, vecType const & y); typename vecType::bool_type lessThan(vecType const & x, vecType const & y);
/// Returns the component-wise comparison of result x <= y. /// Returns the component-wise comparison of result x <= y.
/// ///
@ -63,8 +63,8 @@ namespace glm
/// ///
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThanEqual.xml">GLSL lessThanEqual man page</a> /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/lessThanEqual.xml">GLSL lessThanEqual man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a> /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename T, template <typename> class vecType> template <typename vecType>
GLM_FUNC_QUALIFIER typename vecType<T>::bool_type lessThanEqual(vecType<T> const & x, vecType<T> const & y); typename vecType::bool_type lessThanEqual(vecType const & x, vecType const & y);
/// Returns the component-wise comparison of result x > y. /// Returns the component-wise comparison of result x > y.
/// ///
@ -72,8 +72,8 @@ namespace glm
/// ///
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThan.xml">GLSL greaterThan man page</a> /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThan.xml">GLSL greaterThan man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a> /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename T, template <typename> class vecType> template <typename vecType>
GLM_FUNC_QUALIFIER typename vecType<T>::bool_type greaterThan(vecType<T> const & x, vecType<T> const & y); typename vecType::bool_type greaterThan(vecType const & x, vecType const & y);
/// Returns the component-wise comparison of result x >= y. /// Returns the component-wise comparison of result x >= y.
/// ///
@ -81,8 +81,8 @@ namespace glm
/// ///
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThanEqual.xml">GLSL greaterThanEqual man page</a> /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/greaterThanEqual.xml">GLSL greaterThanEqual man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a> /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename T, template <typename> class vecType> template <typename vecType>
typename vecType<T>::bool_type greaterThanEqual(vecType<T> const & x, vecType<T> const & y); typename vecType::bool_type greaterThanEqual(vecType const & x, vecType const & y);
/// Returns the component-wise comparison of result x == y. /// Returns the component-wise comparison of result x == y.
/// ///
@ -90,8 +90,8 @@ namespace glm
/// ///
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/equal.xml">GLSL equal man page</a> /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/equal.xml">GLSL equal man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a> /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename T, template <typename> class vecType> template <typename vecType>
GLM_FUNC_QUALIFIER typename vecType<T>::bool_type equal(vecType<T> const & x, vecType<T> const & y); typename vecType::bool_type equal(vecType const & x, vecType const & y);
/// Returns the component-wise comparison of result x != y. /// Returns the component-wise comparison of result x != y.
/// ///
@ -99,8 +99,8 @@ namespace glm
/// ///
/// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/notEqual.xml">GLSL notEqual man page</a> /// @see - <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/notEqual.xml">GLSL notEqual man page</a>
/// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a> /// @see - <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7</a>
template <typename T, template <typename> class vecType> template <typename vecType>
typename vecType<T>::bool_type notEqual(vecType<T> const & x, vecType<T> const & y); typename vecType::bool_type notEqual(vecType const & x, vecType const & y);
/// Returns true if any component of x is true. /// Returns true if any component of x is true.
/// ///

View File

@ -27,16 +27,15 @@
/// ///
/// @see core (dependence) /// @see core (dependence)
/// ///
/// @defgroup gtx_noise GLM_GTX_noise: Procedural noise functions /// @defgroup gtc_noise GLM_GTC_noise: Procedural noise functions
/// @ingroup gtx /// @ingroup gtc
/// ///
/// Defines 2D, 3D and 4D procedural noise functions /// Defines 2D, 3D and 4D procedural noise functions
/// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": /// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise":
/// https://github.com/ashima/webgl-noise /// https://github.com/ashima/webgl-noise
/// Following Stefan Gustavson's paper "Simplex noise demystified": /// Following Stefan Gustavson's paper "Simplex noise demystified":
/// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf /// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf
/// Defines the half-precision floating-point type, along with various typedefs for vectors and matrices. /// <glm/gtc/noise.hpp> need to be included to use these functionalities.
/// <glm/gtx/noise.hpp> need to be included to use these functionalities.
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
#ifndef GLM_GTC_noise #ifndef GLM_GTC_noise
@ -51,7 +50,7 @@
namespace glm namespace glm
{ {
/// @addtogroup gtx_noise /// @addtogroup gtc_noise
/// @{ /// @{
/// Classic perlin noise. /// Classic perlin noise.

View File

@ -150,21 +150,21 @@ namespace detail
/// @addtogroup gtc_quaternion /// @addtogroup gtc_quaternion
/// @{ /// @{
//! Returns the length of the quaternion. /// Returns the length of the quaternion.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
T length( T length(
detail::tquat<T> const & q); detail::tquat<T> const & q);
//! Returns the normalized quaternion. /// Returns the normalized quaternion.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tquat<T> normalize( detail::tquat<T> normalize(
detail::tquat<T> const & q); detail::tquat<T> const & q);
//! Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... /// Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
@ -172,7 +172,7 @@ namespace detail
detail::tquat<T> const & q1, detail::tquat<T> const & q1,
detail::tquat<T> const & q2); detail::tquat<T> const & q2);
//! Returns a SLERP interpolated quaternion of x and y according a. /// Returns a SLERP interpolated quaternion of x and y according a.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
@ -181,21 +181,21 @@ namespace detail
detail::tquat<T> const & y, detail::tquat<T> const & y,
T const & a); T const & a);
//! Returns the q conjugate. /// Returns the q conjugate.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tquat<T> conjugate( detail::tquat<T> conjugate(
detail::tquat<T> const & q); detail::tquat<T> const & q);
//! Returns the q inverse. /// Returns the q inverse.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tquat<T> inverse( detail::tquat<T> inverse(
detail::tquat<T> const & q); detail::tquat<T> const & q);
//! Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees. /// Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
@ -204,65 +204,65 @@ namespace detail
typename detail::tquat<T>::value_type const & angle, typename detail::tquat<T>::value_type const & angle,
detail::tvec3<T> const & v); detail::tvec3<T> const & v);
//! Converts a quaternion to a 3 * 3 matrix. /// Converts a quaternion to a 3 * 3 matrix.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tmat3x3<T> mat3_cast( detail::tmat3x3<T> mat3_cast(
detail::tquat<T> const & x); detail::tquat<T> const & x);
//! Converts a quaternion to a 4 * 4 matrix. /// Converts a quaternion to a 4 * 4 matrix.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tmat4x4<T> mat4_cast( detail::tmat4x4<T> mat4_cast(
detail::tquat<T> const & x); detail::tquat<T> const & x);
//! Converts a 3 * 3 matrix to a quaternion. /// Converts a 3 * 3 matrix to a quaternion.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tquat<T> quat_cast( detail::tquat<T> quat_cast(
detail::tmat3x3<T> const & x); detail::tmat3x3<T> const & x);
//! Converts a 4 * 4 matrix to a quaternion. /// Converts a 4 * 4 matrix to a quaternion.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
template <typename T> template <typename T>
detail::tquat<T> quat_cast( detail::tquat<T> quat_cast(
detail::tmat4x4<T> const & x); detail::tmat4x4<T> const & x);
//! Quaternion of floating-point numbers. /// Quaternion of floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<float> quat; typedef detail::tquat<float> quat;
//! Quaternion of half-precision floating-point numbers. /// Quaternion of half-precision floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<detail::thalf> hquat; typedef detail::tquat<detail::thalf> hquat;
//! Quaternion of single-precision floating-point numbers. /// Quaternion of single-precision floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<float> fquat; typedef detail::tquat<float> fquat;
//! Quaternion of double-precision floating-point numbers. /// Quaternion of double-precision floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<double> dquat; typedef detail::tquat<double> dquat;
//! Quaternion of low precision floating-point numbers. /// Quaternion of low precision floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<lowp_float> lowp_quat; typedef detail::tquat<lowp_float> lowp_quat;
//! Quaternion of medium precision floating-point numbers. /// Quaternion of medium precision floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<mediump_float> mediump_quat; typedef detail::tquat<mediump_float> mediump_quat;
//! Quaternion of high precision floating-point numbers. /// Quaternion of high precision floating-point numbers.
/// ///
/// @see - gtc_quaternion /// @see - gtc_quaternion
typedef detail::tquat<highp_float> highp_quat; typedef detail::tquat<highp_float> highp_quat;

View File

@ -32,7 +32,7 @@
/// @defgroup gtc_random GLM_GTC_random: Random number generation /// @defgroup gtc_random GLM_GTC_random: Random number generation
/// @ingroup gtc /// @ingroup gtc
/// ///
/// @brief Generate random number from various distribution methods /// @brief Generate random number from various distribution methods.
/// ///
/// <glm/gtc/random.hpp> need to be included to use these functionalities. /// <glm/gtc/random.hpp> need to be included to use these functionalities.
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////

View File

@ -32,7 +32,7 @@
/// @defgroup gtc_type_ptr GLM_GTC_type_ptr: Memory layout access /// @defgroup gtc_type_ptr GLM_GTC_type_ptr: Memory layout access
/// @ingroup gtc /// @ingroup gtc
/// ///
/// @brief Used to get a pointer to the memory layout of a basic type. /// @brief Handles the interaction between pointers and vector, matrix types.
/// ///
/// This extension defines an overloaded function, glm::value_ptr, which /// This extension defines an overloaded function, glm::value_ptr, which
/// takes any of the \ref core_template "core template types". It returns /// takes any of the \ref core_template "core template types". It returns