mirror of
https://github.com/g-truc/glm.git
synced 2024-11-09 20:21:47 +00:00
Improved EXT extensions documentation
This commit is contained in:
parent
65874078a2
commit
b40c557f25
@ -1,77 +0,0 @@
|
||||
/// @ref ext_scalar_double
|
||||
/// @file glm/ext/scalar_double.hpp
|
||||
///
|
||||
/// @see core (dependence)
|
||||
///
|
||||
/// @defgroup ext_scalar_double GLM_EXT_scalar_double
|
||||
/// @ingroup ext
|
||||
///
|
||||
/// Include <glm/ext/scalar_double.hpp> to use the features of this extension.
|
||||
///
|
||||
/// Exposes double scalar type.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "setup.hpp"
|
||||
|
||||
namespace glm{
|
||||
namespace detail
|
||||
{
|
||||
typedef float float32;
|
||||
|
||||
# ifndef GLM_FORCE_SINGLE_ONLY
|
||||
typedef double float64;
|
||||
# endif//GLM_FORCE_SINGLE_ONLY
|
||||
}//namespace detail
|
||||
|
||||
typedef float lowp_float_t;
|
||||
typedef float mediump_float_t;
|
||||
typedef double highp_float_t;
|
||||
|
||||
/// @addtogroup core_precision
|
||||
/// @{
|
||||
|
||||
/// Low qualifier floating-point numbers.
|
||||
/// There is no guarantee on the actual qualifier.
|
||||
///
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 4.1.4 Floats</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier</a>
|
||||
typedef lowp_float_t lowp_float;
|
||||
|
||||
/// Medium qualifier floating-point numbers.
|
||||
/// There is no guarantee on the actual qualifier.
|
||||
///
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 4.1.4 Floats</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier</a>
|
||||
typedef mediump_float_t mediump_float;
|
||||
|
||||
/// High qualifier floating-point numbers.
|
||||
/// There is no guarantee on the actual qualifier.
|
||||
///
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 4.1.4 Floats</a>
|
||||
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier</a>
|
||||
typedef highp_float_t highp_float;
|
||||
|
||||
#if GLM_CONFIG_PRECISION_FLOAT == GLM_HIGHP
|
||||
typedef highp_float float_t;
|
||||
#elif GLM_CONFIG_PRECISION_FLOAT == GLM_MEDIUMP
|
||||
typedef mediump_float float_t;
|
||||
#elif GLM_CONFIG_PRECISION_FLOAT == GLM_LOWP
|
||||
typedef lowp_float float_t;
|
||||
#endif
|
||||
|
||||
typedef float float32;
|
||||
|
||||
# ifndef GLM_FORCE_SINGLE_ONLY
|
||||
typedef double float64;
|
||||
# endif//GLM_FORCE_SINGLE_ONLY
|
||||
|
||||
////////////////////
|
||||
// check type sizes
|
||||
# ifndef GLM_FORCE_SINGLE_ONLY
|
||||
GLM_STATIC_ASSERT(sizeof(glm::float64) == 8, "float64 size isn't 8 bytes on this platform");
|
||||
# endif//GLM_FORCE_SINGLE_ONLY
|
||||
|
||||
/// @}
|
||||
|
||||
}//namespace glm
|
39
manual.md
39
manual.md
@ -687,21 +687,15 @@ However, defining `GLM_FORCE_UNRESTRICTED_GENTYPE` is not compatible with `GLM_F
|
||||
|
||||
### <a name="section3_1"></a> 3.1. Scalar types
|
||||
|
||||
#### 3.1.1. GLM_EXT_scalar_float_sized
|
||||
#### 3.1.1. GLM_EXT_scalar_int_sized
|
||||
|
||||
TODO
|
||||
|
||||
Include `<glm/ext/scalar_float_sized.hpp>` to use these features.
|
||||
|
||||
#### 3.1.2. GLM_EXT_scalar_int_sized
|
||||
|
||||
TODO
|
||||
This extension exposes sized and signed integer types.
|
||||
|
||||
Include `<glm/ext/scalar_int_sized.hpp>` to use these features.
|
||||
|
||||
#### 3.1.3. GLM_EXT_scalar_uint_sized
|
||||
#### 3.1.2. GLM_EXT_scalar_uint_sized
|
||||
|
||||
TODO
|
||||
This extension exposes sized and unsigned integer types.
|
||||
|
||||
Include `<glm/ext/scalar_uint_sized.hpp>` to use these features.
|
||||
|
||||
@ -709,13 +703,32 @@ Include `<glm/ext/scalar_uint_sized.hpp>` to use these features.
|
||||
|
||||
#### 3.2.1. GLM_EXT_scalar_common
|
||||
|
||||
TODO
|
||||
This extension exposes support for `min` and `max` functions taking more than two scalar arguments. Also, it adds `fmin` and `fmax` variants which prevents `NaN` probagation.
|
||||
|
||||
```cpp
|
||||
#include <glm/ext/scalar_common.hpp>
|
||||
|
||||
float PositiveMax(float const a, float const b)
|
||||
{
|
||||
return glm::fmax(a, b, 0.0f);
|
||||
}
|
||||
```
|
||||
|
||||
Include `<glm/ext/scalar_common.hpp>` to use these features.
|
||||
|
||||
#### 3.2.2. GLM_EXT_scalar_relational
|
||||
|
||||
TODO
|
||||
This extension exposes `equal` and `notEqual` variants which takes an epsilon argument.
|
||||
|
||||
```cpp
|
||||
#include <glm/ext/scalar_relational.hpp>
|
||||
|
||||
bool myEqual(float const a, float const b)
|
||||
{
|
||||
float const CustomEpsilon = 0.0001f;
|
||||
return glm::equal(a, b, CustomEpsilon);
|
||||
}
|
||||
```
|
||||
|
||||
Include `<glm/ext/scalar_relational.hpp>` to use these features.
|
||||
|
||||
@ -888,7 +901,7 @@ Provide a list of built-in constants.
|
||||
|
||||
`<glm/gtc/constants.hpp>` need to be included to use these features.
|
||||
|
||||
### <a name="section4_4"></a> 4.4. GLM_GTC_epsilon
|
||||
### <a name="section4_4"></a> 4.4. GLM\_GTC\_epsilon
|
||||
|
||||
Approximate equality comparisons for floating-point numbers, possibly with a user-defined epsilon.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user