Merge branch '0.9.3' into 0.9.4

This commit is contained in:
Christophe Riccio
2012-01-10 10:40:00 +00:00
287 changed files with 759 additions and 500 deletions

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights
@@ -50,14 +50,14 @@ namespace glm
/// @{
/// Get a specific row of a matrix.
/// @see - gtc_matrix_access
/// @see gtc_matrix_access
template <typename genType>
typename genType::row_type row(
genType const & m,
int index);
/// Set a specific row to a matrix.
/// @see - gtc_matrix_access
/// @see gtc_matrix_access
template <typename genType>
genType row(
genType const & m,
@@ -65,14 +65,14 @@ namespace glm
typename genType::row_type const & x);
/// Get a specific column of a matrix.
/// @see - gtc_matrix_access
/// @see gtc_matrix_access
template <typename genType>
typename genType::col_type column(
genType const & m,
int index);
/// Set a specific column to a matrix.
/// @see - gtc_matrix_access
/// @see gtc_matrix_access
template <typename genType>
genType column(
genType const & m,

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights
@@ -50,300 +50,300 @@ namespace glm
/// @{
/// High-precision signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<highp_int> highp_imat2;
/// High-precision signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<highp_int> highp_imat3;
/// High-precision signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<highp_int> highp_imat4;
/// High-precision signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<highp_int> highp_imat2x2;
/// High-precision signed integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x3<highp_int> highp_imat2x3;
/// High-precision signed integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x4<highp_int> highp_imat2x4;
/// High-precision signed integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x2<highp_int> highp_imat3x2;
/// High-precision signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<highp_int> highp_imat3x3;
/// High-precision signed integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x4<highp_int> highp_imat3x4;
/// High-precision signed integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x2<highp_int> highp_imat4x2;
/// High-precision signed integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x3<highp_int> highp_imat4x3;
/// High-precision signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<highp_int> highp_imat4x4;
/// Medium-precision signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<mediump_int> mediump_imat2;
/// Medium-precision signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<mediump_int> mediump_imat3;
/// Medium-precision signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<mediump_int> mediump_imat4;
/// Medium-precision signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<mediump_int> mediump_imat2x2;
/// Medium-precision signed integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x3<mediump_int> mediump_imat2x3;
/// Medium-precision signed integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x4<mediump_int> mediump_imat2x4;
/// Medium-precision signed integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x2<mediump_int> mediump_imat3x2;
/// Medium-precision signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<mediump_int> mediump_imat3x3;
/// Medium-precision signed integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x4<mediump_int> mediump_imat3x4;
/// Medium-precision signed integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x2<mediump_int> mediump_imat4x2;
/// Medium-precision signed integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x3<mediump_int> mediump_imat4x3;
/// Medium-precision signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<mediump_int> mediump_imat4x4;
/// Low-precision signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<lowp_int> lowp_imat2;
/// Low-precision signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<lowp_int> lowp_imat3;
/// Low-precision signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<lowp_int> lowp_imat4;
/// Low-precision signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<lowp_int> lowp_imat2x2;
/// Low-precision signed integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x3<lowp_int> lowp_imat2x3;
/// Low-precision signed integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x4<lowp_int> lowp_imat2x4;
/// Low-precision signed integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x2<lowp_int> lowp_imat3x2;
/// Low-precision signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<lowp_int> lowp_imat3x3;
/// Low-precision signed integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x4<lowp_int> lowp_imat3x4;
/// Low-precision signed integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x2<lowp_int> lowp_imat4x2;
/// Low-precision signed integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x3<lowp_int> lowp_imat4x3;
/// Low-precision signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<lowp_int> lowp_imat4x4;
/// High-precision unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<highp_uint> highp_umat2;
/// High-precision unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<highp_uint> highp_umat3;
/// High-precision unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<highp_uint> highp_umat4;
/// High-precision unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<highp_uint> highp_umat2x2;
/// High-precision unsigned integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x3<highp_uint> highp_umat2x3;
/// High-precision unsigned integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x4<highp_uint> highp_umat2x4;
/// High-precision unsigned integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x2<highp_uint> highp_umat3x2;
/// High-precision unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<highp_uint> highp_umat3x3;
/// High-precision unsigned integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x4<highp_uint> highp_umat3x4;
/// High-precision unsigned integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x2<highp_uint> highp_umat4x2;
/// High-precision unsigned integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x3<highp_uint> highp_umat4x3;
/// High-precision unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<highp_uint> highp_umat4x4;
/// Medium-precision unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<mediump_uint> mediump_umat2;
/// Medium-precision unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<mediump_uint> mediump_umat3;
/// Medium-precision unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<mediump_uint> mediump_umat4;
/// Medium-precision unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<mediump_uint> mediump_umat2x2;
/// Medium-precision unsigned integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x3<mediump_uint> mediump_umat2x3;
/// Medium-precision unsigned integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x4<mediump_uint> mediump_umat2x4;
/// Medium-precision unsigned integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x2<mediump_uint> mediump_umat3x2;
/// Medium-precision unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<mediump_uint> mediump_umat3x3;
/// Medium-precision unsigned integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x4<mediump_uint> mediump_umat3x4;
/// Medium-precision unsigned integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x2<mediump_uint> mediump_umat4x2;
/// Medium-precision unsigned integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x3<mediump_uint> mediump_umat4x3;
/// Medium-precision unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<mediump_uint> mediump_umat4x4;
/// Low-precision unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<lowp_uint> lowp_umat2;
/// Low-precision unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<lowp_uint> lowp_umat3;
/// Low-precision unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<lowp_uint> lowp_umat4;
/// Low-precision unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x2<lowp_uint> lowp_umat2x2;
/// Low-precision unsigned integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x3<lowp_uint> lowp_umat2x3;
/// Low-precision unsigned integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat2x4<lowp_uint> lowp_umat2x4;
/// Low-precision unsigned integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x2<lowp_uint> lowp_umat3x2;
/// Low-precision unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x3<lowp_uint> lowp_umat3x3;
/// Low-precision unsigned integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat3x4<lowp_uint> lowp_umat3x4;
/// Low-precision unsigned integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x2<lowp_uint> lowp_umat4x2;
/// Low-precision unsigned integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x3<lowp_uint> lowp_umat4x3;
/// Low-precision unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef detail::tmat4x4<lowp_uint> lowp_umat4x4;
#if(defined(GLM_PRECISION_HIGHP_INT))
@@ -375,51 +375,51 @@ namespace glm
#else //if(defined(GLM_PRECISION_MEDIUMP_INT))
/// Signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat2 imat2;
/// Signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat3 imat3;
/// Signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat4 imat4;
/// Signed integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat2x2 imat2x2;
/// Signed integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat2x3 imat2x3;
/// Signed integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat2x4 imat2x4;
/// Signed integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat3x2 imat3x2;
/// Signed integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat3x3 imat3x3;
/// Signed integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat3x4 imat3x4;
/// Signed integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat4x2 imat4x2;
/// Signed integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat4x3 imat4x3;
/// Signed integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_imat4x4 imat4x4;
#endif//GLM_PRECISION
@@ -450,52 +450,53 @@ namespace glm
typedef lowp_umat4x3 umat4x3;
typedef lowp_umat4x4 umat4x4;
#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
/// Unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// Unsigned integer 2x2 matrix.
/// @see gtc_matrix_integer
typedef mediump_umat2 umat2;
/// Unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat3 umat3;
/// Unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat4 umat4;
/// Unsigned integer 2x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat2x2 umat2x2;
/// Unsigned integer 2x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat2x3 umat2x3;
/// Unsigned integer 2x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat2x4 umat2x4;
/// Unsigned integer 3x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat3x2 umat3x2;
/// Unsigned integer 3x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat3x3 umat3x3;
/// Unsigned integer 3x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat3x4 umat3x4;
/// Unsigned integer 4x2 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat4x2 umat4x2;
/// Unsigned integer 4x3 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat4x3 umat4x3;
/// Unsigned integer 4x4 matrix.
/// @see - gtc_matrix_integer
/// @see gtc_matrix_integer
typedef mediump_umat4x4 umat4x4;
#endif//GLM_PRECISION

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights
@@ -261,8 +261,8 @@ namespace glm
Result[0][0] = w;
Result[1][1] = h;
Result[2][2] = (zFar + zNear) / (zFar - zNear);
Result[2][3] = valType(1);
Result[3][2] = -(valType(2) * zFar * zNear) / (zFar - zNear);
Result[2][3] = -valType(1);
Result[3][2] = (valType(2) * zFar * zNear) / (zFar - zNear);
return Result;
}

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
// OpenGL Mathematics Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise":
// https://github.com/ashima/webgl-noise

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////////
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
// OpenGL Mathematics Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
//////////////////////////////////////////////////////////////////////////////////
// Created : 2011-09-19
// Updated : 2011-09-19
@@ -17,13 +17,15 @@ namespace detail
struct compute_linearRand
{
template <typename T>
GLM_FUNC_QUALIFIER T operator() (T const & Min, T const & Max) const
GLM_FUNC_QUALIFIER T operator() (T const & Min, T const & Max) const;
/*
{
GLM_STATIC_ASSERT(0, "'linearRand' invalid template parameter type. GLM_GTC_random only supports floating-point template types.");
return Min;
}
*/
};
template <>
GLM_FUNC_QUALIFIER half compute_linearRand::operator()<half> (half const & Min, half const & Max) const
{
@@ -41,6 +43,12 @@ namespace detail
{
return double(std::rand()) / double(RAND_MAX) * (Max - Min) + Min;
}
template <>
GLM_FUNC_QUALIFIER long double compute_linearRand::operator()<long double> (long double const & Min, long double const & Max) const
{
return (long double)(std::rand()) / (long double)(RAND_MAX) * (Max - Min) + Min;
}
}//namespace detail
template <typename genType>

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights
@@ -51,11 +51,19 @@ namespace glm
/// @addtogroup gtc_swizzle
/// @{
template <typename T, template <typename> class vecType>
T const & swizzle(
vecType<T> const & v,
comp x);
///
///
/// @param v Vector source
/// @param x
/// @tparam T
/// @tparam vecType
/// @see gtc_swizzle
template <typename T, template <typename> class vecType>
detail::tvec2<T> const & swizzle(
vecType<T> const & v,

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// OpenGL Mathematics (glm.g-truc.net)
///
/// Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/// Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
/// Permission is hereby granted, free of charge, to any person obtaining a copy
/// of this software and associated documentation files (the "Software"), to deal
/// in the Software without restriction, including without limitation the rights

View File

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
// OpenGL Mathematics Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2011-03-07
// Updated : 2011-12-12