From b2e1f9698e51bac2f6508b518b221ba4fd1bf221 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Thu, 17 Aug 2017 13:58:39 +0200 Subject: [PATCH] Highlight GLM_FORCE defines --- manual.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/manual.md b/manual.md index 6c048345..4cd827d4 100644 --- a/manual.md +++ b/manual.md @@ -16,14 +16,14 @@ + [2.1. Default C++98 implementation](#section2_1) + [2.2. Anonynous union member implementation](#section2_2) + [3. Preprocessor options](#section3) -+ [3.1. Default precision](#section3_1) -+ [3.2. Compile-time message system](#section3_2) -+ [3.3. C++ language detection](#section3_3) ++ [3.1. GLM\_PRECISION\_**: Default precision](#section3_1) ++ [3.2. GLM\_FORCE\_MESSAGES: Compile-time message system](#section3_2) ++ [3.3. GLM\_FORCE\_CXX**: C++ language detection](#section3_3) + [3.4. SIMD support](#section3_4) -+ [3.5. Force inline](#section3_5) -+ [3.6. Vector and matrix static size](#section3_6) -+ [3.7. Requiring explicit conversions](#section3_7) -+ [3.8. Removing genType restriction](#section3_8) ++ [3.5. GLM\_FORCE\_INLINE: Force inline](#section3_5) ++ [3.6. GLM\_FORCE\_SIZE\_T\_LENGTH: Vector and matrix static size](#section3_6) ++ [3.7. GLM\_FORCE\_EXPLICIT\_CTOR: Requiring explicit conversions](#section3_7) ++ [3.8. GLM\_FORCE\_UNRESTRICTED\_GENTYPE: Removing genType restriction](#section3_8) + [4. Stable extensions](#section4) + [4.1. GLM_GTC_bitfield](#section4_1) + [4.2. GLM_GTC_color_space](#section4_2) @@ -320,7 +320,7 @@ void foo() --- ## 3. Preprocessor options -### 3.1. Default precision +### 3.1. GLM\_PRECISION\_**: Default precision C++ does not provide a way to implement GLSL default precision selection (as defined in GLSL 4.10 specification section 4.5.3) with GLSL-like syntax. @@ -361,7 +361,7 @@ Available defines for unsigned integer types (glm::uvec\*): * GLM\_PRECISION\_MEDIUMP\_UINT: Medium precision * GLM\_PRECISION\_HIGHP\_UINT: High precision (default) -### 3.2. Compile-time message system +### 3.2. GLM\_FORCE\_MESSAGES: Compile-time message system GLM includes a notification system which can display some information at build time: @@ -381,7 +381,7 @@ only once per project build. #include ``` -### 3.3. C++ language detection +### 3.3. GLM\_FORCE\_CXX**: C++ language detection GLM will automatically take advantage of compilers’ language extensions when enabled. To increase cross platform compatibility and to avoid compiler extensions, a programmer can define GLM\_FORCE\_CXX98 before any inclusion of <glm/glm.hpp> to restrict the language feature set C++98: @@ -431,7 +431,7 @@ The use of intrinsic functions by GLM implementation can be avoided using the de Additionally, GLM provides a low level SIMD API in glm/simd directory for users who are really interested in writing fast algorithms. -### 3.5. Force inline +### 3.5. GLM\_FORCE\_INLINE: Force inline To push further the software performance, a programmer can define GLM\_FORCE\_INLINE before any inclusion of <glm/glm.hpp> to force the compiler to inline GLM code. @@ -440,7 +440,7 @@ To push further the software performance, a programmer can define GLM\_FORCE\_IN #include ``` -### 3.6. Vector and matrix static size +### 3.6. GLM\_FORCE\_SIZE\_T\_LENGTH: Vector and matrix static size GLSL supports the member function .length() for all vector and matrix types. @@ -469,7 +469,7 @@ void foo(vec4 const& v) } ``` -### 3.7. Requiring explicit conversions +### 3.7. GLM\_FORCE\_EXPLICIT\_CTOR: Requiring explicit conversions GLSL supports implicit conversions of vector and matrix types. For example, an ivec4 can be implicitly converted into vec4. @@ -506,7 +506,7 @@ void foo() } ``` -### 3.8. Removing genType restriction +### 3.8. GLM\_FORCE\_UNRESTRICTED\_GENTYPE: Removing genType restriction By default GLM only supports basic types as genType for vector, matrix and quaternion types: