Fixed merge

This commit is contained in:
Christophe Riccio 2011-05-18 15:57:02 +01:00
commit a79b4c2989
75 changed files with 4374 additions and 4701 deletions

View File

@ -1535,7 +1535,11 @@
This library works perfectly with OpenGL but it also ensures interoperability with other third party libraries and SDKs. It is a good candidate for software rendering (Raytracing / Rasterisation), image processing, physic simulations and any context that requires a simple and convenient mathematics library.
</paragraph>
<list name="GLM is written as a platform independent library with no dependence and officially supports the following compilers:">
<list-element><link href="http://http://gcc.gnu.org/">GCC</link> 3.4 and higher</list-element>
<list-element><link href="http://clang.llvm.org">Clang</link> 2.0 and higher</list-element>
<list-element>
<link href="http://developer.nvidia.com/category/zone/cuda-zone">CUDA</link> 3.0 and higher
</list-element>
<list-element><link href="http://gcc.gnu.org/">GCC</link> 3.4 and higher</list-element>
<list-element><link href="http://llvm.org/">LLVM</link> 2.3 through GCC 4.2 front-end and higher</list-element>
<list-element><link href="http://msdn.microsoft.com/en-us/visualc/default">Visual C++</link> 2005 and higher</list-element>
<list-element>Any C++ compiler following C++98 norm</list-element>

View File

@ -24,6 +24,7 @@
// Compiler
// User defines: GLM_FORCE_COMPILER_UNKNOWN
// TODO ? __llvm__
#define GLM_COMPILER_UNKNOWN 0x00000000
@ -81,6 +82,16 @@
#define GLM_COMPILER_CUDA32 0x10000030
#define GLM_COMPILER_CUDA40 0x10000040
// Clang
#define GLM_COMPILER_CLANG 0x20000000
#define GLM_COMPILER_CLANG26 0x20000010
#define GLM_COMPILER_CLANG27 0x20000020
#define GLM_COMPILER_CLANG28 0x20000030
#define GLM_COMPILER_CLANG29 0x20000040
// LLVM GCC
#define GLM_COMPILER_LLVM_GCC 0x40000000
// Build model
#define GLM_MODEL_32 0x00000010
#define GLM_MODEL_64 0x00000020
@ -91,6 +102,8 @@
// CUDA
#elif defined(__CUDACC__)
# define GLM_COMPILER GLM_COMPILER_CUDA
/*
# if CUDA_VERSION < 3000
# error "GLM requires CUDA 3.0 or higher"
# elif CUDA_VERSION == 3000
@ -104,6 +117,7 @@
# else
# define GLM_COMPILER GLM_COMPILER_CUDA
# endif
*/
// Visual C++
#elif defined(_MSC_VER)
@ -131,6 +145,20 @@
# define GLM_COMPILER GLM_COMPILER_VC
# endif//_MSC_VER
#elif defined(__clang__)
# if (__clang_major__ == 2) && (__clang_minor__ == 6)
# define GLM_COMPILER GLM_COMPILER_CLANG26
# elif (__clang_major__ == 2) && (__clang_minor__ == 7)
# define GLM_COMPILER GLM_COMPILER_CLANG27
# elif (__clang_major__ == 2) && (__clang_minor__ == 8)
# define GLM_COMPILER GLM_COMPILER_CLANG28
# elif (__clang_major__ == 2) && (__clang_minor__ == 9)
# define GLM_COMPILER GLM_COMPILER_CLANG29
# endif
#elif defined(__llvm__)
# define GLM_COMPILER GLM_COMPILER_LLVM_GCC
// G++
#elif defined(__GNUC__)
# if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2)
@ -196,8 +224,14 @@
// Report compiler detection
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_COMPILER_DISPLAYED))
# define GLM_MESSAGE_COMPILER_DISPLAYED
# if(GLM_COMPILER & GLM_COMPILER_VC)
# if(GLM_COMPILER & GLM_COMPILER_CUDA)
# pragma message("GLM: CUDA compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_VC)
# pragma message("GLM: Visual C++ compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_CLANG)
# pragma message("GLM: Clang compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_LLVM_GCC)
# pragma message("GLM: LLVM GCC compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_GCC)
# pragma message("GLM: GCC compiler detected")
# elif(GLM_COMPILER & GLM_COMPILER_BC)
@ -402,7 +436,7 @@
// User defines: GLM_FORCE_INLINE GLM_FORCE_CUDA
#if(defined(GLM_FORCE_CUDA) || (defined(__CUDACC__)))
#if(defined(GLM_FORCE_CUDA) || (GLM_COMPILER & GLM_COMPILER_CUDA))
# define GLM_CUDA_FUNC_DEF __device__ __host__
# define GLM_CUDA_FUNC_DECL __device__ __host__
#else

View File

@ -17,11 +17,7 @@
# pragma message("GLM: GLM_GTC_half_float extension included")
#endif
namespace glm
{
namespace test{
bool main_gtc_half_float();
}//namespace
namespace glm{
namespace detail
{
#ifndef _MSC_EXTENSIONS
@ -323,38 +319,37 @@ namespace glm
//namespace detail
namespace gtc{
//! GLM_GTC_half_float extension: Add support for half precision floating-point types
namespace half_float
namespace half_float ///< GLM_GTC_half_float extension: Add support for half precision floating-point types
{
/// \addtogroup gtc_half_float
///@{
//! Type for half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// Type for half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::thalf half;
//! Vector of 2 half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// Vector of 2 half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::tvec2<detail::thalf> hvec2;
//! Vector of 3 half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// Vector of 3 half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::tvec3<detail::thalf> hvec3;
//! Vector of 4 half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// Vector of 4 half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::tvec4<detail::thalf> hvec4;
//! 2 * 2 matrix of half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// 2 * 2 matrix of half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::tmat2x2<detail::thalf> hmat2;
//! 3 * 3 matrix of half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// 3 * 3 matrix of half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::tmat3x3<detail::thalf> hmat3;
//! 4 * 4 matrix of half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
/// 4 * 4 matrix of half-precision floating-point numbers.
/// From GLM_GTC_half_float extension.
typedef detail::tmat4x4<detail::thalf> hmat4;
/// @}

View File

@ -22,8 +22,7 @@
namespace glm{
namespace gtc{
//! GLM_GTC_matrix_access extension: Set a column or a row of a matrix
namespace matrix_access
namespace matrix_access ///< GLM_GTC_matrix_access extension: Set a column or a row of a matrix
{
/// \addtogroup gtc_matrix_access
///@{

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTC_matrix_integer extension included")
#endif
namespace glm
{
namespace test{
bool main_gtc_matrix_integer();
}//namespace test
namespace glm{
namespace gtc{
//! GLM_GTC_matrix_integer extension: Add integer matrices
namespace matrix_integer
namespace matrix_integer ///< GLM_GTC_matrix_integer extension: Add integer matrices
{
/// \addtogroup gtc_matrix_integer
///@{

View File

@ -22,8 +22,7 @@
namespace glm{
namespace gtc{
//! GLM_GTC_matrix_inverse extension: Inverse matrix functions
namespace matrix_inverse
namespace matrix_inverse ///< GLM_GTC_matrix_inverse extension: Inverse matrix functions
{
/// \addtogroup gtc_matrix_inverse
///@{

View File

@ -41,13 +41,8 @@
#endif
namespace glm{
namespace test{
bool main_gtc_matrix_transform();
}//namespace test
namespace gtc{
/// GLM_GTC_matrix_transform extension: Add transformation matrices
namespace matrix_transform
namespace matrix_transform ///< GLM_GTC_matrix_transform extension: Add transformation matrices
{
/// @addtogroup gtc_matrix_transform
/// @{

View File

@ -26,12 +26,7 @@
# pragma message("GLM: GLM_GTC_quaternion extension included")
#endif
namespace glm
{
namespace test{
bool main_gtc_quaternion();
}//namespace test
namespace glm{
namespace detail
{
//! \brief Template for quaternion.
@ -122,8 +117,7 @@ namespace glm
} //namespace detail
namespace gtc{
//! GLM_GTC_quaternion extension: Quaternion types and functions
namespace quaternion
namespace quaternion ///< GLM_GTC_quaternion extension: Quaternion types and functions
{
/// \addtogroup gtc_quaternion
///@{

View File

@ -21,15 +21,9 @@
# pragma message("GLM: GLM_GTC_swizzle extension included")
#endif
namespace glm
{
namespace test{
void main_gtc_swizzle();
}//namespace test
namespace glm{
namespace gtc{
//! GLM_GTC_swizzle extension
namespace swizzle
namespace swizzle ///< GLM_GTC_swizzle extension
{
using namespace gtc::half_float;

View File

@ -24,15 +24,9 @@
# pragma message("GLM: GLM_GTC_type_precision extension included")
#endif
namespace glm
{
namespace test{
bool main_gtc_type_precision();
}//namespace test
namespace glm{
namespace gtc{
//! GLM_GTC_type_precision extension: Defined types with specific size.
namespace type_precision
namespace type_precision ///< GLM_GTC_type_precision extension: Defined types with specific size.
{
///////////////////////////
// Dependences

View File

@ -21,15 +21,10 @@
# pragma message("GLM: GLM_GTC_type_ptr extension included")
#endif
namespace glm
{
namespace test{
void main_gtc_type_ptr();
}//namespace test
namespace glm{
namespace gtc{
//! GLM_GTC_type_ptr extension: Get access to vectors & matrices value type address.
namespace type_ptr{
namespace type_ptr ///< GLM_GTC_type_ptr extension: Get access to vectors & matrices value type address.
{
/// \addtogroup gtc_type_ptr
///@{

View File

@ -21,16 +21,9 @@
# pragma message("GLM: GLM_GTX_associated_min_max extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_associated_min_max();
}//namespace test
namespace gtx
{
//! GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces.
namespace associated_min_max
namespace glm{
namespace gtx{
namespace associated_min_max ///< GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces.
{
/// \addtogroup gtx_associated_min_max
///@{
@ -76,11 +69,9 @@ namespace glm
const genTypeT& y, const genTypeU& b,
const genTypeT& z, const genTypeU& c,
const genTypeT& w, const genTypeU& d);
///@}
} //namespace associated_min_max
bool test();
} //namespace gtx
} //namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_bit extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_bit();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_bit extension: Allow to perform bit operations on integer values
namespace bit
namespace bit ///< GLM_GTX_bit extension: Allow to perform bit operations on integer values
{
using namespace gtc::half_float;
@ -118,7 +112,6 @@ namespace glm
int const & ToBit);
/// @}
}// namespace bit
}// namespace gtx
}// namespace glm

View File

@ -20,28 +20,22 @@
# pragma message("GLM: GLM_GTX_closest_point extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_closest_point();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_closest_point extension: Find the point on a straight line which is the closet of a point.
namespace closest_point{
namespace closest_point ///< GLM_GTX_closest_point extension: Find the point on a straight line which is the closet of a point.
{
/// \addtogroup gtx_closest_point
/// @{
//! Find the point on a straight line which is the closet of a point.
//! From GLM_GTX_closest_point extension.
/// Find the point on a straight line which is the closet of a point.
/// From GLM_GTX_closest_point extension.
template <typename T>
detail::tvec3<T> closestPointOnLine(
detail::tvec3<T> const & point,
detail::tvec3<T> const & a,
detail::tvec3<T> const & b);
///@}
/// @}
}// namespace closest_point
}// namespace gtx
}// namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_color_cast extension included")
#endif
namespace glm
{
namespace test{
void main_ext_gtx_color_cast();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_color_cast extension: Conversion between two color types
namespace color_cast
namespace color_cast ///< GLM_GTX_color_cast extension: Conversion between two color types
{
using namespace gtx::number_precision;

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_color_space extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_color_space();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_color_space extension: Related to RGB to HSV conversions and operations
namespace color_space
namespace color_space ///< GLM_GTX_color_space extension: Related to RGB to HSV conversions and operations
{
/// \addtogroup gtx_color_space
/// @{
@ -72,7 +66,6 @@ namespace glm
detail::tvec3<valType> const & color);
/// @}
}//namespace color_space
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_color_space_YCoCg();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_color_space_YCoCg extension: RGB to YCoCg conversions and operations
namespace color_space_YCoCg
namespace color_space_YCoCg ///< GLM_GTX_color_space_YCoCg extension: RGB to YCoCg conversions and operations
{
/// \addtogroup gtx_color_space_YCoCg
///@{

View File

@ -28,15 +28,9 @@
#include <cmath>
#endif//GLM_COMPILER
namespace glm
{
namespace test{
void main_gtx_compatibility();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_compatibility extension: Provide functions to increase the compatibility with Cg and HLSL languages
namespace compatibility
namespace compatibility ///< GLM_GTX_compatibility extension: Provide functions to increase the compatibility with Cg and HLSL languages
{
/// \addtogroup gtx_compatibility
///@{
@ -155,7 +149,6 @@ namespace glm
typedef detail::tmat4x4<double> double4x4; //!< \brief double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
/// @}
}//namespace compatibility
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_component_wise extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_component_wise();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_component_wise extension: Operations between components of a type
namespace component_wise
namespace component_wise ///< GLM_GTX_component_wise extension: Operations between components of a type
{
/// \addtogroup gtx_component_wise
/// @{
@ -58,7 +52,6 @@ namespace glm
genType const & v);
/// @}
}//namespace component_wise
}//namespace gtx
}//namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_epsilon extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_epsilon();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_epsilon extension: Comparison functions for a user defined epsilon values.
namespace epsilon
namespace epsilon ///< GLM_GTX_epsilon extension: Comparison functions for a user defined epsilon values.
{
/// \addtogroup gtx_epsilon
///@{
@ -52,7 +46,6 @@ namespace glm
genTypeU const & epsilon);
///@}
}//namespace epsilon
}//namespace gtx
}//namespace glm

View File

@ -26,11 +26,9 @@
# pragma message("GLM: GLM_GTX_euler_angles extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_euler_angles extension: Build matrices from Euler angles.
namespace euler_angles
namespace euler_angles ///< GLM_GTX_euler_angles extension: Build matrices from Euler angles.
{
/// \addtogroup gtx_euler_angles
/// @{

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_extend extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_extend();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_extend extension: Extend a position from a source to a position at a defined length.
namespace extend
namespace extend ///< GLM_GTX_extend extension: Extend a position from a source to a position at a defined length.
{
/// \addtogroup gtx_extend
/// @{
@ -42,7 +36,6 @@ namespace glm
typename genType::value_type const Length);
/// @}
}//namespace extend
}//namespace gtx
}//namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_extented_min_max extension included")
#endif
namespace glm
{
namespace test{
void main_ext_gtx_extented_min_max();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_extented_min_max extension: Min and max functions for 3 to 4 parameters.
namespace extented_min_max
namespace extented_min_max ///< GLM_GTX_extented_min_max extension: Min and max functions for 3 to 4 parameters.
{
/// \addtogroup gtx_extented_min_max
///@{
@ -170,7 +164,6 @@ namespace glm
C<T> const & w);
/// @}
}//namespace extented_min_max
}//namespace gtx
}//namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_fast_exponential extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_fast_exponential();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_fast_exponential extension: Fast but less accurate implementations of exponential based functions.
namespace fast_exponential
namespace fast_exponential ///< GLM_GTX_fast_exponential extension: Fast but less accurate implementations of exponential based functions.
{
using namespace gtc::half_float;
/// \addtogroup gtx_fast_exponential
@ -76,7 +70,6 @@ namespace glm
T fastLn(const T& x);
/// @}
}//namespace fast_exponential
}//namespace gtx
}//namespace glm

View File

@ -24,15 +24,9 @@
# pragma message("GLM: GLM_GTX_fast_square_root extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_fast_square_root();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_fast_square_root extension: Fast but less accurate implementations of square root based functions.
namespace fast_square_root
namespace fast_square_root ///< GLM_GTX_fast_square_root extension: Fast but less accurate implementations of square root based functions.
{
/// \addtogroup gtx_fast_square_root
/// @{
@ -63,7 +57,6 @@ namespace glm
genType fastNormalize(genType const & x);
/// @}
}// namespace fast_square_root
}// namespace gtx
}// namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_fast_trigonometry();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_fast_trigonometry extension: Fast but less accurate implementations of trigonometric functions.
namespace fast_trigonometry
namespace fast_trigonometry ///< GLM_GTX_fast_trigonometry extension: Fast but less accurate implementations of trigonometric functions.
{
/// \addtogroup gtx_fast_trigonometry
/// @{
@ -76,7 +70,6 @@ namespace glm
T fastAtan(const T& angle);
/// @}
}//namespace fast_trigonometry
}//namespace gtx
}//namespace glm

View File

@ -21,18 +21,15 @@
# pragma message("GLM: GLM_GTX_gradient_paint extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_gradient_paint();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_gradient_paint extension: Compute a radient gradient according section OpenVG 1.1 specifications, 9.3.2 Radial Gradients
namespace gradient_paint
namespace gradient_paint ///< GLM_GTX_gradient_paint extension: Compute a radient gradient according section OpenVG 1.1 specifications, 9.3.2 Radial Gradients
{
using namespace gtx::optimum_pow;
/// \addtogroup gtx_gradient_paint
/// @{
template <typename valType>
valType radialGradient(
glm::detail::tvec2<valType> const & Center,
@ -46,6 +43,7 @@ namespace glm
glm::detail::tvec2<valType> const & Point1,
glm::detail::tvec2<valType> const & Position);
/// @}
}// namespace gradient_paint
}// namespace gtx
}// namespace glm

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_handed_coordinate_space extension: To know if a set of three basis vectors defines a right or left-handed coordinate system.
namespace handed_coordinate_space
namespace handed_coordinate_space ///< GLM_GTX_handed_coordinate_space extension: To know if a set of three basis vectors defines a right or left-handed coordinate system.
{
/// \addtogroup gtx_handed_coordinate_space
/// @{
@ -46,7 +44,6 @@ namespace glm
detail::tvec3<T> const & normal);
/// @}
}// namespace handed_coordinate_space
}// namespace gtx
}// namespace glm

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_inertia extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_inertia extension: Create inertia matrices
namespace inertia
namespace inertia ///< GLM_GTX_inertia extension: Create inertia matrices
{
/// \addtogroup gtx_inertia
/// @{
@ -86,7 +84,6 @@ namespace glm
const T Radius);
/// @}
}// namespace inertia
}// namespace gtx
}// namespace glm

View File

@ -21,11 +21,9 @@
# pragma message("GLM: GLM_GTX_int_10_10_10_2 extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_int_10_10_10_2 extension: Add support for integer for core functions
namespace int_10_10_10_2
namespace int_10_10_10_2 ///< GLM_GTX_int_10_10_10_2 extension: Add support for integer for core functions
{
using namespace gtx::raw_data;

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_integer extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_integer extension: Add support for integer for core functions
namespace integer
namespace integer ///< GLM_GTX_integer extension: Add support for integer for core functions
{
/// \addtogroup gtx_integer
/// @{
@ -47,7 +45,6 @@ namespace glm
genType factorial(genType const & x);
/// @}
}//namespace integer
}//namespace gtx
}//namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_closest_point extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_intesect();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_intersect extension: Add intersection functions
namespace intersect
namespace intersect ///< GLM_GTX_intersect extension: Add intersection functions
{
/// \addtogroup gtx_intersect
/// @{
@ -68,7 +62,6 @@ namespace glm
genType & position, genType & normal);
/// @}
}//namespace intersect
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_log_base extension included")
#endif
namespace glm
{
namespace test{
void main_ext_gtx_log_base();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_log_base extension: Logarithm for any base. base can be a vector or a scalar.
namespace log_base
namespace log_base ///< GLM_GTX_log_base extension: Logarithm for any base. base can be a vector or a scalar.
{
/// \addtogroup gtx_log_base
/// @{

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_matrix_cross_product();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_matrix_cross_product: Build cross product matrices
namespace matrix_cross_product
namespace matrix_cross_product ///< GLM_GTX_matrix_cross_product: Build cross product matrices
{
/// \addtogroup gtx_matrix_cross_product
/// @{
@ -46,7 +40,6 @@ namespace glm
detail::tvec3<T> const & x);
/// @}
}//namespace matrix_cross_product
}//namespace gtx
}//namespace glm

View File

@ -23,15 +23,9 @@
# pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_transform();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_matrix_interpolation extension: Add transformation matrices
namespace matrix_interpolation
namespace matrix_interpolation ///< GLM_GTX_matrix_interpolation extension: Add transformation matrices
{
/// \addtogroup gtx_matrix_interpolation
/// @{
@ -61,7 +55,6 @@ namespace glm
T const delta);
/// @}
}//namespace matrix_interpolation
}//namespace gtx
}//namespace glm

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_matrix_major_storage: Build matrices with specific matrix order, row or column
namespace matrix_major_storage
namespace matrix_major_storage ///< GLM_GTX_matrix_major_storage: Build matrices with specific matrix order, row or column
{
/// \addtogroup gtx_matrix_major_storage
/// @{
@ -114,7 +112,6 @@ namespace glm
const detail::tmat4x4<T>& m);
/// @}
}//namespace matrix_major_storage
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_matrix_operation extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_matrix_operation();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_matrix_operation: Build diagonal matrices
namespace matrix_operation
namespace matrix_operation ///< GLM_GTX_matrix_operation: Build diagonal matrices
{
/// \addtogroup gtx_matrix_operation
/// @{
@ -88,7 +82,6 @@ namespace glm
detail::tvec4<valType> const & v);
/// @}
}//namespace matrix_operation
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_matrix_query extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_matrix_query();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_matrix_query: Query to evaluate matrix properties
namespace matrix_query
namespace matrix_query ///< GLM_GTX_matrix_query: Query to evaluate matrix properties
{
/// \addtogroup gtx_matrix_query
/// @{

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_mixed_product extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_matrix_selection();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_mixed_product extension: Mixed product of 3 vectors.
namespace mixed_product
namespace mixed_product ///< GLM_GTX_mixed_product extension: Mixed product of 3 vectors.
{
/// \addtogroup gtx_mixed_product
/// @{

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_multiple extension included")
#endif
namespace glm
{
namespace test{
bool main_img_multiple();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_multiple: Find the closest number of a number multiple of other number.
namespace multiple
namespace multiple ///< GLM_GTX_multiple: Find the closest number of a number multiple of other number.
{
/// \addtogroup gtx_multiple
/// @{
@ -48,7 +42,6 @@ namespace glm
genType const & Multiple);
/// @}
}//namespace multiple
}//namespace gtx
}//namespace glm

View File

@ -25,15 +25,9 @@
# pragma message("GLM: GLM_GTX_noise extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_noise();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_noise extension: Comparison functions for a user defined epsilon values.
namespace noise
namespace noise ///< GLM_GTX_noise extension: Comparison functions for a user defined epsilon values.
{
/// \addtogroup gtx_noise
/// @{
@ -58,7 +52,6 @@ namespace glm
vecType<T> const & p);
/// @}
}//namespace noise
}//namespace gtx
}//namespace glm

View File

@ -25,15 +25,9 @@
# pragma message("GLM: GLM_GTX_norm extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_norm();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_norm extension: Various way to compute vector norms.
namespace norm
namespace norm ///< GLM_GTX_norm extension: Various way to compute vector norms.
{
/// \addtogroup gtx_norm
/// @{
@ -138,7 +132,6 @@ namespace glm
unsigned int Depth);
/// @}
}//namespace norm
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_normal extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_normal();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_normal extension: Compute the normal of a triangle.
namespace normal
namespace normal ///< GLM_GTX_normal extension: Compute the normal of a triangle.
{
/// \addtogroup gtx_normal
/// @{
@ -42,7 +36,6 @@ namespace glm
detail::tvec3<T> const & p3);
/// @}
}//namespace normal
}//namespace gtx
}//namespace glm

View File

@ -22,11 +22,9 @@
# pragma message("GLM: GLM_GTX_normalize_dot extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_normalize_dot extension: Dot product of vectors that need to be normalize with a single square root.
namespace normalize_dot
namespace normalize_dot ///< GLM_GTX_normalize_dot extension: Dot product of vectors that need to be normalize with a single square root.
{
using namespace gtx::fast_square_root;
@ -50,7 +48,6 @@ namespace glm
genType const & y);
/// @}
}//namespace normalize_dot
}//namespace gtx
}//namespace glm

View File

@ -25,8 +25,7 @@
namespace glm{
namespace gtx{
//! GLM_GTX_number_precision extension: Defined size types.
namespace number_precision
namespace number_precision ///< GLM_GTX_number_precision extension: Defined size types.
{
using namespace gtc::type_precision;

View File

@ -22,8 +22,7 @@
namespace glm{
namespace gtx{
//! GLM_GTX_ocl_type extension: OpenCL types.
namespace ocl_type
namespace ocl_type ///< GLM_GTX_ocl_type extension: OpenCL types.
{
///////////////////////////
// Scalar types
@ -100,7 +99,6 @@ namespace ocl_type
typedef detail::tvec4<detail::float32> cl_float4; //!< \brief Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
/// @}
}//namespace ocl_type
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_optimum_pow extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_optimum_pow();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_optimum_pow extension: Integer exponentiation of power functions.
namespace optimum_pow
namespace optimum_pow ///< GLM_GTX_optimum_pow extension: Integer exponentiation of power functions.
{
/// \addtogroup gtx_optimum_pow
/// @{
@ -65,7 +59,6 @@ namespace glm
detail::tvec4<bool> powOfTwo(const detail::tvec4<int>& x);
/// @}
}//namespace optimum_pow
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_orthonormalize extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_orthonormalize();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_orthonormalize extension: Orthonormalize matrices.
namespace orthonormalize
namespace orthonormalize ///< GLM_GTX_orthonormalize extension: Orthonormalize matrices.
{
/// \addtogroup gtx_orthonormalize
/// @{
@ -47,7 +41,6 @@ namespace glm
const detail::tvec3<T>& y);
/// @}
}//namespace orthonormalize
}//namespace gtx
}//namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_perpendicular extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_perpendicular();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_perpendicular extension: Perpendicular of a vector from other one
namespace perpendicular
namespace perpendicular ///< GLM_GTX_perpendicular extension: Perpendicular of a vector from other one
{
/// \addtogroup gtx_perpendicular
/// @{
@ -56,9 +50,7 @@ namespace glm
detail::tvec4<T> const & x,
detail::tvec4<T> const & Normal);
/// @}
}//namespace perpendicular
}//namespace gtx
}//namespace glm

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_polar_coordinates extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_polar_coordinates extension: Conversion from Euclidean space to polar space and revert.
namespace polar_coordinates
namespace polar_coordinates ///< GLM_GTX_polar_coordinates extension: Conversion from Euclidean space to polar space and revert.
{
/// \addtogroup gtx_polar_coordinates
/// @{
@ -40,7 +38,6 @@ namespace glm
detail::tvec3<T> euclidean(const detail::tvec3<T>& polar);
/// @}
}//namespace polar_coordinates
}//namespace gtx
}//namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_projection extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_projection();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_projection extension: Projection of a vector to other one
namespace projection
namespace projection ///< GLM_GTX_projection extension: Projection of a vector to other one
{
/// \addtogroup gtx_projection
/// @{
@ -55,7 +49,6 @@ namespace glm
detail::tvec4<T> const & Normal);
/// @}
}//namespace projection
}//namespace gtx
}//namespace glm

View File

@ -25,11 +25,9 @@
# pragma message("GLM: GLM_GTX_quaternion extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_quaternion extension: Quaternion types and functions
namespace quaternion
namespace quaternion ///< GLM_GTX_quaternion extension: Quaternion types and functions
{
using namespace gtc::quaternion;
@ -208,7 +206,6 @@ namespace glm
T const & a);
/// @}
}//namespace quaternion
}//namespace gtx
} //namespace glm

View File

@ -25,8 +25,7 @@
namespace glm{
namespace gtx{
//! GLM_GTX_random extension: Generate random number from various distribution methods
namespace random
namespace random ///< GLM_GTX_random extension: Generate random number from various distribution methods
{
/// \addtogroup gtx_random
/// @{

View File

@ -22,10 +22,8 @@
#endif
namespace glm{
namespace gtx
{
//! GLM_GTX_raw_data extension: Projection of a vector to other one
namespace raw_data
namespace gtx{
namespace raw_data ///< GLM_GTX_raw_data extension: Projection of a vector to other one
{
using namespace gtc::type_precision;
@ -49,7 +47,7 @@ namespace gtx
typedef uint64 qword;
///@}
}
}// namespace raw_data
}// namespace gtx
}// namespace glm

View File

@ -17,15 +17,9 @@
# pragma message("GLM: GLM_GTX_reciprocal extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_reciprocal();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_reciprocal extension: Define secant, cosecant and cotangent functions.
namespace reciprocal
namespace reciprocal ///< GLM_GTX_reciprocal extension: Define secant, cosecant and cotangent functions.
{
/// \addtogroup gtx_reciprocal
/// @{
@ -94,7 +88,6 @@ namespace glm
genType acoth(genType const & x);
/// @}
}//namespace reciprocal
}//namespace gtx
}//namespace glm

View File

@ -23,8 +23,7 @@
namespace glm{
namespace gtx{
//! GLM_GTX_rotate_vector extension: Function to directly rotate a vector
namespace rotate_vector
namespace rotate_vector ///< GLM_GTX_rotate_vector extension: Function to directly rotate a vector
{
using namespace transform;
@ -104,7 +103,6 @@ namespace rotate_vector
detail::tvec3<T> const & Up);
/// @}
}//namespace rotate_vector
}//namespace gtx
}//namespace glm

View File

@ -28,8 +28,7 @@
# pragma message("GLM: GLM_GTX_simd_mat4 extension included")
#endif
namespace glm
{
namespace glm{
namespace detail
{
/// 4x4 Matrix implemented using SIMD SEE intrinsics.
@ -127,12 +126,10 @@ namespace glm
fmat4x4SIMD const operator- (fmat4x4SIMD const & m);
fmat4x4SIMD const operator-- (fmat4x4SIMD const & m, int);
fmat4x4SIMD const operator++ (fmat4x4SIMD const & m, int);
}//namespace detail
namespace gtx{
//! GLM_GTX_simd_mat4 extension: SIMD implementation of mat4 type.
namespace simd_mat4
namespace simd_mat4 ///< GLM_GTX_simd_mat4 extension: SIMD implementation of mat4 type.
{
typedef detail::fmat4x4SIMD simdMat4;
@ -175,7 +172,6 @@ namespace glm
detail::fmat4x4SIMD const & m);
/// @}
}// namespace simd_mat4
}// namespace gtx
}// namespace glm

View File

@ -28,8 +28,7 @@
# pragma message("GLM: GLM_GTX_simd_vec4 extension included")
#endif
namespace glm
{
namespace glm{
namespace detail
{
/// 4-dimensional vector implemented using SIMD SEE intrinsics.
@ -110,12 +109,10 @@ namespace glm
template <comp X>
fvec4SIMD swizzle() const;
};
}//namespace detail
namespace gtx{
//! GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type.
namespace simd_vec4
namespace simd_vec4 ///< GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type.
{
typedef detail::fvec4SIMD simdVec4;

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_simplex extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_simplex extension: Spline functions
namespace spline
namespace spline ///< GLM_GTX_simplex extension: Spline functions
{
/// \addtogroup gtx_spline
///@{
@ -60,7 +58,6 @@ namespace glm
typename genType::value_type const & s);
/// @}
}// namespace simplex
}// namespace gtx
}// namespace glm

View File

@ -21,11 +21,9 @@
# pragma message("GLM: GLM_GTX_spline extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_spline extension: Spline functions
namespace spline
namespace spline ///< GLM_GTX_spline extension: Spline functions
{
using namespace gtx::optimum_pow;
@ -63,7 +61,6 @@ namespace glm
typename genType::value_type const & s);
/// @}
}//namespace spline
}//namespace gtx
}//namespace glm

View File

@ -21,15 +21,9 @@
# pragma message("GLM: GLM_GTX_std_based_type extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_std_based_type();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_std_based_type extension: Add support vector types based on C++ standard type
namespace std_based_type
namespace std_based_type ///< GLM_GTX_std_based_type extension: Add support vector types based on C++ standard type
{
typedef detail::tvec2<std::size_t> size2;
typedef detail::tvec3<std::size_t> size3;

View File

@ -28,15 +28,9 @@
# pragma message("GLM: GLM_GTX_string_cast extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_string_cast();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_string_cast extension: Setup strings for GLM type values
namespace string_cast
namespace string_cast ///< GLM_GTX_string_cast extension: Setup strings for GLM type values
{
using namespace gtc::half_float;
using namespace gtx::integer;
@ -52,7 +46,6 @@ namespace glm
std::string to_string(genType const & x);
/// @}
}//namespace string_cast
}//namespace gtx
}//namespace glm

View File

@ -42,15 +42,9 @@
# pragma message("GLM: GLM_GTX_transform extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_transform();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_transform extension: Add transformation matrices
namespace transform
namespace transform ///< GLM_GTX_transform extension: Add transformation matrices
{
using namespace gtc::matrix_transform;
@ -127,7 +121,6 @@ namespace glm
detail::tvec3<T> const & v);
/// @}
}// namespace transform
}// namespace gtx
}// namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_transform2 extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_transform2();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_transform2 extension: Add extra transformation matrices
namespace transform2
namespace transform2 ///< GLM_GTX_transform2 extension: Add extra transformation matrices
{
using namespace gtx::transform;
@ -113,7 +107,6 @@ namespace glm
valType bias);
/// @}
}// namespace transform2
}// namespace gtx
}// namespace glm

View File

@ -20,11 +20,9 @@
# pragma message("GLM: GLM_GTX_ulp extension included")
#endif
namespace glm
{
namespace glm{
namespace gtx{
//! GLM_GTX_ulp extension: Precision calculation functions
namespace ulp
namespace ulp ///< GLM_GTX_ulp extension: Precision calculation functions
{
/// \addtogroup gtx_ulp
/// @{
@ -60,7 +58,6 @@ namespace glm
vecType<uint> float_distance(vecType<T> const & x, vecType<T> const & y);
///@}
}// namespace ulp
}// namespace gtx
}// namespace glm

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_unsigned_int extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_unsigned_int();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_unsigned_int extension: Add support for unsigned integer for core functions
namespace unsigned_int
namespace unsigned_int ///< GLM_GTX_unsigned_int extension: Add support for unsigned integer for core functions
{
using namespace gtx::integer;
@ -54,7 +48,6 @@ namespace glm
uint mod(uint x, uint y);
/// @}
}//namespace unsigned_int
}//namespace gtx
}//namespace glm

View File

@ -21,16 +21,9 @@
# pragma message("GLM: GLM_GTX_vec1 extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_vector1();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_vector1 extension: 1 component vector.
namespace vector1
{
namespace vector1{ ///< GLM_GTX_vec1 extension: 1 component vector.
namespace precision
{
//! 1 component vector of high precision floating-point numbers.

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_vector_access extension included")
#endif
namespace glm
{
namespace test{
void main_gtx_vector_access();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_vector_access extension: Function to set values to vectors
namespace vector_access
namespace vector_access ///< GLM_GTX_vector_access extension: Function to set values to vectors
{
/// \addtogroup gtx_vector_access
/// @{
@ -61,7 +55,6 @@ namespace glm
valType const & w);
/// @}
}//namespace vector_access
}//namespace gtx
}//namespace glm

View File

@ -27,8 +27,7 @@
namespace glm{
namespace gtx{
//! GLM_GTX_vector_angle extension: Compute angle between vectors
namespace vector_angle
namespace vector_angle ///< GLM_GTX_vector_angle extension: Compute angle between vectors
{
using namespace quaternion;
using namespace epsilon;
@ -40,7 +39,7 @@ namespace vector_angle
//! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension
template <typename vecType>
typename vecType::value_type angle(
GLM_FUNC_QUALIFIER typename vecType::value_type angle(
vecType const & x,
vecType const & y);
@ -48,7 +47,7 @@ namespace vector_angle
//! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension.
template <typename T>
typename T orientedAngle(
GLM_FUNC_QUALIFIER T orientedAngle(
detail::tvec2<T> const & x,
detail::tvec2<T> const & y);
@ -56,7 +55,7 @@ namespace vector_angle
//! Parameters need to be normalized.
//! From GLM_GTX_vector_angle extension.
template <typename T>
typename vecType<T> orientedAngle(
GLM_FUNC_QUALIFIER T orientedAngle(
detail::tvec3<T> const & x,
detail::tvec3<T> const & y,
detail::tvec3<T> const & ref);

View File

@ -22,15 +22,9 @@
# pragma message("GLM: GLM_GTX_vector_query extension included")
#endif
namespace glm
{
namespace test{
void main_ext_gtx_vector_query();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_vector_query extension: Query informations of vector types
namespace vector_query
namespace vector_query ///< GLM_GTX_vector_query extension: Query informations of vector types
{
/// \addtogroup gtx_vector_query
/// @{
@ -90,7 +84,6 @@ namespace glm
typename genType::value_type const & epsilon = std::numeric_limits<typename genType::value_type>::epsilon());
/// @}
}// namespace vector_query
}// namespace gtx
}// namespace glm

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_verbose_operator extension included")
#endif
namespace glm
{
namespace test{
void main_ext_gtx_verbose_operator();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_verbose_operator extension: Use words to replace operators
namespace verbose_operator
namespace verbose_operator ///< GLM_GTX_verbose_operator extension: Use words to replace operators
{
/// \addtogroup gtx_verbose_operator
/// @{

View File

@ -20,15 +20,9 @@
# pragma message("GLM: GLM_GTX_wrap extension included")
#endif
namespace glm
{
namespace test{
bool main_gtx_wrap();
}//namespace test
namespace glm{
namespace gtx{
//! GLM_GTX_wrap: Wrapping mode using my texture samping.
namespace wrap
namespace wrap ///< GLM_GTX_wrap: Wrapping mode using my texture samping.
{
/// \addtogroup gtx_wrap
/// @{
@ -49,7 +43,6 @@ namespace glm
genType mirrorRepeat(genType const & Texcoord);
/// @}
}// namespace wrap
}// namespace gtx
}// namespace glm

View File

@ -17,6 +17,7 @@ http://glm.g-truc.net/glm-0.9.2.pdf
GLM 0.9.2.1: 2010-05-20
--------------------------------------------------------------------------------
- Automatically detect CUDA support
- Improved Clang detection
- Fixed errors and warnings in VC with C++ extensions disabled
- Fixed and tested GLM_GTX_vector_angle
- Fixed and tested GLM_GTX_rotate_vector

View File

@ -12,14 +12,16 @@
#include <iostream>
#include <limits>
int test_vector_angle_calls()
int test_angle()
{
int Error = 0;
float AngleA = glm::angle(glm::vec3(1, 0, 0), glm::vec3(0, 1, 0));
float AngleB = glm::orientedAngle(glm::vec2(1, 0), glm::normalize(glm::vec2(1, 1)));
float AngleC = glm::orientedAngle(glm::vec2(0, 1), glm::normalize(glm::vec2(1, 1)));
float AngleD = glm::orientedAngle(glm::vec3(1, 0, 0), glm::vec3(0, 1, 0), glm::vec3(0, 0, 1));
float AngleA = glm::angle(glm::vec2(1, 0), glm::normalize(glm::vec2(1, 1)));
Error += glm::equalEpsilon(AngleA, 45.f, 0.01f) ? 0 : 1;
float AngleB = glm::angle(glm::vec3(1, 0, 0), glm::normalize(glm::vec3(1, 1, 0)));
Error += glm::equalEpsilon(AngleB, 45.f, 0.01f) ? 0 : 1;
float AngleC = glm::angle(glm::vec4(1, 0, 0, 0), glm::normalize(glm::vec4(1, 1, 0, 0)));
Error += glm::equalEpsilon(AngleC, 45.f, 0.01f) ? 0 : 1;
return Error;
}
@ -55,9 +57,9 @@ int test_orientedAngle_vec3()
int main()
{
int Error = 0;
Error += test_angle();
Error += test_orientedAngle_vec2();
Error += test_orientedAngle_vec3();
Error += test_vector_angle_calls();
return Error;
}