mirror of
https://github.com/g-truc/glm.git
synced 2024-11-13 22:01:46 +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
|
### <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
|
This extension exposes sized and signed integer types.
|
||||||
|
|
||||||
Include `<glm/ext/scalar_float_sized.hpp>` to use these features.
|
|
||||||
|
|
||||||
#### 3.1.2. GLM_EXT_scalar_int_sized
|
|
||||||
|
|
||||||
TODO
|
|
||||||
|
|
||||||
Include `<glm/ext/scalar_int_sized.hpp>` to use these features.
|
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.
|
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
|
#### 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.
|
Include `<glm/ext/scalar_common.hpp>` to use these features.
|
||||||
|
|
||||||
#### 3.2.2. GLM_EXT_scalar_relational
|
#### 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.
|
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.
|
`<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.
|
Approximate equality comparisons for floating-point numbers, possibly with a user-defined epsilon.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user