mirror of
https://github.com/g-truc/glm.git
synced 2024-09-20 08:22:17 +00:00
Refactoring of integer and float details, use of C++11 integer types when available.
This commit is contained in:
parent
b5607d0018
commit
d52a388000
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
#include "setup.hpp"
|
#include "setup.hpp"
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
//#if((GLM_LANG & GLM_LANG_CXX0X) || (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)))
|
||||||
#if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
|
#if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#endif
|
#endif
|
||||||
@ -38,24 +39,44 @@
|
|||||||
namespace glm{
|
namespace glm{
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
class half;
|
# if((GLM_LANG & GLM_LANG_CXX0X) == GLM_LANG_CXX0X)
|
||||||
|
typedef std::int8_t int8;
|
||||||
|
typedef std::int16_t int16;
|
||||||
|
typedef std::int32_t int32;
|
||||||
|
typedef std::int64_t int64;
|
||||||
|
|
||||||
#if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
|
typedef std::uint8_t uint8;
|
||||||
|
typedef std::uint16_t uint16;
|
||||||
|
typedef std::uint32_t uint32;
|
||||||
|
typedef std::uint64_t uint64;
|
||||||
|
# else
|
||||||
|
# if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
|
||||||
typedef int64_t sint64;
|
typedef int64_t sint64;
|
||||||
typedef uint64_t uint64;
|
typedef uint64_t uint64;
|
||||||
#elif(GLM_COMPILER & GLM_COMPILER_VC)
|
# elif(GLM_COMPILER & GLM_COMPILER_VC)
|
||||||
typedef signed __int64 sint64;
|
typedef signed __int64 sint64;
|
||||||
typedef unsigned __int64 uint64;
|
typedef unsigned __int64 uint64;
|
||||||
#elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))
|
# elif(GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_LLVM_GCC | GLM_COMPILER_CLANG))
|
||||||
__extension__ typedef signed long long sint64;
|
__extension__ typedef signed long long sint64;
|
||||||
__extension__ typedef unsigned long long uint64;
|
__extension__ typedef unsigned long long uint64;
|
||||||
#elif(GLM_COMPILER & GLM_COMPILER_BC)
|
# elif(GLM_COMPILER & GLM_COMPILER_BC)
|
||||||
typedef Int64 sint64;
|
typedef Int64 sint64;
|
||||||
typedef Uint64 uint64;
|
typedef Uint64 uint64;
|
||||||
#else//unknown compiler
|
# else//unknown compiler
|
||||||
typedef signed long long sint64;
|
typedef signed long long sint64;
|
||||||
typedef unsigned long long uint64;
|
typedef unsigned long long uint64;
|
||||||
#endif//GLM_COMPILER
|
# endif//GLM_COMPILER
|
||||||
|
|
||||||
|
typedef signed char int8;
|
||||||
|
typedef signed short int16;
|
||||||
|
typedef signed int int32;
|
||||||
|
typedef sint64 int64;
|
||||||
|
|
||||||
|
typedef unsigned char uint8;
|
||||||
|
typedef unsigned short uint16;
|
||||||
|
typedef unsigned int uint32;
|
||||||
|
typedef uint64 uint64;
|
||||||
|
#endif//
|
||||||
|
|
||||||
template<bool C>
|
template<bool C>
|
||||||
struct If
|
struct If
|
||||||
@ -242,11 +263,6 @@ namespace detail
|
|||||||
}; \
|
}; \
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_DETAIL_IS_FLOAT(detail::half);
|
|
||||||
GLM_DETAIL_IS_FLOAT(float);
|
|
||||||
GLM_DETAIL_IS_FLOAT(double);
|
|
||||||
GLM_DETAIL_IS_FLOAT(long double);
|
|
||||||
|
|
||||||
//////////////////
|
//////////////////
|
||||||
// bool
|
// bool
|
||||||
|
|
||||||
@ -333,23 +349,6 @@ namespace detail
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////////
|
|
||||||
// type
|
|
||||||
|
|
||||||
typedef signed char int8;
|
|
||||||
typedef signed short int16;
|
|
||||||
typedef signed int int32;
|
|
||||||
typedef detail::sint64 int64;
|
|
||||||
|
|
||||||
typedef unsigned char uint8;
|
|
||||||
typedef unsigned short uint16;
|
|
||||||
typedef unsigned int uint32;
|
|
||||||
typedef detail::uint64 uint64;
|
|
||||||
|
|
||||||
typedef detail::half float16;
|
|
||||||
typedef float float32;
|
|
||||||
typedef double float64;
|
|
||||||
|
|
||||||
//////////////////
|
//////////////////
|
||||||
// float_or_int_trait
|
// float_or_int_trait
|
||||||
|
|
||||||
@ -368,73 +367,6 @@ namespace detail
|
|||||||
{
|
{
|
||||||
enum{ID = float_or_int_value::GLM_ERROR};
|
enum{ID = float_or_int_value::GLM_ERROR};
|
||||||
};
|
};
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<int8>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<int16>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<int32>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<int64>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<uint8>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<uint16>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<uint32>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<uint64>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_INT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<float16>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_FLOAT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<float32>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_FLOAT};
|
|
||||||
};
|
|
||||||
|
|
||||||
template <>
|
|
||||||
struct float_or_int_trait<float64>
|
|
||||||
{
|
|
||||||
enum{ID = float_or_int_value::GLM_FLOAT};
|
|
||||||
};
|
|
||||||
|
|
||||||
}//namespace detail
|
}//namespace detail
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ namespace glm
|
|||||||
//!
|
//!
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packUnorm2x16.xml">GLSL packUnorm2x16 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packUnorm2x16.xml">GLSL packUnorm2x16 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::uint32 packUnorm2x16(detail::tvec2<detail::float32> const & v);
|
uint32 packUnorm2x16(detail::tvec2<float32> const & v);
|
||||||
|
|
||||||
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
||||||
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
||||||
@ -65,7 +65,7 @@ namespace glm
|
|||||||
//!
|
//!
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packSnorm2x16.xml">GLSL packSnorm2x16 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packSnorm2x16.xml">GLSL packSnorm2x16 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::uint32 packSnorm2x16(detail::tvec2<detail::float32> const & v);
|
uint32 packSnorm2x16(detail::tvec2<float32> const & v);
|
||||||
|
|
||||||
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
||||||
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
||||||
@ -78,7 +78,7 @@ namespace glm
|
|||||||
//!
|
//!
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packUnorm4x8.xml">GLSL packUnorm4x8 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packUnorm4x8.xml">GLSL packUnorm4x8 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::uint32 packUnorm4x8(detail::tvec4<detail::float32> const & v);
|
uint32 packUnorm4x8(detail::tvec4<float32> const & v);
|
||||||
|
|
||||||
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
//! First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.
|
||||||
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
//! Then, the results are packed into the returned 32-bit unsigned integer.
|
||||||
@ -91,7 +91,7 @@ namespace glm
|
|||||||
//!
|
//!
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packSnorm4x8.xml">GLSL packSnorm4x8 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packSnorm4x8.xml">GLSL packSnorm4x8 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::uint32 packSnorm4x8(detail::tvec4<detail::float32> const & v);
|
uint32 packSnorm4x8(detail::tvec4<float32> const & v);
|
||||||
|
|
||||||
//! First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
//! First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||||
//! Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
//! Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||||
@ -104,7 +104,7 @@ namespace glm
|
|||||||
//!
|
//!
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackUnorm2x16.xml">GLSL unpackUnorm2x16 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackUnorm2x16.xml">GLSL unpackUnorm2x16 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::tvec2<detail::float32> unpackUnorm2x16(detail::uint32 const & p);
|
detail::tvec2<float32> unpackUnorm2x16(uint32 const & p);
|
||||||
|
|
||||||
//! First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
//! First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||||
//! Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
//! Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||||
@ -117,7 +117,7 @@ namespace glm
|
|||||||
//!
|
//!
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackSnorm2x16.xml">GLSL unpackSnorm2x16 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackSnorm2x16.xml">GLSL unpackSnorm2x16 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::tvec2<detail::float32> unpackSnorm2x16(detail::uint32 const & p);
|
detail::tvec2<float32> unpackSnorm2x16(uint32 const & p);
|
||||||
|
|
||||||
/// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
/// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||||
/// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
/// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||||
@ -130,7 +130,7 @@ namespace glm
|
|||||||
///
|
///
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackUnorm4x8.xml">GLSL unpackUnorm4x8 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackUnorm4x8.xml">GLSL unpackUnorm4x8 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::tvec4<detail::float32> unpackUnorm4x8(detail::uint32 const & p);
|
detail::tvec4<float32> unpackUnorm4x8(uint32 const & p);
|
||||||
|
|
||||||
/// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
/// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
|
||||||
/// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
/// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.
|
||||||
@ -143,7 +143,7 @@ namespace glm
|
|||||||
///
|
///
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackSnorm4x8.xml">GLSL unpackSnorm4x8 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackSnorm4x8.xml">GLSL unpackSnorm4x8 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::tvec4<detail::float32> unpackSnorm4x8(detail::uint32 const & p);
|
detail::tvec4<float32> unpackSnorm4x8(uint32 const & p);
|
||||||
|
|
||||||
/// Returns a double-precision value obtained by packing the components of v into a 64-bit value.
|
/// Returns a double-precision value obtained by packing the components of v into a 64-bit value.
|
||||||
/// If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified.
|
/// If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified.
|
||||||
@ -153,7 +153,7 @@ namespace glm
|
|||||||
///
|
///
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packDouble2x32.xml">GLSL packDouble2x32 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/packDouble2x32.xml">GLSL packDouble2x32 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
double packDouble2x32(detail::tvec2<detail::uint32> const & v);
|
double packDouble2x32(detail::tvec2<uint32> const & v);
|
||||||
|
|
||||||
/// Returns a two-component unsigned integer vector representation of v.
|
/// Returns a two-component unsigned integer vector representation of v.
|
||||||
/// The bit-level representation of v is preserved.
|
/// The bit-level representation of v is preserved.
|
||||||
@ -162,7 +162,7 @@ namespace glm
|
|||||||
///
|
///
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackDouble2x32.xml">GLSL unpackDouble2x32 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackDouble2x32.xml">GLSL unpackDouble2x32 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
detail::tvec2<detail::uint32> unpackDouble2x32(double const & v);
|
detail::tvec2<uint32> unpackDouble2x32(double const & v);
|
||||||
|
|
||||||
/// Returns an unsigned integer obtained by converting the components of a two-component floating-point vector
|
/// Returns an unsigned integer obtained by converting the components of a two-component floating-point vector
|
||||||
/// to the 16-bit floating-point representation found in the OpenGL Specification,
|
/// to the 16-bit floating-point representation found in the OpenGL Specification,
|
||||||
@ -182,7 +182,7 @@ namespace glm
|
|||||||
///
|
///
|
||||||
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackHalf2x16.xml">GLSL unpackHalf2x16 man page</a>
|
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/unpackHalf2x16.xml">GLSL unpackHalf2x16 man page</a>
|
||||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a>
|
||||||
vec2 unpackHalf2x16(uint const & v);
|
vec2 unpackHalf2x16(uint32 const & v);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
@ -28,118 +28,118 @@
|
|||||||
|
|
||||||
namespace glm
|
namespace glm
|
||||||
{
|
{
|
||||||
GLM_FUNC_QUALIFIER detail::uint32 packUnorm2x16(detail::tvec2<detail::float32> const & v)
|
GLM_FUNC_QUALIFIER uint32 packUnorm2x16(detail::tvec2<float32> const & v)
|
||||||
{
|
{
|
||||||
detail::uint16 A(detail::uint16(round(clamp(v.x, 0.0f, 1.0f) * 65535.0f)));
|
uint16 A(uint16(round(clamp(v.x, 0.0f, 1.0f) * 65535.0f)));
|
||||||
detail::uint16 B(detail::uint16(round(clamp(v.y, 0.0f, 1.0f) * 65535.0f)));
|
uint16 B(uint16(round(clamp(v.y, 0.0f, 1.0f) * 65535.0f)));
|
||||||
return detail::uint32((B << 16) | A);
|
return uint32((B << 16) | A);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::tvec2<detail::float32> unpackUnorm2x16(detail::uint32 const & p)
|
GLM_FUNC_QUALIFIER detail::tvec2<float32> unpackUnorm2x16(uint32 const & p)
|
||||||
{
|
{
|
||||||
detail::uint32 Mask16((1 << 16) - 1);
|
uint32 Mask16((1 << 16) - 1);
|
||||||
detail::uint32 A((p >> 0) & Mask16);
|
uint32 A((p >> 0) & Mask16);
|
||||||
detail::uint32 B((p >> 16) & Mask16);
|
uint32 B((p >> 16) & Mask16);
|
||||||
return detail::tvec2<detail::float32>(
|
return detail::tvec2<float32>(
|
||||||
A * 1.0f / 65535.0f,
|
A * 1.0f / 65535.0f,
|
||||||
B * 1.0f / 65535.0f);
|
B * 1.0f / 65535.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::uint32 packSnorm2x16(detail::tvec2<detail::float32> const & v)
|
GLM_FUNC_QUALIFIER uint32 packSnorm2x16(detail::tvec2<float32> const & v)
|
||||||
{
|
{
|
||||||
union iu
|
union iu
|
||||||
{
|
{
|
||||||
detail::int16 i;
|
int16 i;
|
||||||
detail::uint16 u;
|
uint16 u;
|
||||||
} A, B;
|
} A, B;
|
||||||
|
|
||||||
detail::tvec2<detail::float32> Unpack = clamp(v ,-1.0f, 1.0f) * 32767.0f;
|
detail::tvec2<float32> Unpack = clamp(v ,-1.0f, 1.0f) * 32767.0f;
|
||||||
A.i = detail::int16(round(Unpack.x));
|
A.i = detail::int16(round(Unpack.x));
|
||||||
B.i = detail::int16(round(Unpack.y));
|
B.i = detail::int16(round(Unpack.y));
|
||||||
detail::uint32 Pack = (detail::uint32(B.u) << 16) | (detail::uint32(A.u) << 0);
|
uint32 Pack = (uint32(B.u) << 16) | (uint32(A.u) << 0);
|
||||||
return Pack;
|
return Pack;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::tvec2<detail::float32> unpackSnorm2x16(detail::uint32 const & p)
|
GLM_FUNC_QUALIFIER detail::tvec2<float32> unpackSnorm2x16(uint32 const & p)
|
||||||
{
|
{
|
||||||
union iu
|
union iu
|
||||||
{
|
{
|
||||||
detail::int16 i;
|
int16 i;
|
||||||
detail::uint16 u;
|
uint16 u;
|
||||||
} A, B;
|
} A, B;
|
||||||
|
|
||||||
detail::uint32 Mask16((1 << 16) - 1);
|
uint32 Mask16((1 << 16) - 1);
|
||||||
A.u = detail::uint16((p >> 0) & Mask16);
|
A.u = uint16((p >> 0) & Mask16);
|
||||||
B.u = detail::uint16((p >> 16) & Mask16);
|
B.u = uint16((p >> 16) & Mask16);
|
||||||
detail::tvec2<detail::float32> Pack(A.i, B.i);
|
detail::tvec2<float32> Pack(A.i, B.i);
|
||||||
|
|
||||||
return clamp(Pack * 1.0f / 32767.0f, -1.0f, 1.0f);
|
return clamp(Pack * 1.0f / 32767.0f, -1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::uint32 packUnorm4x8(detail::tvec4<detail::float32> const & v)
|
GLM_FUNC_QUALIFIER uint32 packUnorm4x8(detail::tvec4<float32> const & v)
|
||||||
{
|
{
|
||||||
detail::uint8 A((detail::uint8)round(clamp(v.x, 0.0f, 1.0f) * 255.0f));
|
uint8 A((uint8)round(clamp(v.x, 0.0f, 1.0f) * 255.0f));
|
||||||
detail::uint8 B((detail::uint8)round(clamp(v.y, 0.0f, 1.0f) * 255.0f));
|
uint8 B((uint8)round(clamp(v.y, 0.0f, 1.0f) * 255.0f));
|
||||||
detail::uint8 C((detail::uint8)round(clamp(v.z, 0.0f, 1.0f) * 255.0f));
|
uint8 C((uint8)round(clamp(v.z, 0.0f, 1.0f) * 255.0f));
|
||||||
detail::uint8 D((detail::uint8)round(clamp(v.w, 0.0f, 1.0f) * 255.0f));
|
uint8 D((uint8)round(clamp(v.w, 0.0f, 1.0f) * 255.0f));
|
||||||
return detail::uint32((D << 24) | (C << 16) | (B << 8) | A);
|
return uint32((D << 24) | (C << 16) | (B << 8) | A);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::tvec4<detail::float32> unpackUnorm4x8(detail::uint32 const & p)
|
GLM_FUNC_QUALIFIER detail::tvec4<float32> unpackUnorm4x8(uint32 const & p)
|
||||||
{
|
{
|
||||||
detail::uint32 Mask8((1 << 8) - 1);
|
uint32 Mask8((1 << 8) - 1);
|
||||||
detail::uint32 A((p >> 0) & Mask8);
|
uint32 A((p >> 0) & Mask8);
|
||||||
detail::uint32 B((p >> 8) & Mask8);
|
uint32 B((p >> 8) & Mask8);
|
||||||
detail::uint32 C((p >> 16) & Mask8);
|
uint32 C((p >> 16) & Mask8);
|
||||||
detail::uint32 D((p >> 24) & Mask8);
|
uint32 D((p >> 24) & Mask8);
|
||||||
return detail::tvec4<detail::float32>(
|
return detail::tvec4<float32>(
|
||||||
A * 1.0f / 255.0f,
|
A * 1.0f / 255.0f,
|
||||||
B * 1.0f / 255.0f,
|
B * 1.0f / 255.0f,
|
||||||
C * 1.0f / 255.0f,
|
C * 1.0f / 255.0f,
|
||||||
D * 1.0f / 255.0f);
|
D * 1.0f / 255.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::uint32 packSnorm4x8(detail::tvec4<detail::float32> const & v)
|
GLM_FUNC_QUALIFIER uint32 packSnorm4x8(detail::tvec4<float32> const & v)
|
||||||
{
|
{
|
||||||
union iu
|
union iu
|
||||||
{
|
{
|
||||||
detail::int8 i;
|
int8 i;
|
||||||
detail::uint8 u;
|
uint8 u;
|
||||||
} A, B, C, D;
|
} A, B, C, D;
|
||||||
|
|
||||||
detail::tvec4<detail::float32> Unpack = clamp(v ,-1.0f, 1.0f) * 127.0f;
|
detail::tvec4<float32> Unpack = clamp(v ,-1.0f, 1.0f) * 127.0f;
|
||||||
A.i = detail::int8(round(Unpack.x));
|
A.i = int8(round(Unpack.x));
|
||||||
B.i = detail::int8(round(Unpack.y));
|
B.i = int8(round(Unpack.y));
|
||||||
C.i = detail::int8(round(Unpack.z));
|
C.i = int8(round(Unpack.z));
|
||||||
D.i = detail::int8(round(Unpack.w));
|
D.i = int8(round(Unpack.w));
|
||||||
detail::uint32 Pack = (detail::uint32(D.u) << 24) | (detail::uint32(C.u) << 16) | (detail::uint32(B.u) << 8) | (detail::uint32(A.u) << 0);
|
uint32 Pack = (uint32(D.u) << 24) | (uint32(C.u) << 16) | (uint32(B.u) << 8) | (uint32(A.u) << 0);
|
||||||
return Pack;
|
return Pack;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER detail::tvec4<detail::float32> unpackSnorm4x8(detail::uint32 const & p)
|
GLM_FUNC_QUALIFIER detail::tvec4<float32> unpackSnorm4x8(uint32 const & p)
|
||||||
{
|
{
|
||||||
union iu
|
union iu
|
||||||
{
|
{
|
||||||
detail::int8 i;
|
int8 i;
|
||||||
detail::uint8 u;
|
uint8 u;
|
||||||
} A, B, C, D;
|
} A, B, C, D;
|
||||||
|
|
||||||
detail::uint32 Mask8((1 << 8) - 1);
|
uint32 Mask8((1 << 8) - 1);
|
||||||
A.u = detail::uint8((p >> 0) & Mask8);
|
A.u = uint8((p >> 0) & Mask8);
|
||||||
B.u = detail::uint8((p >> 8) & Mask8);
|
B.u = uint8((p >> 8) & Mask8);
|
||||||
C.u = detail::uint8((p >> 16) & Mask8);
|
C.u = uint8((p >> 16) & Mask8);
|
||||||
D.u = detail::uint8((p >> 24) & Mask8);
|
D.u = uint8((p >> 24) & Mask8);
|
||||||
detail::tvec4<detail::float32> Pack(A.i, B.i, C.i, D.i);
|
detail::tvec4<float32> Pack(A.i, B.i, C.i, D.i);
|
||||||
|
|
||||||
return clamp(Pack * 1.0f / 127.0f, -1.0f, 1.0f);
|
return clamp(Pack * 1.0f / 127.0f, -1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLM_FUNC_QUALIFIER double packDouble2x32(detail::tvec2<detail::uint32> const & v)
|
GLM_FUNC_QUALIFIER double packDouble2x32(detail::tvec2<uint32> const & v)
|
||||||
{
|
{
|
||||||
struct uint32_pair
|
struct uint32_pair
|
||||||
{
|
{
|
||||||
detail::uint32 x;
|
uint32 x;
|
||||||
detail::uint32 y;
|
uint32 y;
|
||||||
};
|
};
|
||||||
|
|
||||||
union helper
|
union helper
|
||||||
@ -159,8 +159,8 @@ namespace glm
|
|||||||
{
|
{
|
||||||
struct uint32_pair
|
struct uint32_pair
|
||||||
{
|
{
|
||||||
detail::uint32 x;
|
uint32 x;
|
||||||
detail::uint32 y;
|
uint32 y;
|
||||||
};
|
};
|
||||||
|
|
||||||
union helper
|
union helper
|
||||||
|
@ -32,8 +32,14 @@
|
|||||||
#include "type_half.hpp"
|
#include "type_half.hpp"
|
||||||
#include "setup.hpp"
|
#include "setup.hpp"
|
||||||
|
|
||||||
namespace glm
|
namespace glm{
|
||||||
|
namespace detail
|
||||||
{
|
{
|
||||||
|
typedef detail::half float16;
|
||||||
|
typedef float float32;
|
||||||
|
typedef double float64;
|
||||||
|
}//namespace detail
|
||||||
|
|
||||||
#ifdef GLM_USE_HALF_SCALAR
|
#ifdef GLM_USE_HALF_SCALAR
|
||||||
typedef detail::half lowp_float_t;
|
typedef detail::half lowp_float_t;
|
||||||
#else//GLM_USE_HALF_SCALAR
|
#else//GLM_USE_HALF_SCALAR
|
||||||
@ -78,7 +84,47 @@ namespace glm
|
|||||||
# error "GLM error: multiple default precision requested for floating-point types"
|
# error "GLM error: multiple default precision requested for floating-point types"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
typedef detail::half float16;
|
||||||
|
typedef float float32;
|
||||||
|
typedef double float64;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
// check type sizes
|
||||||
|
#ifndef GLM_STATIC_ASSERT_NULL
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::float16) == 2, "float16 size isn't 2 bytes on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::float32) == 4, "float32 size isn't 4 bytes on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
|
||||||
|
#endif//GLM_STATIC_ASSERT_NULL
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
////////////////////
|
||||||
|
// Mark half to be flaot
|
||||||
|
GLM_DETAIL_IS_FLOAT(detail::half);
|
||||||
|
GLM_DETAIL_IS_FLOAT(float);
|
||||||
|
GLM_DETAIL_IS_FLOAT(double);
|
||||||
|
GLM_DETAIL_IS_FLOAT(long double);
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<float16>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_FLOAT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<float32>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_FLOAT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<float64>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_FLOAT};
|
||||||
|
};
|
||||||
|
}//namespace detail
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
|
||||||
#endif//glm_core_type_float
|
#endif//glm_core_type_float
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#define glm_core_type_half
|
#define glm_core_type_half
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include "_detail.hpp"
|
||||||
|
|
||||||
namespace glm{
|
namespace glm{
|
||||||
namespace detail
|
namespace detail
|
||||||
|
@ -30,8 +30,6 @@
|
|||||||
/// @author Christophe Riccio
|
/// @author Christophe Riccio
|
||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "_detail.hpp"
|
|
||||||
|
|
||||||
namespace glm{
|
namespace glm{
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
@ -37,25 +37,23 @@ 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 int64 highp_int_t;
|
||||||
|
|
||||||
typedef unsigned short lowp_uint_t;
|
typedef unsigned short lowp_uint_t;
|
||||||
typedef unsigned int mediump_uint_t;
|
typedef unsigned int mediump_uint_t;
|
||||||
typedef uint64 highp_uint_t;
|
typedef uint64 highp_uint_t;
|
||||||
|
|
||||||
GLM_DETAIL_IS_INT(signed char);
|
|
||||||
GLM_DETAIL_IS_INT(signed short);
|
|
||||||
GLM_DETAIL_IS_INT(signed int);
|
|
||||||
GLM_DETAIL_IS_INT(signed long);
|
|
||||||
GLM_DETAIL_IS_INT(highp_int_t);
|
|
||||||
|
|
||||||
GLM_DETAIL_IS_UINT(unsigned char);
|
|
||||||
GLM_DETAIL_IS_UINT(unsigned short);
|
|
||||||
GLM_DETAIL_IS_UINT(unsigned int);
|
|
||||||
GLM_DETAIL_IS_UINT(unsigned long);
|
|
||||||
GLM_DETAIL_IS_UINT(highp_uint_t);
|
|
||||||
}//namespace detail
|
}//namespace detail
|
||||||
|
|
||||||
|
typedef detail::int8 int8;
|
||||||
|
typedef detail::int16 int16;
|
||||||
|
typedef detail::int32 int32;
|
||||||
|
typedef detail::int64 int64;
|
||||||
|
|
||||||
|
typedef detail::uint8 uint8;
|
||||||
|
typedef detail::uint16 uint16;
|
||||||
|
typedef detail::uint32 uint32;
|
||||||
|
typedef detail::uint64 uint64;
|
||||||
|
|
||||||
/// @addtogroup core_precision
|
/// @addtogroup core_precision
|
||||||
/// @{
|
/// @{
|
||||||
|
|
||||||
@ -131,6 +129,83 @@ namespace detail
|
|||||||
typedef uint_t uint;
|
typedef uint_t uint;
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
// check type sizes
|
||||||
|
#ifndef GLM_STATIC_ASSERT_NULL
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::int8) == 1, "int8 size isn't 1 byte on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::int16) == 2, "int16 size isn't 2 bytes on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::int32) == 4, "int32 size isn't 4 bytes on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::int64) == 8, "int64 size isn't 8 bytes on this platform");
|
||||||
|
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::uint8) == 1, "uint8 size isn't 1 byte on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
|
||||||
|
GLM_STATIC_ASSERT(sizeof(glm::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
|
||||||
|
#endif//GLM_STATIC_ASSERT_NULL
|
||||||
|
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
GLM_DETAIL_IS_INT(signed char);
|
||||||
|
GLM_DETAIL_IS_INT(signed short);
|
||||||
|
GLM_DETAIL_IS_INT(signed int);
|
||||||
|
GLM_DETAIL_IS_INT(signed long);
|
||||||
|
GLM_DETAIL_IS_INT(highp_int_t);
|
||||||
|
|
||||||
|
GLM_DETAIL_IS_UINT(unsigned char);
|
||||||
|
GLM_DETAIL_IS_UINT(unsigned short);
|
||||||
|
GLM_DETAIL_IS_UINT(unsigned int);
|
||||||
|
GLM_DETAIL_IS_UINT(unsigned long);
|
||||||
|
GLM_DETAIL_IS_UINT(highp_uint_t);
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<int8>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<int16>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<int32>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<int64>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<uint8>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<uint16>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<uint32>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct float_or_int_trait<uint64>
|
||||||
|
{
|
||||||
|
enum{ID = float_or_int_value::GLM_INT};
|
||||||
|
};
|
||||||
|
}//namespace detail
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
|
||||||
#endif//glm_core_type_int
|
#endif//glm_core_type_int
|
||||||
|
18
glm/glm.hpp
18
glm/glm.hpp
@ -108,22 +108,4 @@
|
|||||||
#include "./core/func_noise.hpp"
|
#include "./core/func_noise.hpp"
|
||||||
#include "./core/_swizzle.hpp"
|
#include "./core/_swizzle.hpp"
|
||||||
|
|
||||||
////////////////////
|
|
||||||
// check type sizes
|
|
||||||
#ifndef GLM_STATIC_ASSERT_NULL
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::int8) == 1, "int8 size isn't 1 byte on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::int16) == 2, "int16 size isn't 2 bytes on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::int32) == 4, "int32 size isn't 4 bytes on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::int64) == 8, "int64 size isn't 8 bytes on this platform");
|
|
||||||
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::uint8) == 1, "uint8 size isn't 1 byte on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::uint16) == 2, "uint16 size isn't 2 bytes on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::uint32) == 4, "uint32 size isn't 4 bytes on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::uint64) == 8, "uint64 size isn't 8 bytes on this platform");
|
|
||||||
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::float16) == 2, "float16 size isn't 2 bytes on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::float32) == 4, "float32 size isn't 4 bytes on this platform");
|
|
||||||
GLM_STATIC_ASSERT(sizeof(glm::detail::float64) == 8, "float64 size isn't 8 bytes on this platform");
|
|
||||||
#endif//GLM_STATIC_ASSERT_NULL
|
|
||||||
|
|
||||||
#endif//glm_glm
|
#endif//glm_glm
|
||||||
|
3
test/external/gli/core/generate_mipmaps.inl
vendored
3
test/external/gli/core/generate_mipmaps.inl
vendored
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
namespace gli
|
namespace gli
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
inline texture2D generateMipmaps
|
inline texture2D generateMipmaps
|
||||||
(
|
(
|
||||||
texture2D const & Image,
|
texture2D const & Image,
|
||||||
@ -64,5 +65,5 @@ namespace gli
|
|||||||
|
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}//namespace gli
|
}//namespace gli
|
||||||
|
Loading…
Reference in New Issue
Block a user