This commit is contained in:
Christophe Riccio 2011-06-02 13:06:24 +01:00
parent 852ada9c3d
commit ebba087843
22 changed files with 2650 additions and 2784 deletions

View File

@ -12,14 +12,9 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_geometric();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
//! Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace. namespace geometric{ //!< Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace.
namespace geometric{
/// \addtogroup core_funcs /// \addtogroup core_funcs
///@{ ///@{

View File

@ -12,10 +12,6 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_integer();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
//! Define integer functions from Section 8.8 of GLSL 4.00.8 specification. //! Define integer functions from Section 8.8 of GLSL 4.00.8 specification.

View File

@ -12,10 +12,6 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_matrix();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
//! Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace. //! Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace.

View File

@ -12,10 +12,6 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_noise();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
// Define all noise functions from Section 8.9 of GLSL 1.30.8 specification. Included in glm namespace. // Define all noise functions from Section 8.9 of GLSL 1.30.8 specification. Included in glm namespace.

View File

@ -12,10 +12,6 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_packing();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
//! Define packing functions from section 8.4 floating-point pack and unpack functions of GLSL 4.00.8 specification //! Define packing functions from section 8.4 floating-point pack and unpack functions of GLSL 4.00.8 specification

View File

@ -12,10 +12,6 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_trigonometric();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
//! Define Angle and trigonometry functions //! Define Angle and trigonometry functions

View File

@ -14,10 +14,6 @@
namespace glm namespace glm
{ {
namespace test{
void main_core_func_vector_relational();
}//namespace test
namespace core{ namespace core{
namespace function{ namespace function{
//! Define vector relational functions from Section 8.6 of GLSL 1.30.8 specification. //! Define vector relational functions from Section 8.6 of GLSL 1.30.8 specification.

View File

@ -12,16 +12,9 @@
#include <cstdlib> #include <cstdlib>
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
bool main_type_half();
}//namespace test
namespace detail
{
typedef short hdata; typedef short hdata;
float toFloat32(hdata value); float toFloat32(hdata value);
@ -77,9 +70,7 @@ namespace glm
thalf operator++ (thalf const & s, int); thalf operator++ (thalf const & s, int);
}//namespace detail }//namespace detail
}//namespace glm }//namespace glm
#include "type_half.inl" #include "type_half.inl"

View File

@ -13,10 +13,9 @@
#include "setup.hpp" #include "setup.hpp"
#include "_detail.hpp" #include "_detail.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace detail
{
typedef signed short lowp_int_t; typedef signed short lowp_int_t;
typedef signed int mediump_int_t; typedef signed int mediump_int_t;
typedef sint64 highp_int_t; typedef sint64 highp_int_t;
@ -36,15 +35,12 @@ namespace glm
GLM_DETAIL_IS_UINT(unsigned int); GLM_DETAIL_IS_UINT(unsigned int);
GLM_DETAIL_IS_UINT(unsigned long); GLM_DETAIL_IS_UINT(unsigned long);
GLM_DETAIL_IS_UINT(highp_uint_t); GLM_DETAIL_IS_UINT(highp_uint_t);
} }//namespace detail
//namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision //!< Namespace for precision stuff.
///namespace for precision stuff. {
namespace precision
{
//! Low precision signed integer. //! Low precision signed integer.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification. //! From GLSL 1.30.8 specification.
@ -76,8 +72,7 @@ namespace glm
//! From GLSL 1.30.8 specification. //! From GLSL 1.30.8 specification.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::highp_uint_t highp_uint; typedef detail::highp_uint_t highp_uint;
} }//namespace precision
//namespace precision
#if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT)) #if(!defined(GLM_PRECISION_HIGHP_INT) && !defined(GLM_PRECISION_MEDIUMP_INT) && !defined(GLM_PRECISION_LOWP_INT))
typedef precision::mediump_int int_t; typedef precision::mediump_int int_t;
@ -107,8 +102,8 @@ namespace glm
//! From GLSL 1.30.8 specification section 4.1.3 Integers. //! From GLSL 1.30.8 specification section 4.1.3 Integers.
typedef uint_t uint; typedef uint_t uint;
}//namespace type }//namespace type
}//namespace core }//namespace core
}//namespace glm }//namespace glm
#endif//glm_core_type_int #endif//glm_core_type_int

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat2x2();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -233,14 +227,12 @@ namespace glm
tmat2x2<T> const operator++ ( tmat2x2<T> const operator++ (
tmat2x2<T> const & m, tmat2x2<T> const & m,
int); int);
} //namespace detail
} //namespace detail namespace core{
namespace type{
namespace core{ namespace precision
namespace type{ {
namespace precision
{
//! 2 columns of 2 components matrix of low precision floating-point numbers. //! 2 columns of 2 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers //! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers
@ -276,12 +268,11 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers //! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat2x2<highp_float> highp_mat2x2; typedef detail::tmat2x2<highp_float> highp_mat2x2;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
} //namespace glm }//namespace core
}//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat2x2.inl" #include "type_mat2x2.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat2x3();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -200,13 +194,12 @@ namespace glm
tmat2x3<T> const & m, tmat2x3<T> const & m,
int); int);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 2 columns of 3 components matrix of low precision floating-point numbers. //! 2 columns of 3 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
@ -222,12 +215,10 @@ namespace glm
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat2x3<highp_float> highp_mat2x3; typedef detail::tmat2x3<highp_float> highp_mat2x3;
} }//namespace precision
//namespace precision }//namespace type
}//namespace core
}//namespace type }//namespace glm
}//namespace core
} //namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat2x3.inl" #include "type_mat2x3.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat2x4();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -201,13 +195,12 @@ namespace glm
tmat2x4<T> const & m, tmat2x4<T> const & m,
int); int);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 2 columns of 4 components matrix of low precision floating-point numbers. //! 2 columns of 4 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
@ -220,12 +213,10 @@ namespace glm
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat2x4<highp_float> highp_mat2x4; typedef detail::tmat2x4<highp_float> highp_mat2x4;
} }//namespace precision
//namespace precision }//namespace type
}//namespace core
}//namespace type }//namespace glm
}//namespace core
} //namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat2x4.inl" #include "type_mat2x4.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat3x2();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -207,13 +201,12 @@ namespace glm
tmat3x2<T> const & m, tmat3x2<T> const & m,
int); int);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 3 columns of 2 components matrix of low precision floating-point numbers. //! 3 columns of 2 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
@ -226,12 +219,10 @@ namespace glm
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x2<highp_float> highp_mat3x2; typedef detail::tmat3x2<highp_float> highp_mat3x2;
} }//namespace precision
//namespace precision }//namespace type
}//namespace core
}//namespace type }//namespace glm
}//namespace core
} //namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat3x2.inl" #include "type_mat3x2.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat3x3();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -237,13 +231,12 @@ namespace glm
tmat3x3<T> const & m, tmat3x3<T> const & m,
int); int);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 3 columns of 3 components matrix of low precision floating-point numbers. //! 3 columns of 3 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers //! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers
@ -277,12 +270,11 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers //! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat3x3<highp_float> highp_mat3x3; typedef detail::tmat3x3<highp_float> highp_mat3x3;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
} //namespace glm }//namespace core
}//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat3x3.inl" #include "type_mat3x3.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat3x4();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -207,13 +201,12 @@ namespace glm
tmat3x4<T> const & m, tmat3x4<T> const & m,
int); int);
} //namespace detail }//namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 3 columns of 4 components matrix of low precision floating-point numbers. //! 3 columns of 4 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
@ -226,12 +219,11 @@ namespace glm
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x4<highp_float> highp_mat3x4; typedef detail::tmat3x4<highp_float> highp_mat3x4;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
} //namespace glm }//namespace core
}//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat3x4.inl" #include "type_mat3x4.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat4x2();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -212,34 +206,34 @@ namespace glm
tmat4x2<T> const & m, tmat4x2<T> const & m,
int); int);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 4 columns of 2 components matrix of low precision floating-point numbers. //! 4 columns of 2 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x2<lowp_float> lowp_mat4x2; typedef detail::tmat4x2<lowp_float> lowp_mat4x2;
//! 4 columns of 2 components matrix of medium precision floating-point numbers. //! 4 columns of 2 components matrix of medium precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x2<mediump_float> mediump_mat4x2; typedef detail::tmat4x2<mediump_float> mediump_mat4x2;
//! 4 columns of 2 components matrix of high precision floating-point numbers. //! 4 columns of 2 components matrix of high precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x2<highp_float> highp_mat4x2; typedef detail::tmat4x2<highp_float> highp_mat4x2;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
} //namespace glm }//namespace core
}//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat4x2.inl" #include "type_mat4x2.inl"

View File

@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat4x3();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -210,37 +204,37 @@ namespace glm
tmat4x3<T> const & m, tmat4x3<T> const & m,
int); int);
} //namespace detail }//namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 4 columns of 3 components matrix of low precision floating-point numbers. //! 4 columns of 3 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x3<lowp_float> lowp_mat4x3; typedef detail::tmat4x3<lowp_float> lowp_mat4x3;
//! 4 columns of 3 components matrix of medium precision floating-point numbers. //! 4 columns of 3 components matrix of medium precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x3<mediump_float> mediump_mat4x3; typedef detail::tmat4x3<mediump_float> mediump_mat4x3;
//! 4 columns of 3 components matrix of high precision floating-point numbers. //! 4 columns of 3 components matrix of high precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers) //! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x3<highp_float> highp_mat4x3; typedef detail::tmat4x3<highp_float> highp_mat4x3;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
} //namespace glm }//namespace core
}//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat4x3.inl" #include "type_mat4x3.inl"
#endif #endif //GLM_EXTERNAL_TEMPLATE
#endif//glm_core_type_mat4x3 #endif//glm_core_type_mat4x3

View File

@ -2,7 +2,7 @@
// OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net) // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
// Created : 2005-01-27 // Created : 2005-01-27
// Updated : 2008-08-30 // Updated : 2011-06-02
// Licence : This source is under MIT License // Licence : This source is under MIT License
// File : glm/core/type_mat4x4.hpp // File : glm/core/type_mat4x4.hpp
/////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////
@ -12,15 +12,9 @@
#include "type_mat.hpp" #include "type_mat.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_mat4x4();
}//namespace test
namespace detail
{
template <typename T> struct tvec1; template <typename T> struct tvec1;
template <typename T> struct tvec2; template <typename T> struct tvec2;
template <typename T> struct tvec3; template <typename T> struct tvec3;
@ -238,13 +232,12 @@ namespace glm
tmat4x4<T> const operator++ ( tmat4x4<T> const operator++ (
tmat4x4<T> const & m, int); tmat4x4<T> const & m, int);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 4 columns of 4 components matrix of low precision floating-point numbers. //! 4 columns of 4 components matrix of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers //! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers
@ -280,15 +273,14 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers //! From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tmat4x4<highp_float> highp_mat4x4; typedef detail::tmat4x4<highp_float> highp_mat4x4;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
} //namespace glm }//namespace core
}//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_mat4x4.inl" #include "type_mat4x4.inl"
#endif #endif//GLM_EXTERNAL_TEMPLATE
#endif //glm_core_type_mat4x4 #endif//glm_core_type_mat4x4

View File

@ -16,15 +16,9 @@
#include "type_size.hpp" #include "type_size.hpp"
#include "_swizzle.hpp" #include "_swizzle.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_vec1();
}//namespace test
namespace detail
{
template <typename T> struct tref1; template <typename T> struct tref1;
template <typename T> struct tref2; template <typename T> struct tref2;
template <typename T> struct tref3; template <typename T> struct tref3;
@ -168,11 +162,11 @@ namespace glm
typedef detail::tvec1<core::type::precision::mediump_uint> mediump_uvec1_t; typedef detail::tvec1<core::type::precision::mediump_uint> mediump_uvec1_t;
typedef detail::tvec1<core::type::precision::lowp_uint> lowp_uvec1_t; typedef detail::tvec1<core::type::precision::lowp_uint> lowp_uvec1_t;
} //namespace detail }//namespace detail
}//namespace glm }//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_vec1.inl" #include "type_vec1.inl"
#endif #endif//GLM_EXTERNAL_TEMPLATE
#endif//glm_core_type_gentype1 #endif//glm_core_type_gentype1

View File

@ -16,16 +16,9 @@
#include "type_size.hpp" #include "type_size.hpp"
#include "_swizzle.hpp" #include "_swizzle.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_vec2();
}
//namespace test
namespace detail
{
template <typename T> struct tref2; template <typename T> struct tref2;
template <typename T> struct tref3; template <typename T> struct tref3;
template <typename T> struct tref4; template <typename T> struct tref4;
@ -198,23 +191,24 @@ namespace glm
GLM_DETAIL_IS_VECTOR(tvec2); GLM_DETAIL_IS_VECTOR(tvec2);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 2 components vector of high precision floating-point numbers. //! 2 components vector of high precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<highp_float> highp_vec2; typedef detail::tvec2<highp_float> highp_vec2;
//! 2 components vector of medium precision floating-point numbers. //! 2 components vector of medium precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<mediump_float> mediump_vec2; typedef detail::tvec2<mediump_float> mediump_vec2;
//! 2 components vector of low precision floating-point numbers. //! 2 components vector of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
@ -226,11 +220,13 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<highp_int> highp_ivec2; typedef detail::tvec2<highp_int> highp_ivec2;
//! 2 components vector of medium precision signed integer numbers. //! 2 components vector of medium precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<mediump_int> mediump_ivec2; typedef detail::tvec2<mediump_int> mediump_ivec2;
//! 2 components vector of low precision signed integer numbers. //! 2 components vector of low precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
@ -242,25 +238,26 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<highp_uint> highp_uvec2; typedef detail::tvec2<highp_uint> highp_uvec2;
//! 2 components vector of medium precision unsigned integer numbers. //! 2 components vector of medium precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<mediump_uint> mediump_uvec2; typedef detail::tvec2<mediump_uint> mediump_uvec2;
//! 2 components vector of low precision unsigned integer numbers. //! 2 components vector of low precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec2<lowp_uint> lowp_uvec2; typedef detail::tvec2<lowp_uint> lowp_uvec2;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
}//namespace core
}//namespace glm }//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_vec2.inl" #include "type_vec2.inl"
#endif #endif//GLM_EXTERNAL_TEMPLATE
#endif//glm_core_type_gentype2 #endif//glm_core_type_gentype2

View File

@ -16,15 +16,9 @@
#include "type_size.hpp" #include "type_size.hpp"
#include "_swizzle.hpp" #include "_swizzle.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_vec3();
}//namespace test
namespace detail
{
template <typename T> struct tref2; template <typename T> struct tref2;
template <typename T> struct tref3; template <typename T> struct tref3;
template <typename T> struct tref4; template <typename T> struct tref4;
@ -203,23 +197,24 @@ namespace glm
}; };
GLM_DETAIL_IS_VECTOR(tvec3); GLM_DETAIL_IS_VECTOR(tvec3);
} //namespace detail } //namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
namespace precision {
{
//! 3 components vector of high precision floating-point numbers. //! 3 components vector of high precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<highp_float> highp_vec3; typedef detail::tvec3<highp_float> highp_vec3;
//! 3 components vector of medium precision floating-point numbers. //! 3 components vector of medium precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<mediump_float> mediump_vec3; typedef detail::tvec3<mediump_float> mediump_vec3;
//! 3 components vector of low precision floating-point numbers. //! 3 components vector of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
@ -231,11 +226,13 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<highp_int> highp_ivec3; typedef detail::tvec3<highp_int> highp_ivec3;
//! 3 components vector of medium precision signed integer numbers. //! 3 components vector of medium precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<mediump_int> mediump_ivec3; typedef detail::tvec3<mediump_int> mediump_ivec3;
//! 3 components vector of low precision signed integer numbers. //! 3 components vector of low precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
@ -247,25 +244,26 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<highp_uint> highp_uvec3; typedef detail::tvec3<highp_uint> highp_uvec3;
//! 3 components vector of medium precision unsigned integer numbers. //! 3 components vector of medium precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<mediump_uint> mediump_uvec3; typedef detail::tvec3<mediump_uint> mediump_uvec3;
//! 3 components vector of low precision unsigned integer numbers. //! 3 components vector of low precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec3<lowp_uint> lowp_uvec3; typedef detail::tvec3<lowp_uint> lowp_uvec3;
}
//namespace precision
}//namespace type }//namespace precision
}//namespace core }//namespace type
}//namespace core
}//namespace glm }//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_vec3.inl" #include "type_vec3.inl"
#endif #endif//GLM_EXTERNAL_TEMPLATE
#endif//glm_core_type_gentype3 #endif//glm_core_type_gentype3

View File

@ -16,15 +16,9 @@
#include "type_size.hpp" #include "type_size.hpp"
#include "_swizzle.hpp" #include "_swizzle.hpp"
namespace glm namespace glm{
namespace detail
{ {
namespace test
{
void main_vec4();
}//namespace test
namespace detail
{
template <typename T> struct tref2; template <typename T> struct tref2;
template <typename T> struct tref3; template <typename T> struct tref3;
template <typename T> struct tref4; template <typename T> struct tref4;
@ -216,26 +210,24 @@ namespace glm
}; };
GLM_DETAIL_IS_VECTOR(tvec4); GLM_DETAIL_IS_VECTOR(tvec4);
} //namespace detail }//namespace detail
namespace core{ namespace core{
namespace type{ namespace type{
namespace precision
////////////////////////// {
// Float definition
namespace precision
{
//! 4 components vector of high precision floating-point numbers. //! 4 components vector of high precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<highp_float> highp_vec4; typedef detail::tvec4<highp_float> highp_vec4;
//! 4 components vector of medium precision floating-point numbers. //! 4 components vector of medium precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<mediump_float> mediump_vec4; typedef detail::tvec4<mediump_float> mediump_vec4;
//! 4 components vector of low precision floating-point numbers. //! 4 components vector of low precision floating-point numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
@ -247,11 +239,13 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<highp_int> highp_ivec4; typedef detail::tvec4<highp_int> highp_ivec4;
//! 4 components vector of medium precision signed integer numbers. //! 4 components vector of medium precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<mediump_int> mediump_ivec4; typedef detail::tvec4<mediump_int> mediump_ivec4;
//! 4 components vector of low precision signed integer numbers. //! 4 components vector of low precision signed integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
@ -263,28 +257,26 @@ namespace glm
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<highp_uint> highp_uvec4; typedef detail::tvec4<highp_uint> highp_uvec4;
//! 4 components vector of medium precision unsigned integer numbers. //! 4 components vector of medium precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<mediump_uint> mediump_uvec4; typedef detail::tvec4<mediump_uint> mediump_uvec4;
//! 4 components vector of low precision unsigned integer numbers. //! 4 components vector of low precision unsigned integer numbers.
//! There is no guarantee on the actual precision. //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers. //! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
//! \ingroup core_precision //! \ingroup core_precision
typedef detail::tvec4<lowp_uint> lowp_uvec4; typedef detail::tvec4<lowp_uint> lowp_uvec4;
}
//namespace precision
}//namespace type
}//namespace core
using namespace core::type;
}//namespace precision
}//namespace type
}//namespace core
}//namespace glm }//namespace glm
#ifndef GLM_EXTERNAL_TEMPLATE #ifndef GLM_EXTERNAL_TEMPLATE
#include "type_vec4.inl" #include "type_vec4.inl"
#endif #endif//GLM_EXTERNAL_TEMPLATE
#endif//glm_core_type_gentype4 #endif//glm_core_type_gentype4