diff --git a/copying b/copying new file mode 100644 index 00000000..b4905ab7 --- /dev/null +++ b/copying @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2005 - 2009 G-Truc Creation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/doc/about.html b/doc/about.html new file mode 100644 index 00000000..84674fb4 --- /dev/null +++ b/doc/about.html @@ -0,0 +1,15 @@ + + +
OpenGL Mathematics GLSL + Optional features = OpenGL Mathematics (GLM). A C++ mathematics library for 3D graphics.
+ OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification.
+
+ The goal of the project is to provide to 3D programmers math classes and functions that miss in C++ when we use to program with GLSL or any high level GPU language. With GLM, the idea is to have a library that works the same way that GLSL which imply a strict following of GLSL specification for the implementation.
+
+ However, this project isn't limited by GLSL features. An extension system allows to extend GLSL capabilities. It allows GLM to be a great subtitute for some OpenGL 3 deprecated functions, to work following a clean programmable approach.
+
+ GLM is release under MIT license and available for all version of GCC from version 3.4 and Visual Studio from version 8.0 as a platform independent library.
+
+ You can checkout SVN development sources from https://glf.svn.sourceforge.net/svnroot/glf/sdk.
+ _________________ _________________
+ Copyright © 2005-2008 G-Truc Creation |
Bugs 3) _xvec* class data and ISO C++ standard non compliance DISCUTION: 'union' keyword is here to allow access to vector components with several different variables names. Moreover, templates are also used to create two vector type categories : _vec* and _ivec*. Eventually, anonymous structures are not allowed in ISO C++ norm. DISCUTION: Problem might come from the lack of supporting both templates and unions from Visual C++ 7.1. RESOLUTION: If -pedantic isn't used with G++, then code compiles correctly. As we are waiting for a better compromise, the code stays that way. As notified for the bug #4, the ultimate solution might be to avoid templates in vector definition.
+ STATUE : Resolved, 2005-02-15 2) 'not' is a GCC keyword DISCUTION: GCC supports all C++ keywords that includes 'not', which is equivalent to '!' operator. So there is a problem with GLM because GLSL defines the 'not' function. PROPOSITION: Overloading the '!' operator or the 'not' keyword we can partly resolve the problem but leaving as ignored the GLM namespace concept. If the source code contains 'glm:not' string, then GCC gives an error. PROPOSITION: 'not' is a C++ keyword so GLM mustn't define a 'not' function. However, all the compilers don't support this keyword (VC7.1). Does this name has to be changed ? For now, it is recommended to avoid using 'not'.
+ STATUE : Partly resolved, 2005-03-03 1) *vec* doesn't allow multiple components selection. DISCUTION: The GLSL specifications grant access to multiple components for vector types. i.e. with GLSL the following lines are correct : vec3 MyVector = vec4(1.0, 1.0, 1.0, 0.0).xyz. DISCUTION: It seems difficult to create an equal feature in C++ because 'x', 'y', and 'z' according to the previous example can be sorted in any order and be repeated from zero to four to a max of four components.
+ STATUE : Unresolved, 2005-01-30 |
OpenGL Mathematics GLSL + Optional features = OpenGL Mathematics (GLM). A C++ mathematics library for 3D graphics. 2009-11-16:
+ - GLM 0.8.4.3 released. _________________ 2009-11-12:
+ - Fixed half arithmetic. _________________ 2009-11-11:
+ - Added scalars support for GLM_IMG_multiple. _________________ 2009-11-05:
+ - Fixed setup defines. _________________ 2009-10-27:
+ - Added GLM_IMG_multiple extensions and unit tests. _________________ 2009-10-19:
+ - GLM 0.8.4.2 released. _________________ 2009-10-10:
+ - Fixed half. _________________ 2009-10-05:
+ - GLM 0.8.4.1 released. _________________ 2009-10-02:
+ - Updated documentation. _________________ 2009-09-30:
+ - Updated manual.
+ - Added static assert implementation.
+ - Removed unuse GLM_SWIZZLE_FUNC. _________________ 2009-09-23:
+ - Some progress on fixing GLM for MacOSX comflics. _________________ 2009-09-22:
+ - Fixed GLM_GTX_quaternion extension: cross and intermediate. _________________ 2009-09-17:
+ - Fixed quaternion angle. _________________ 2009-09-16:
+ - Updated documentation.
+ - GLM 0.8.4.0 released. _________________ 2009-09-14:
+ - Added Visual Studio 2010 support.
+ - Fixed build on GCC.
+ - Added GCC 4.4 support. _________________ 2009-09-03:
+ - Added no initilization constructor to vec4. _________________ 2009-09-01:
+ - Added no initilization constructor to mat4.
+ - Updated GLM_GTC_matrix_transform: faster rotate. _________________ 2009-08-29:
+ - Added GLM_GTX_matrix_operation: build diagonal matrix.
+ - Updated GLM_GTC_matrix_transform: faster scaling. _________________ 2009-08-28:
+ - Fixed transpose function for mat4x3.
+ - Optimized translate function for mat4 matrix: ~184 cycles instead of ~592 cycles on Q6600. _________________ 2009-08-24:
+ - Fixed OpenGL dependence.
+ - Added OpenGL 3 dependence. _________________ 2009-08-23:
+ - Fixed parameter definition and definition mismatch. _________________ 2009-08-11:
+ - Fixed GLM_GTC_matrix_projection.
+ - Updated GLM_GTX_transform: Added missing entry points.
+ - GLM 0.8.3.5 released. _________________ 2009-08-10:
+ - Move inverse function to core following GLSL 1.4 specification.
+ - Move determinant function to core following GLSL 1.5 specification.
+ - GLM 0.8.3.4 released. _________________ 2009-07-22:
+ - Fixed GLM_GTX_matrix_query extension: Fixed row_size and col_size() calls.
+ - Fixed GLM_GTX_matrix_access extension: Fixed row_size calls. _________________ 2009-07-03:
+ - Fixed GLM_GTX_string_cast extension: Build on GCC 4.
+ - Fixed GLM_GTC_quaternion extension: rotate function build. _________________ 2009-06-25:
+ - Fixed GLM_GTC_matrix_transform extension: Fixed matrix operation order; like OpenGL instead of like Direct3D.
+ - GLM 0.8.3.3 released. _________________ 2009-06-16:
+ - Fixed GLM_GTX_rotate_vector extension: Fixed rotate function. _________________ 2009-06-09:
+ - Fixed matrix external operators. _________________ 2009-06-04:
+ - Added GLM_GTC_type_precision extension.
+ - GLM 0.8.3.2 released. _________________ 2009-06-02:
+ - Fixed GLM_GTC_matrix_transform: Fixed mat4 inverse function. _________________ 2009-05-22:
+ - Added GLM_GTC_quaternion extension.
+ - Updated GLM_GTC_quaternion extension.
+ - Fixed GLM_GTC_matrix_transform extension. _________________ 2009-05-21:
+ - GLM 0.8.3.1 released. _________________ 2009-05-20:
+ - Updated GLM_GTX_bit extension: Added lowestBit functions.
+ - Fixed old extention inclusion method. _________________ 2009-05-19:
+ - Updated sse mat4 implementation. _________________ 2009-05-18:
+ - Updated GLM_GTX_bit extension: Added bitRevert, bitRotateRight and bitRotateLeft functions. _________________ 2009-05-17:
+ - Added intrinsic like functions for mat4 product and inverse. _________________ 2009-05-15:
+ - Added intrinsic like functions for mat4 and vec4 products. _________________ 2009-05-06:
+ - Fixed GLM_GTX_type_ptr extension.
+ - GLM 0.8.3.0 released. _________________ 2009-05-06:
+ - Fixed GLM_GTC_matrix_projection: glm::project build. _________________ 2009-05-05:
+ - Added new extensions inclusion system. _________________ 2009-05-01:
+ - Fixed GLM_GTX_determinant extension.
+ - Reorganized extensions.
+ - Removed GLM_GTX_vector_comp_mult and GLM_GTX_mat4x3 extensions.
+ - Renamed .h files to .hpp. _________________ 2009-04-30:
+ - Added GLM_GTC_half_float. _________________ 2009-04-29:
+ - Fixed GLM_GTX_perpendicular extension.
+ - Fixed GLM_GTX_matrix_projection extension.
+ - Fixed GLM_GTX_transform2 extension. _________________ 2009-04-27:
+ - Added GLM_GTC_matrix_operation.
+ - Added GLM_GTC_matrix_transform.
+ - Added GLM_GTC_matrix_projection.
+ - Added GLM_GTC_double_float. _________________ 2009-04-20:
+ - Fixed bug 2774738.
+ - Fixed bug 2774015. _________________ 2009-04-01:
+ - GLM 0.8.2.3 released. _________________ 2009-03-30:
+ - Updaded mix function: Makes it more flexible, types wise. _________________ 2009-03-06:
+ - Fixed GLM_GTX_perpendicular and GLM_GTX_projection.
+ - Added GLM_GTX_radial_gradient extensions. _________________ 2009-02-24:
+ - Fixed GCC 4.3 pedantic build.
+ - GLM 0.8.2.2 released. _________________ 2009-02-19:
+ - Removed all deprecated ARB conventions. _________________ 2009-02-18:
+ - Fixed highp_int_t and highp_uint_t with Linux 64.
+ - Fixed GCC 4.3 'extra ;' with pedentic build. _________________ 2009-02-13:
+ - Fixed build.
+ - GLM 0.8.2.1 released. _________________ 2009-02-02:
+ - Fixed build.
+ - Added extensions build test. _________________ 2009-01-21:
+ - GLM 0.8.2 released. _________________ 2009-01-20:
+ - Fixed GLM_GTX_intersect: intersectRayTriangle. _________________ 2009-01-17:
+ - Fixed vectors access operators.
+ - Fixed unresolved with quaternions. _________________ 2009-01-16:
+ - Fixed GLM_GTX_norm: Include issue. _________________ 2009-01-01:
+ - Fixed left value swizzle operators. _________________ 2008-12-03:
+ - Fixed GLM_GTX intersect extension: intersectRayTriangleGTX with GCC.
+ - Typo. _________________ 2008-12-02:
+ - Fixed GLM_GTX inverse_transpose extension. _________________ 2008-11-27:
+ - Updated quaternion implementation. _________________ 2008-11-19:
+ - Added GLM_GTX_raw_data extension. _________________ 2008-11-18:
+ - Updated GLM_GTX_bit extension: Added mask function. _________________ 2008-11-14:
+ - Updated GLM_GTX_bit extension: Added extractField function.
+ - Fixed STATIC_ASSERT with 64bits integers. _________________ 2008-10-30:
+ - GLM 0.8.1 released. _________________ 2008-10-29:
+ - Fixed mix function with boolean parameter.
+ - Fixed value_size issue. _________________ 2008-10-28:
+ - Fixed GLM_GTX_component_wise extension.
+ - Added GLM_GTX_color_space_YCoCg extension. _________________ 2008-10-27:
+ - Added GLM_GTX_comparison extension: Defined comparison operators for vectors. _________________ 2008-10-25:
+ - Added GLM_GTX_log_base extension. _________________ 2008-10-24:
+ - Fixed 64 bits integers with GCC.
+ - Deleted deprecated half number setup options.
+ - Updated GLM_GTX_number_precision: Clean up and added missing type definitions.
+ - Updated GLM_GTX_color_cast: Clean up and fixes. _________________ 2008-10-23:
+ - Updated manuel and documentation.
+ - GLM 0.8.0 final released. _________________ 2008-10-22:
+ - Fixed glm::size_t possible collisions with std::size_t. glm::size_t is now named glm::sizeType.
+ - Updated GLM_VIRTREV_address extension: Added none const fonctions.
+ - Updated GLM_GTX_double_float extension: Typo.
+ - Added new API to use extension. _________________ 2008-10-18:
+ - Added logos in varius resolutions. _________________ 2008-10-17:
+ - Updated website.
+ - Added website builder. _________________ 2008-10-15:
+ - Updated GLM_GTX_number_precision: No more warning with type size tests.
+ - Fixed none consistent size_t. _________________ 2008-10-12:
+ - Updated website. _________________ 2008-10-10:
+ - Fixed build.
+ - Updated manual.
+ - GLM 0.8.0 beta3 released. _________________ 2008-10-09:
+ - Added GLM_GTX_reciprocal extension: Define sec, csc, cot, asec, acsc, acot, sech, csch, coth, asech, acsch and acoth functions. _________________ 2008-10-08:
+ - Updated GLM_GTX_euler_angles extension: Added functions to build rotation matrices. _________________ 2008-10-07:
+ - Fixed GLM_GTX_color_space: Fixed conflits with swizzle operators.
+ - Fixed virtrev.h, didn't build.
+ - Fixed genType build.
+ - Fixed GLM_GTX_compatibility build.
+ - Added GLM_VIRTREV_address: Get the address of internal vector or matrix contents.
+ - Fixed code typo and clean up. _________________ 2008-10-06:
+ - Added genType class. For long term base class for all types though template specialization.
+ - Updated project directory.
+ - Added CMakeFile in test directory.
+ - Fixed code typo and clean up.
+ - Fixed GLM_GTX_string_cast: Missing some matrix definitions, some wrong behaviours with matrices. _________________ 2008-10-05:
+ - Added glm::sizeType type which is used to defined size of all vectors and matrices. Defined as std::size_t.
+ - row_size, col_size and is_matrix are now functions.
+ - Fixed use inline on *mat4 function declaration.
+ - Deleted auto cast from *mat4x3.
+ - Fixed missing ++ -- and - operators to some matrix types.
+ - Fixed typo. _________________ 2008-10-04:
+ - GLM 0.8.0 beta2 released. _________________ 2008-10-03:
+ - value_size and is_vector are now functions. _________________ 2008-10-02:
+ - Added GLM_USE_ANONYMOUS_UNION: To use anonymous union to provide multiple component names access for class valType. Visual C++ only.
+ - Removed noise function from documentation. _________________ 2008-10-01:
+ - Fixed build with GCC.
+ - Updated manual. _________________ 2008-09-30:
+ - Updated GLM_GTX_bit implementation.
+ - Added GLM_USE_ONLY_XYZW to disable multiple component names.
+ - Updated GLM_GTX_euler_angles extension: added yawPitchRoll function. _________________ 2008-09-29:
+ - Fixed half vector build.
+ - Updated GLM_GTX_vector_angle: Added orientedAngleFromRef function.
+ - Deprecated GLM_GTX_mul extension. Features moved in GLM_GTX_verbose_operator.
+ - Updated GLM_GTX_verbose_operator: Added mad function. _________________ 2008-09-28:
+ - Fixed missing inline in tvec3 and tvec4 definisions.
+ - New implementation of hvec3 thought specialisation of tvec3 template.
+ - New implementation of hvec4 thought specialisation of tvec4 template.
+ - Fixed tvec4 operators than where applied just on 3 components. _________________ 2008-09-27:
+ - Added build option for build that support anonymous structure.
+ - Fixed missing inline in tvec2 definision.
+ - New implementation of hvec2 thought specialisation of tvec2 template. _________________ 2008-09-26:
+ - Updated documentation.
+ - GLM 0.8.0 beta1 released. _________________ 2008-09-25:
+ - Fixed static asserts within vector and matrix types.
+ - Updated mix function implementation, support for boolean vectors. _________________ 2008-09-24:
+ - Fixed static asserts.
+ - Added some asserts.
+ - Updated matrices operator[]. _________________ 2008-09-23:
+ - Added GLM_VIRTREV_equal_operator: Operators that compare vectors.
+ - Fixed build errors from static asserts. _________________ 2008-09-22:
+ - Fixed build errors with GCC.
+ - Fixed func_trigonometric.h encoding. _________________ 2008-09-21:
+ - Deleted GLM_GTX_INCLUDED.
+ - Fixed build errors.
+ - Fixed GLM_GTX_random: Bad assert definition. _________________ 2008-09-20:
+ - Updated manual.
+ - Updated swizzle operators with swizzle function.
+ - Added modf definition. _________________ 2008-09-17:
+ - Added namespaces to sort type and function in the API documentation.
+ - Deleted some documentations from {__}*GTX types and functions from extensions.
+ - Updated vectors and matrices documentation.
+ - Updated scalars and precisions documentation.
+ - Fixed some vectors and matrices declaration missing in some cases.
+ - Updated overall documentation. _________________ 2008-09-16:
+ - Included all types in type namespace. _________________ 2008-09-15:
+ - Added type namespace in glm namespace for documentation purpose. _________________ 2008-09-14:
+ - Added modf definition for vec2, vec3 and vec4.
+ - Updated static assert to exponential, geometric, matrix, noise, trigonometric and vector relational functions.
+ - Added GLM_GTC_matrix_transformation extensions: API and translate, rotate and scale definisions.
+ - Deprecated GLM_GTX_gpu_shader4, GLM_GTX_hyperbolic, GLM_GTX_flexible_mix, GLM_GTX_round.
+ - Added definition of mix with last parameter being booleans.
+ - Added hint classes.
+ - Updated GLM_GTX_integer, GLM_GTX_unsigned_int, GLM_GTX_half and GLM_GTX_double_float extensions. _________________ 2008-09-13:
+ - Added trait code (class type) to detect bool, float, int and uint numbers.
+ - Updated static assert to common functions. _________________ 2008-09-12:
+ - Updated noise function definitions... Still unsure for staying in GLM 0.8.0. _________________ 2008-09-11:
+ - Updated overall documentation, doxygen documentation. _________________ 2008-09-10:
+ - Updated documentation and implementation of all matrix functions.
+ - Added declaration of main functions for each function group namespace.
+ - Updated documentation and API of all noise functions... Should be deleted becose of bad implementation? _________________ 2008-09-09:
+ - Updated documentation and implementation of all vector relational functions.
+ - Added transpose_type typedef to all matrix types.
+ - Added is_matrix static constantes to all matrix types for static assert usage.
+ - Added is_vector static constantes to all vector types for static assert usage. _________________ 2008-09-08:
+ - Updated documentation and implementation of all geometric functions. _________________ 2008-09-07:
+ - Updated documentation and implementation of all exponential functions. _________________ 2008-09-06:
+ - Added isinf and isnan GLSL 1.3 functions.
+ - Updated common functions code, mostly syntax.
+ - Added trunc, round and roundEven GLSL 1.3 functions.
+ - Added sinh, cosh, tanh, asinh, acosh and atanh GLSL 1.3 functions.
+ - Updated documentation and implementation of all trigonometric functions. _________________ 2008-09-05:
+ - Added bool_type implementation detail to vector types. _________________ 2008-09-04:
+ - Added API and documentation of all common functions. _________________ 2008-09-03:
+ - Updated GLM_GTX_extensions: Define operator* as a cross product. Still in WIP... _________________ 2008-09-02:
+ - Updated *vec2 and *vec3 with precision types missed and documentation. _________________ 2008-09-01:
+ - Fixed 2085925 bug: rotateGTX didn't use it quaternion parameter. _________________ 2008-08-31:
+ - Added test files.
+ - Updated *vec4 with precision types missed and documentation. _________________ 2008-08-30:
+ - Renamed implementation files.
+ - Updated type pre-declarations. _________________ 2008-08-25:
+ - Fixed GLM_GTX_matrix_projection extension: frustum function gave a wrong result. _________________ 2008-08-24:
+ - Updated matrix types functions and extensions according new vectors types. _________________ 2008-08-23:
+ - Added new vector types implementation. _________________ 2008-08-22:
+ - Added support for new GLSL 1.30 precision model. _________________ 2008-08-19:
+ - Added GLSL 1.30.08 unsigned int types support _________________ 2008-08-17:
+ - Added detail::vec1 type.
+ - Added detail::desc for types description and higher templatisation. _________________ 2008-08-11:
+ - Started work on GLM 0.8.x based on GLSL 1.3 specification.
+ - Visual Studio .NET 2003 (7.1) is now deprecated.
+ - GLM_FORCE_HALF_COMPATIBILITY is now deprecated.
+ - GLM_AUTO_CAST is now deprecated. _________________ 2008-08-09:
+ - Updated GLM_GTX_fast_square_root implementation: Updated fastInverseSqrt _________________ 2008-08-08:
+ - Updated documentation.
+ - GLM 0.7.6 released. _________________ 2008-08-06:
+ - gl_svec* (for GLshort) added in GLM_virtrev_gl extension.
+ - Updated detail implementation of vector types.
+ - Make Visual C++ build with Visual C++ extensions disabled.
+ - Rename "not" to "not_" for compatibility.
+ - Fixed GLM_GTX_fast_square_root build. _________________ 2008-07-31:
+ - Fixed GLM_GTX_component_wise extension. _________________ 2008-07-29:
+ - Updated mix functions for optimization purpose.
+ - Fixed mix functions static assert.
+ - Updated test files.
+ - Updated GLM_GTX_statistics_operation. _________________ 2008-07-24:
+ - Fixed GLM_GTX_bit extension: isPowerOfTwoGTX works for signed int too.
+ - Updated GLM_GTX_norm extension: Added distance2, l2norm and lxNorm functions.
+ - Added some boost static assert. _________________ 2008-07-23:
+ - Added GLM_GTX_std_based_type: Types based on C++ conventions.
+ - Added files for extension tests. _________________ 2008-07-22:
+ - Fixed GLM_GTX_fast_square_root: Updated fastDistance. _________________ 2008-07-16:
+ - Fixed GLM_GTX_fast_square_root: Wrong const and updated fastLenght.
+ - Optimized mix core function _________________ 2008-07-14:
+ - Fixed GLM_GTX_epsilon: Wrong function definitions for y, z and w components. _________________ 2008-07-10:
+ - Fixed GLM_GTX_flexible: Flexible with scalar only failed.
+ - Fixed GLM_GTX_quaternion: One rotate overloaded function undefined. _________________ 2008-07-08:
+ - Some fixes on GLM_GTX_intersect extension. _________________ 2008-07-05:
+ - GLM 0.7.5 released. _________________ 2008-07-03:
+ - Updated documentation. _________________ 2008-07-01:
+ - Updated message system. _________________ 2008-06-26:
+ - Added new message system. _________________ 2008-06-13:
+ - Fixed GLM_GTX_normal extension. _________________ 2008-06-07:
+ - Updated GLM_GTX_unsigned_int extension. (New typedef extensions) _________________ 2008-06-06:
+ - Added new precompiler system. _________________ 2008-06-04:
+ - Increase C++ conformance. _________________ 2008-06-01:
+ - Fixed build errors.
+ - GLM 0.7.4 released. _________________ 2008-05-30:
+ - Updated external dependencies system.
+ - Updated manual.
+ - Fixed GLM_GTX_random extension: Fixed build with GCC.
+ - Fixed GLM_GTX_string_cast extension: Fixed build with GCC 3.4 due to GCC anonymuous namespace bug. _________________ 2008-05-29:
+ - Fixed GLM_GTX_transform2 extension: scaleBias didn't built. _________________ 2008-05-26:
+ - Added GLM_VIRTREV_xstream extension: XML output for GLM types.
+ - Added external library system _________________ 2008-05-24:
+ - Updated GLM_GTX_string_cast extension: Support of non-square matrices.
+ - GLM 0.7.3 released. _________________ 2008-05-23:
+ - Fixed mat2 product. _________________ 2008-05-18:
+ - Fixed GLM_GTX_transform2 dependencies. _________________ 2008-05-01:
+ - Added GLM_VIRTREV_gl extension: Vector and matrix integration with OpenGL. _________________ 2008-04-28:
+ - Updated GLM_GTX_number_precision extension: Added uint type.
+ - Added GLM_GTX_string_cast extension: Create formated string from GLM type instances.
+ - Updated GLM_GTX_transform2: added scaleBias matrix build _________________ 2008-04-27:
+ - GLM 0.7.2 released. _________________ 2008-04-26:
+ - Added GLM_AUTO_CAST setup option.
+ - Updated documentation _________________ 2008-04-23:
+ - Updated GLM_GTX_inverse, added affine inverse functions for fast matrix inverts.
+ - Updated overall documentation
+ - Added trait typedef to all GLM data types _________________ 2008-04-22:
+ - Updated GLM_GTX_compatibility documentation.
+ - Fixed GLM_GTX_random, gauss functions didn't build. _________________ 2008-04-13:
+ - Added few SSE code.
+ - Fixed matrix projections. _________________ 2008-04-07:
+ - Added GLM_SWIZZLE_FUNC swizzle option. _________________ 2008-04-06:
+ - Updated GLM_GTX_euler_angles documentation. _________________ 2008-03-26:
+ - Updated documentation. _________________ 2008-03-24:
+ - Fixed GLM_GTX_associated_min_max build on GCC.
+ - Updated GLM_GTX_matrix_projection.
+ - GLM 0.7.1 released. _________________ 2008-03-22:
+ - GLM 0.7.0 released. _________________ 2008-03-20:
+ - Updated manual. _________________ 2008-03-16:
+ - Updated documentation.
+ - Added GLM_GTX_associated_min_max extension. _________________ 2008-03-15:
+ - Fixed not function with GCC. _________________ 2008-03-12:
+ - Fixed interger pow function for the case of a null power. _________________ 2008-02-20:
+ - Fixed mat4x2 and mat4x3 GCC build.
+ - Updated documentation.
+ - Reseted glmsetup.h to default values. _________________ 2008-02-17:
+ - Fixed missing xvec4 constructor with bool argument definition.
+ - Fixed namespace collision in quaternion inverse function.
+ - Fixed swizzle operators involved in operations.
+ - Change license from GNU LGPL to MIT. _________________ 2008-02-16:
+ - Fixed missing xvec4 ++ and -- operator definition. _________________ 2008-01-05:
+ - Move some implementation details into detail namespace. _________________ 2008-01-04:
+ - Fixed cast between matrices of different sizes. _________________ 2008-01-02:
+ - Fixed matNxM type cast to other matNxM type. _________________ 2007-12-15:
+ - Fixed GLM_GTX_matrix_projection extension. _________________ 2007-12-13:
+ - GLM 0.6.4 released. _________________ 2007-12-09:
+ - Fixed swizzle operators. _________________ 2007-11-21:
+ - Fixed GLM_GTX_matrix_selection extension. _________________ 2007-11-14:
+ - Updated GLM_GTX_color_space extension. Added luminosity function. _________________ 2007-11-05:
+ - GLM 0.6.3 released. _________________ 2007-10-31:
+ - Fixed 3DSMax SDK conflict with GLM. _________________ 2007-10-29:
+ - Updated GLM_GTX_quaternion. Added sqrt function. _________________ 2007-10-28:
+ - Updated GLM_GTX_random extension.
+ - Updated GLM_GTX_half extension. _________________ 2007-10-21:
+ - Fixed matrices operator const T*() const. _________________ 2007-10-08:
+ - Fixed GLM_GTX_normalize_dot extension.
+ - GLM 0.6.2 released. _________________ 2007-10-07:
+ - GLM 0.6.1 released. _________________ 2007-10-02:
+ - Added GLM_GTX_normalize_dot extension: Faster way to normalize parameters before a dot product _________________ 2007-09-22:
+ - Fixed namespace error on GLM_GTX_matx extension _________________ 2007-09-21:
+ - Added GLM_GTX_flexible_mix extension: mix function can take different types parameters _________________ 2007-09-16:
+ - Updated documentation.
+ - GLM 0.6.0 released. _________________ 2007-09-15:
+ - Added GLM_SINGLE_COMP_NAME to fixed multiple component names on half types with GCC. _________________ 2007-09-10:
+ - Added #define GLM_GTX_INCLUDED to automatically include all GTX extensions in the language. _________________ 2007-09-09:
+ - Updated extensions documentation.
+ - Updated GLM_GTX_quaternion extension: squad, euler angles conversions _________________ 2007-09-06:
+ - Updated GLM_GTX_compatibility extension: Added isfinite isinf, and isnan. _________________ 2007-08-26:
+ - Updated GLM_GTX_random extension: Gauss distribution, spherical distribution, linear distribution. _________________ 2007-08-21:
+ - Fixed namespace issues with Visual Studio 8.0 SP1. _________________ 2007-08-20:
+ - Updated GLM_GTX_gpu_shader4 extension: Add bit operators.
+ - Updated GLM_GTX_integer extension: Delete some code duplications.
+ - Added GLM_GTX_unsigned_int extension. _________________ 2007-08-19:
+ - Fixed namespace issues with Visual Studio 8.0 SP1.
+ - Added new namespace management for extensions.
+ - Added automatic compiler ditection, no more compiler setup. _________________ 2007-07-31:
+ - Updated GLM_GTX_number_precision extension.
+ - Updated usertype.dat for Visual Studio.
+ - Updated GLM_GTX_random extension. _________________ 2007-06-21:
+ - Added GLM_GTX_color_cast extension.
+ - Updated GLM_GTX_quaternion extension. _________________ 2007-05-22:
+ - Added GLM_GTX_verbose_operator extension. _________________ 2007-05-21:
+ - Added GLM_GTX_component_wise extension. _________________ 2007-05-10:
+ - Added GLM_GTX_number_precision extension. _________________ 2007-04-16:
+ - Updated GLM_GTX_bit extension. _________________ 2007-04-10:
+ - Updated GLM_GTX_bit extension. _________________ 2007-04-04:
+ - Updated GLM_GTX_fast_square_root extension.
+ - Updated GLM_GTX_fast_trigonometry extension.
+ - Updated GLM_GTX_fast_exponential extension.
+ - Added GLM_GTX_mul extension.
+ - Fixed GLM_GTX_epsilon extension. _________________ 2007-04-03:
+ - Added GLM_GTX_mixed_product extension.
+ - Added GLM_GTX_intersect extension.
+ - Updated GLM_GTX_matrix_access extension. _________________ 2007-03-20:
+ - Added bits operators in comment for vec2, vec3 and vec4.
+ - Fixed friendly conformance to GLM_GTX_double. _________________ 2007-03-18:
+ - Fixed size_type errors. _________________ 2007-03-14:
+ - Updated GLM_GTX_quaternion extension.
+ - Added GLM_GTX_bit extension.
+ - Added value_type, size_type and value_size typedefs and value to all types. _________________ 2007-03-09:
+ - Updated GLM_GTX_compatibility extension.
+ - Fixed GLM_GTX_color_space extension. _________________ 2007-03-06:
+ - Added GLM_GTX_polar_coordinates extension. _________________ 2007-03-05:
+ - Added GLM_GTX_vector_query extension.
+ - Added GLM_GTX_matrix_query extension. _________________ 2007-03-01:
+ - Fixed square matrices division operators. _________________ 2007-02-28:
+ - Added GLM_GTX_mat_mn extension. _________________ 2007-02-22:
+ - Updated GLM_GTX_color_space extension. _________________ 2007-02-21:
+ - Added GLM_GTX_vecx extension.
+ - Added GLM_GTX_matx extension. _________________ 2007-02-19:
+ - GLM 0.5.1 released. _________________ 2006-02-08:
+ - Updated Visual Studio projects. _________________ 2006-02-01:
+ - Updated GLM_GTX_compatibility extension. _________________ 2006-01-26:
+ - Added GLM_GTX_hyperbolic extension.
+ - Added GLM_GTX_spline extension.
+ - Fixed unProject and project functions from GLM_GTX_matrix_projection extension. _________________ 2006-01-24:
+ - Added GLM_GTX_compatibility extension. _________________ 2006-01-19:
+ - Add some undefined write swizzle operators from bvec*
+ - Fixed vectors component access operators[] from bvec*
+ - Fixed bvec* equal operators with write swizzle operators
+ - Fixed various vector constructors
+ - Updated swizzle operators, _xvec* and _bvec* share the same code _________________ 2006-01-11:
+ - Add some undefined write swizzle operators from xvec*
+ - Fixed some write operator considered as read operator from xvec*
+ - Fixed vectors component access operators[] from xvec*
+ - Fixed not function setup according compilers _________________ 2006-01-06:
+ - Added user manual.
+ - GLM 0.5.0 released. _________________ 2006-01-05:
+ - Updated overloaded functions of matrixCompMult.
+ - Added transpose and outerProduct functions in the GLM core. _________________ 2006-12-15:
+ - Fixed GLM_GTX_rotate_vector extension. _________________ 2006-12-07:
+ - Fixed GLM_GTX_interger extension conformance. _________________ 2006-12-06:
+ - Improved "friendly conformance" support.
+ - Improved quaternion implementation. _________________ 2006-12-03:
+ - Updated setup options. _________________ 2006-11-26:
+ - Added new setup options for swizzle operators. _________________ 2006-11-14:
+ - Updated GLM_GTX_integer extension. _________________ 2006-11-13:
+ - Added GLM_GTX_gpu_shader4 extension.
+ - Added extension errors management.
+ - Added compilers management.
+ - Added conformance management. _________________ 2006-11-02:
+ - Added GLM_GTX_rotate_vector extension. _________________ 2006-10-15:
+ - Updated product operators to non-squared matrices _________________ 2006-10-01:
+ - Updated tmat4x3 and tmat3x4 types
+ - Added tmat2x3, tmat3x2, tmat2x4 and tmat4x2
+ - Clarified ToDo comments for missing operators with non-squared matrices types _________________ 2006-08-05:
+ - Added GLSL 1.2 mat4x3 and mat3x4
+ - Added missing declaration of mat* operators
+ - Added _xmat* with _xvec* division operators _________________ 2006-08-04:
+ - Added GLSL 1.2 non-squared matrices files _________________ 2006-07-17:
+ - fastCos and fastSin are defined between -2 pi and 2 pi _________________ 2006-06-18:
+ - Added swizzle operators for xvec4
+ - Added swizzle operators for bvec4 _________________ 2006-06-17:
+ - Added swizzle operators for bvec2>
+ - Implicit conversion from *ref* to *vec*
+ - Added swizzles operators for xvec3
+ - Added swizzles operators for bvec3 _________________ 2006-05-29:
+ - Separated _*ref* types in different files
+ - Added _bref* types
+ - Updated _xref* types _________________ 2006-05-28:
+ - Added operators for tvec2 swizzles operators management _________________ 2006-05-23:
+ - GLM 0.4.1 released. _________________ 2006-05-22:
+ - Add 4 examples of use with OpenGL under Windows and Linux _________________ 2006-05-17:
+ - GLM 0.4.0 released. _________________ 2006-05-16:
+ - It's not anymore required to include windows.h before glm.h whether windows.h is required _________________ 2006-05-04:
+ - Improved tvec3 conversions
+ - Improved tvec2 conversions
+ - Added left hand side vec2 swizzle operators
+ - Improved bvec4 conversions
+ - Improved bvec3 conversions
+ - Improved bvec2 conversions _________________ 2006-04-28:
+ - Added _xref* structures for swizzle operators implementation
+ - Seperated bvec* and xvec* types in different files
+ - Updated core functions code _________________ 2006-04-22:
+ - Fixed texture coordinate components access
+ - Added GLM_GTX_mul extension.
+ - Added GLM_GTX_inertia extension.
+ - GLM 0.3.2 released. _________________ 2006-04-21:
+ - Added right hand side vec2 swizzle operators
+ - Improved tvec4 conversions _________________ 2006-04-20:
+ - Updated GLM_GTX_quaterion, added log and exp functions
+ - Added GLM_GTX_matrix_major_storage extension. _________________ 2006-04-19:
+ - Reorganize types code
+ - Complete addition and subtraction vertrices operators _________________ 2006-04-18:
+ - Complete addition and subtraction matrices operators
+ - Optimize increment and decrement operators _________________ 2006-04-17:
+ - Fixed tmat4x4 division _________________ 2006-03-30:
+ - Added GLM_GTX_outer_product extension. _________________ 2006-03-28:
+ - GLM 0.3.1 released. _________________ 2006-03-27:
+ - Added Linux support under GCC 4.0 and 4.1. _________________ 2006-03-26:
+ - Optimisation of increment and decrement operators. _________________ 2006-03-20:
+ - Added MacOS X support under GCC 4.0. _________________ 2006-02-19:
+ - Added GLM_GTX_extend extension to wishlist in position 27.
+ - Added GLM_GTX_euler_angles extension to wishlist in position 28.
+ - Added Doxygen documentation.
+ - GLM 0.3.0 released. _________________ 2006-01-30:
+ - Optimized GLM_GTX_integer implementation. _________________ 2006-01-27:
+ - Deleted explicit conversions from array to type to prevent unespected conversions. _________________ 2006-01-16:
+ - Fixed bugs
+ - Improved types conversions.
+ - Added GLM_GTX_vector_access extension to wishlist in position 25.
+ - Added GLM_GTX_random extension to wishlist in position 26. _________________ 2006-01-13:
+ - Fixed bugs _________________ 2006-01-10:
+ - Updated GLM_GTX_integer extension. _________________ 2006-01-09:
+ - Added GLM_GTX_fast_exponential extension to wishlist in position 24. _________________ 2006-01-08:
+ - Optimized _xvec* copy. _________________ 2006-01-07:
+ - Added GLM_GTX_fast_trigonometry extension to wishlist in position 23.
+ - Added factorial function to GLM_GTX_integer extension. _________________ 2006-01-05:
+ - Added GLM_GTX_half extension to wishlist in position 21.
+ - Optimized normalize function.
+ - Global optimisation for debugging time
+ - Added GLM_GTX_integer extension to wishlist in position 18.
+ - Optimized clamp function. _________________ 2006-01-04:
+ - Added GLM_GTX_fast_square_root extension to wishlist in position 19.
+ - Added GLM_GTX_inverse_transpose extension to wishlist in position 20.
+ - Fixed missing of vec4 * mat4 operator. _________________ 2005-12-23:
+ - Reorganization of extensions.
+ - Fixed vec2 constructeur bug. _________________ 2005-11-22:
+ - Updated GLM_GTX_length2 extension.
+ - Renamed GLM_GTX_length2 extension to GLM_GTX_norm. _________________ 2005-11-12:
+ - Fixed GLM_GTX_quaterion implémentation bugs. _________________ 2005-11-09:
+ - Updated GLM_GTX_projection extension. _________________ 2005-10-30:
+ - Added GLM_GTX_transform2 extension to wishlist in position 18. _________________ 2005-09-28:
+ - Updated for GCC 4.0. _________________ 2005-08-12:
+ - Fixed normalization bug with LookAtGTX. _________________ 2005-07-15:
+ - Add array conversion to GLM types. _________________ 2005-07-02:
+ - Added GL_GTX_euler_angles extension to wishlist in position 17. _________________ 2005-06-24:
+ - Added GLM_GTX_matrix_selection extension to wishlist in position 16.
+ - Added GLM_GTX_matrix_selection extension support. _________________ 2005-06-22:
+ - Updated GLM_GTX_projection extension to wishlist in position 15. _________________ 2005-06-21:
+ - Added GLM_GTX_projection extension to wishlist in position 15. _________________ 2005-06-09:
+ - Fixed bug from rotateGTX with quaternion.
+ - Fixed matrix vector product.
+ - Add vector usage to describe transformations axis. _________________ 2005-05-05:
+ - Added GLM_GTX_quaternion extension support
+ - GLM 0.2 released. _________________ 2005-05-02:
+ - Add GLM_GTX_transform 2D transform support _________________ 2005-05-01:
+ - Add GLM_GTX_transform 3D transform support _________________ 2005-04-29:
+ - Updated GLM_GTX_transform extension to wishlist in position 2 _________________ 2005-04-23:
+ - Added GLM_GTX_vector_comp_mult extension to whislist in position 14
+ - Added GLM_GTX_vector_comp_mult extension support _________________ 2005-04-22:
+ - Added GLM_GTX_color_space extension to whislist in position 13
+ - Added GLM_GTX_color_space extension support
+ - Added GLM_GTX_double extension support _________________ 2005-04-10:
+ - Overload of GLSL functions used by extentions instead of create new functions _________________ 2005-04-08:
+ - Added GLM_GTX_optimum_pow extension to whislist in position 11
+ - Added GLM_GTX_double extension to wishlist in position 12 _________________ 2005-04-03:
+ - Updated GLM_GTX_matrix_cross_product extension to wishlist in position 8
+ - Added GLM_GTX_matrix_cross_product extension support
+ - Added GLM_GTX_projection extension to whislist in position 9
+ - Added GLM_GTX_perpendicular extension to wishlist in position 10
+ - Added GLM_GTX_projection extension support
+ - Added GLM_GTX_perpendicular extension support
+ - Changed extensions organisation _________________ 2005-03-27:
+ - Added *vec* by *mat* product
+ - Updated GLM_GTX_determinant extension to wishlist in position 4
+ - Updated GLM_GTX_inverse extension to wishlist in position 5
+ - Updated GLM_GTX_length2 extension to wishlist in position 6
+ - Updated GLM_GTX_orthonormalize extension to wishlist in position 7
+ - Added GLM_GTX_determinant extension support
+ - Added GLM_GTX_inverse extension support
+ - Added GLM_GTX_length2 extension support
+ - Added GLM_GTX_orthonormalize extension support _________________ 2005-03-21:
+ - Added bug #7 : Vector constructor non conform
+ - Updated issue #13 : Only ARB can allow extensions adding new operators _________________ 2005-03-13:
+ - Added GLM_GTX_orthonormalize extension to wishlist in position 7
+ - Added GLM_GTX_matrix_cross_product extension to wishlist in position 8
+ - Updated issue #10 : Using template functions members
+ - Updated *vec* types following issue #10 guidance _________________ 2005-03-06:
+ - Fixed bug #2 with '#error' _________________ 2005-03-05:
+ - Updated issue #4 _________________ 2005-03-04:
+ - Updated issue #13
+ - Updated issue #8
+ - Updated issue #6
+ - Updated issue #4 _________________ 2005-03-03:
+ - Bugs #2 and #5 are now one
+ - Updated / operator for vec* types with support of the divisibility of two vectors, and the divisibility term to term _________________ 2005-02-28:
+ - Updated GLM_GTX_transpose extension to wishlist in position 8
+ - Added GLM_GTX_transpose extension support
+ - Fixed mat* types constructor scalar-parameted _________________ 2005-02-27:
+ - Fixed mat* types product by a scalar _________________ 2005-02-25:
+ - Updated function 'not'
+ - Defined identificators following compilers
+ - Added GLM_GTX_length2 extension to wishlist in position 6
+ - Optimized mat3 type divide operator _________________ 2005-02-21:
+ - GLM 0.1 released _________________ 2005-02-18:
+ - Updated issue #4
+ - Updated issue #6
+ - Updated issue #9
+ - Updated issue #12
+ - Updated issue #13
+ - Updated issues ordering _________________ 2005-02-17:
+ - Updated vec* types + operator. Can now add a vector and a scalar, term by term
+ - Updated vec* types - operator. Can now minus a vector and a scalar, term by term
+ - Updated vec* types * operator. Can now multiply a vector and a scalar, term by term
+ - Deleted issue #11, which was erroneous _________________ 2005-02-15:
+ - Deleted from wishlist extension #6 : refract function is defined by version 1.10.59 from GLSL specs
+ - Updated reflect function tests
+ - Added fucntion reflect with its tests
+ - Using typename 'genType' for functions templates
+ - Added bug #5
+ - Updated function sqrt
+ - Added function log with its tests
+ - Added function exp with its tests
+ - Added function log2 with its tests
+ - Updated cross function
+ - Updated bvec* types data implementation
+ - Added bug #6 _________________ 2005-02-14:
+ - Updated issue #13
+ - Converted text files into XML
+ - Modified files hierarchy _________________ 2005-02-13:
+ - Updated clamp function
+ - Added function noise1 with its tests
+ - Added function noise2 with its tests
+ - Added function noise3 with its tests
+ - Added function noise4 with its tests _________________ 2005-02-08:
+ - Enhanced mat4 type division operator
+ - Added function sqrt with its tests
+ - Added function inversesqrt with its tests
+ - Added function exp2 with its tests
+ - Added function log2 with its tests _________________ 2005-02-07:
+ - Modified *vec* types constructors implementation, chooses initialisation instead of affectation
+ - Added function reflect with its tests
+ - Updated tan function
+ - Fixed mat4 type * operator _________________ 2005-02-05:
+ - Added GLM_GTX_refract extension to wishlist in position 5. _________________ 2005-02-03:
+ - Added default constructor for mat* types _________________ 2005-02-02:
+ - Added mat2 and vec2 type * operator
+ - Added mat3 and vec3 type * operator
+ - Added mat4 and vec4 type * operator _________________ 2005-02-01:
+ - Added GLM_GTX_transpose extension to wishlist in position 3
+ - Added GLM_GTX_determinant extension to wishlist in position 4
+ - Added GLM_GTX_inverse extension to wishlist in position 5
+ - Added / operator for two mat3 types
+ - Enhanced *vec* types conception
+ - Enhanced *mat* types conception _________________ 2005-01-31:
+ - Updated bug #3
+ - Updated issue #10
+ - Added function matrixCompMult with its tests
+ - Updated mat* type constant access operators
+ - Added bug #4 : Conversion problem between two different *vec* types _________________ 2005-01-30:
+ - Added bug #1 : Inability to select multiple components
+ - Added bug #2 : Some *vec* types conversions are not available
+ - Added bug #3 : 'not' is a C++ ISO keyword
+ - Added * operator for two mat3 types
+ - Added * operator for two mat4 types
+ - Updated mat* types
+ - Updated GLM_GTX_quaternion extension to wishlist in position 1
+ - Updated GLM_GTX_transform extension to wishlist in position 2 _________________ 2005-01-27:
+ - Added mat2 type
+ - Added * operator for two mat2 types
+ - Added issue #14
+ - Added issue #15
+ - Added mat3 type
+ - Added mat4 type _________________ 2005-01-26:
+ - Added function mix with its tests
+ - Added function step with its tests
+ - Added function smoothstep with its tests
+ - Updated issue #10
+ - Updated issue #12
+ - Updated issue #8
+ - Added type bvec4 forgotten declaration
+ - Added function lessThan with its tests
+ - Added function lessThanEqual with its tests
+ - Added function greaterThan with its tests
+ - Added function greaterThanEqual with its tests
+ - Added function equal with its tests
+ - Added function notEqual with its tests
+ - Added function any with its tests
+ - Added function all with its tests
+ - Added function not with its tests _________________ 2005-01-24:
+ - Added function fract with its tests
+ - Added function mod with its tests
+ - Added function clamp with its tests _________________ 2005-01-23:
+ - Added function mod with its tests
+ - Added function abs with its tests
+ - Added function sign with its tests
+ - Added function floor with its tests
+ - Added function ceil with its tests
+ - Added function min with its tests
+ - Added function max with its tests _________________ 2005-01-22:
+ - Updated issue #13
+ - Added temporary namespace called 'glm'
+ - Added function pow with its tests _________________ 2005-01-19:
+ - Updated sin function tests
+ - Enhanced trigonometrics functions
+ - Enhanced geometric functions _________________ 2005-01-18:
+ - Added xvec* type constructor taking a single scalar as parameter.
+ - Added xvec* into xvec3 type conversion
+ - Added xvec* into xvec4 type conversion
+ - Added xvec* into bvec2 type conversion
+ - Added xvec* into bvec3 type conversion
+ - Added xvec* into bvec4 type conversion
+ - Added function sin with its tests
+ - Added function cos with its tests
+ - Added function tan with its tests
+ - Added function asin with its tests
+ - Added function acos with its tests
+ - Added function atan with its tests
+ - Added issue #13 _________________ 2005-01-17:
+ - Added function radians with its tests
+ - Added function degrees with its tests
+ - Added issue #9 _________________ 2005-01-16:
+ - Separated *vec* types definition from declaration
+ - Added xvec* into xvec2 type conversion
+ - Updated issue #11
+ - Added issue #12 _________________ 2005-01-15:
+ - Using 'union' for multiple access to *vec* types components
+ - Added issue #11
+ - Deleted __*vec1GT following issue #11 guidance
+ - Closed issue #2 _________________ 2005-01-13:
+ - Added function normalize with its tests
+ - Added function faceforward with its tests _________________ 2005-01-12:
+ - Added function cross with its tests
+ - Added a function that can determine *vec* types size, and write beyond GLSL 1.051 specs
+ - Added function lenght with its tests
+ - Added function distance with its tests
+ - Added function dot with its tests
+ - Closed issue #1 _________________ 2005-01-10:
+ - Renamed intern types _vec* into _xvec*
+ - Separated _xvec* types data, operators and accesses
+ - Added bvec2 type
+ - Added __bvec1GT type beyond GLSL 1.051 specs _________________ 2005-01-09:
+ - Added types vec2 and ivec2
+ - Added types vec3 and ivec3
+ - Added types vec4 and ivec4
+ - Added types __vec1GT and __ivec1GT, write beyond GLSL 1.051 specs _________________
+ Copyright © 2005-2008 G-Truc Creation |
GLSL + Optional features = OpenGL Mathematics (GLM). A C++ mathematics library for 3D graphics.
+ Copyright © 2005-2009 G-Truc Creation |
OpenGL Mathematics GLSL + Optional features = OpenGL Mathematics (GLM). A C++ mathematics library for 3D graphics. Current release 14/11/2009:
+ GLM 0.8.4.3
+ (1.1 MB)
+ _________________ GLM - zip files 14/11/2009: GLM 0.8.4.3 (1.1 MB)
+ 19/10/2009: GLM 0.8.4.2 (1.1 MB)
+ 03/10/2009: GLM 0.8.4.1 (1.1 MB)
+ 16/09/2009: GLM 0.8.4.0 (1.1 MB)
+ 11/08/2009: GLM 0.8.3.5 (971 KB)
+ 10/08/2009: GLM 0.8.3.4 (971 KB)
+ 25/06/2009: GLM 0.8.3.3 (971 KB)
+ 04/06/2009: GLM 0.8.3.2 (971 KB)
+ 21/05/2009: GLM 0.8.3.1 (945 KB)
+ 06/05/2009: GLM 0.8.3.0 (896 KB)
+ 01/04/2009: GLM 0.8.2.3 (961 KB)
+ 24/02/2009: GLM 0.8.2.2 (961 KB)
+ 13/02/2009: GLM 0.8.2.1 (963 KB)
+ 21/01/2009: GLM 0.8.2.0 (963 KB)
+ 30/10/2008: GLM 0.8.1.0 (938 KB)
+ 23/10/2008: GLM 0.8.0.0 (936 KB)
+ 08/08/2008: GLM 0.7.6.0 (907 KB)
+ 05/07/2008: GLM 0.7.5.0 (852 KB)
+ 06/01/2008: GLM 0.7.4.0 (859 KB)
+ 05/24/2008: GLM 0.7.3.0 (1.8 MB)
+ 04/27/2008: GLM 0.7.2.0 (1.8 MB)
+ 03/24/2008: GLM 0.7.1.0 (1.8 MB)
+ 03/22/2008: GLM 0.7.0.0 (1.8 MB)
+ 12/10/2007: GLM 0.6.4.0 (1.8 MB)
+ 11/05/2007: GLM 0.6.3.0 (1.8 MB)
+ 10/08/2007: GLM 0.6.2.0 (1.8 MB)
+ 10/07/2007: GLM 0.6.1.0 (1.8 MB)
+ 09/16/2007: GLM 0.6.0.0 (1.8 MB)
+ 02/19/2007: GLM 0.5.1.0 (2.3 MB)
+ 01/06/2007: GLM 0.5.0.0 (2.4 MB)
+ 05/22/2006: GLM 0.4.1.0 (1.6 MB)
+ 05/17/2006: GLM 0.4.0.0 (905 KB)
+ 04/22/2006: GLM 0.3.2.0 (955 KB)
+ 03/28/2006: GLM 0.3.1.0 (963 KB)
+ 02/19/2006: GLM 0.3.0.0 (945 KB)
+ 05/05/2005: GLM 0.2.0.0 (194 KB)
+ 02/21/2005: GLM 0.1.0.0 (29.2 KB)
+ _________________ GLM - 7z files 14/11/2009: GLM 0.8.4.3 (443 KB)
+ 19/10/2009: GLM 0.8.4.2 (443 KB)
+ 03/10/2009: GLM 0.8.4.1 (443 KB)
+ 16/09/2009: GLM 0.8.4.0 (439 KB)
+ 11/08/2009: GLM 0.8.3.5 (405 KB)
+ 10/08/2009: GLM 0.8.3.4 (405 KB)
+ 25/06/2009: GLM 0.8.3.3 (405 KB)
+ 04/06/2009: GLM 0.8.3.2 (405 KB)
+ 21/05/2009: GLM 0.8.3.1 (399 KB)
+ 06/05/2009: GLM 0.8.3.0 (359 KB)
+ 01/04/2009: GLM 0.8.2.3 (378 KB)
+ 24/02/2009: GLM 0.8.2.2 (378 KB)
+ 13/02/2009: GLM 0.8.2.1 (381 KB)
+ 21/01/2009: GLM 0.8.2.0 (381 KB)
+ 30/10/2008: GLM 0.8.1.0 (372 KB)
+ 23/10/2008: GLM 0.8.0.0 (370 KB)
+ 08/08/2008: GLM 0.7.6.0 (387 KB)
+ 05/07/2008: GLM 0.7.5.0 (366 KB)
+ 06/01/2008: GLM 0.7.4.0 (372 KB)
+ 05/24/2008: GLM 0.7.3.0 (657 KB)
+ 04/27/2008: GLM 0.7.2.0 (646 KB)
+ 03/24/2008: GLM 0.7.1.0 (635 KB)
+ 03/22/2008: GLM 0.7.0.0 (635 KB)
+ 12/10/2007: GLM 0.6.4.0 (612 KB)
+ 11/05/2007: GLM 0.6.3.0 (633 KB)
+ 10/08/2007: GLM 0.6.2.0 (645 KB)
+ 10/07/2007: GLM 0.6.1.0 (645 KB)
+ 09/16/2007: GLM 0.6.0.0 (646 KB)
+ 02/19/2007: GLM 0.5.1.0 (807 KB)
+ 01/06/2007: GLM 0.5.0.0 (862 KB)
+ 05/22/2006: GLM 0.4.1.0 (533 KB)
+ 05/17/2006: GLM 0.4.0.0 (262 KB)
+ _________________ Raytrace 16-09-2007: Raytrace v1.0 (exe) (766 KB)
+ 16-09-2007: Raytrace v1.0 (zip) (1.4 MB)
+ 06-01-2007: Raytrace b3.0 (exe) (751 KB)
+ 06-01-2007: Raytrace b3.0 (zip) (1.1 MB)
+ 19-02-2006: Raytrace b2.0 (exe) (1.0 MB)
+ 19-02-2006: Raytrace b2.0 (zip) (1.4 MB)
+ 05-05-2005: Raytrace b1.0 (zip) (1.3 MB)
+ 05-05-2005: Raytrace b1.0 (7z ) (808 KB)
+ _________________ Humus's Framework 22-10-2008: AmbientApertureLighting (zip) (2.38 MB)
+ _________________ Philip Rideout's Catmull-Clark Subdivision 24-01-2007: CatmullClark (zip) (605 KB)
+ _________________ _________________
+ Copyright © 2005-2008 G-Truc Creation |
OpenGL Mathematics GLSL + Optional features = OpenGL Mathematics (GLM). A C++ mathematics library for 3D graphics. 16/10/2008 GLM Logo _________________ _________________
+ Copyright © 2005-2008 G-Truc Creation |
GLM namespace, it contains all GLSL based features. +More...
+Namespaces | |
namespace | core |
GLM core. Namespace that includes all the feature define by GLSL 1.30.8 specification. This namespace is included in glm namespace. + | |
namespace | gtc |
GLM stable extensions. + | |
namespace | gtx |
GLM experimental extensions. The interface could change between releases. + | |
namespace | img |
IMG extensions. + |
GLM namespace, it contains all GLSL based features.
+GLM core. Namespace that includes all the feature define by GLSL 1.30.8 specification. This namespace is included in glm namespace. +More...
+Namespaces | |
namespace | function |
Some of the functions defined in section 8 Built-in Functions of GLSL 1.30.8 specification. + | |
namespace | type |
Scalar, vectors and matrices from section 4.1.2 Booleans, 4.1.3 Integers section, 4.1.4 Floats section, 4.1.5 Vectors and section 4.1.6 Matrices of GLSL 1.30.8 specification. + |
GLM core. Namespace that includes all the feature define by GLSL 1.30.8 specification. This namespace is included in glm namespace.
+Some of the functions defined in section 8 Built-in Functions of GLSL 1.30.8 specification. +More...
+Namespaces | |
namespace | common |
Define common functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace. + | |
namespace | exponential |
Define all exponential functions from Section 8.2 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 | matrix |
Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace. + | |
namespace | trigonometric |
Define Angle and trigonometry functions from Section 8.1 of GLSL 1.30.8 specification. + | |
namespace | vector_relational |
Define vector relational functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace. + |
Some of the functions defined in section 8 Built-in Functions of GLSL 1.30.8 specification.
+Angle and trigonometry, exponential, common, geometric, matrix and vector relational functions.
+Define common functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace. +More...
+Functions | |
template<typename genFIType > | |
genFIType | abs (genFIType const &x) |
Returns x if x >= 0; otherwise, it returns -x. | |
template<typename genType > | |
genType | ceil (genType const &x) |
Returns a value equal to the nearest integer that is greater than or equal to x. | |
template<typename genUIFTypeT , typename genUIFTypeU > | |
genUIFTypeT | clamp (genUIFTypeT const &x, genUIFTypeU const &minVal, genUIFTypeU const &maxVal) |
Returns min(max(x, minVal), maxVal) for each component in x. | |
template<typename genType > | |
genType | floor (genType const &x) |
Returns a value equal to the nearest integer that is less then or equal to x. | |
template<typename genType > | |
genType | fract (genType const &x) |
Return x - floor(x). | |
template<typename genType > | |
genType::bool_type | isinf (genType const &x) |
Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. | |
template<typename genType > | |
genType::bool_type | isnan (genType const &x) |
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. | |
template<typename genUIFTypeT , typename genUIFTypeU > | |
genUIFTypeT | max (genUIFTypeT const &x, genUIFTypeU const &y) |
Returns y if x < y; otherwise, it returns x. | |
template<typename genUIFTypeT , typename genUIFTypeU > | |
genUIFTypeT | min (genUIFTypeT const &x, genUIFTypeU const &y) |
Returns y if y < x; otherwise, it returns x. | |
template<typename genTypeT , typename genTypeU > | |
genTypeT | mix (genTypeT const &x, genTypeT const &y, genTypeU const &a) |
template<typename genTypeT , typename genTypeU > | |
genTypeT | mod (genTypeT const &x, genTypeU const &y) |
Modulus. | |
template<typename genType > | |
genType | modf (genType const &x, genType &i) |
Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). | |
template<typename genType > | |
genType | round (genType const &x) |
Returns a value equal to the nearest integer to x. | |
template<typename genType > | |
genType | roundEven (genType const &x) |
Returns a value equal to the nearest integer to x. | |
template<typename genFIType > | |
genFIType | sign (genFIType const &x) |
Returns 1.0 if x > 0, 0.0 if x = 0, or -1.0 if x < 0. | |
template<typename genTypeT , typename genTypeU > | |
genTypeU | smoothstep (genTypeT const &edge0, genTypeT const &edge1, genTypeU const &x) |
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. | |
template<typename genTypeT , typename genTypeU > | |
genTypeU | step (genTypeT const &edge, genTypeU const &x) |
Returns 0.0 if x < edge, otherwise it returns 1.0. | |
template<typename genType > | |
genType | trunc (genType const &x) |
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. |
Define common functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace.
+genFIType glm::core::function::common::abs | +( | +genFIType const & | +x | +) | ++ |
Returns x if x >= 0; otherwise, it returns -x.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genType glm::core::function::common::ceil | +( | +genType const & | +x | +) | ++ |
Returns a value equal to the nearest integer that is greater than or equal to x.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genUIFTypeT glm::core::function::common::clamp | +( | +genUIFTypeT const & | +x, | +|
+ | + | genUIFTypeU const & | +minVal, | +|
+ | + | genUIFTypeU const & | +maxVal | + |
+ | ) | ++ |
Returns min(max(x, minVal), maxVal) for each component in x.
+using the floating-point values minVal and maxVal. (From GLSL 1.30.08 specification, section 8.3)
+ +Referenced by glm::gtx::compatibility::saturate().
+ +genType glm::core::function::common::floor | +( | +genType const & | +x | +) | ++ |
Returns a value equal to the nearest integer that is less then or equal to x.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genType glm::core::function::common::fract | +( | +genType const & | +x | +) | ++ |
Return x - floor(x).
+(From GLSL 1.30.08 specification, section 8.3)
+ +genType::bool_type glm::core::function::common::isinf | +( | +genType const & | +x | +) | ++ |
Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.
+Returns false otherwise, including for implementations with no infinity representations. (From GLSL 1.30.08 specification, section 8.3)
+ +genType::bool_type glm::core::function::common::isnan | +( | +genType const & | +x | +) | ++ |
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.
+Returns false otherwise, including for implementations with no NaN representations. (From GLSL 1.30.08 specification, section 8.3)
+ +genUIFTypeT glm::core::function::common::max | +( | +genUIFTypeT const & | +x, | +|
+ | + | genUIFTypeU const & | +y | + |
+ | ) | ++ |
Returns y if x < y; otherwise, it returns x.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genUIFTypeT glm::core::function::common::min | +( | +genUIFTypeT const & | +x, | +|
+ | + | genUIFTypeU const & | +y | + |
+ | ) | ++ |
Returns y if y < x; otherwise, it returns x.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genTypeT glm::core::function::common::mix | +( | +genTypeT const & | +x, | +|
+ | + | genTypeT const & | +y, | +|
+ | + | genTypeU const & | +a | + |
+ | ) | ++ |
From GLSL 1.30.08 specification, section 8.3
+[in] | x | Floating point scalar or vector. |
[in] | y | Floating point scalar or vector. |
[in] | a | Floating point or boolean scalar or vector. |
Referenced by glm::gtx::compatibility::lerp().
+ +genTypeT glm::core::function::common::mod | +( | +genTypeT const & | +x, | +|
+ | + | genTypeU const & | +y | + |
+ | ) | ++ |
Modulus.
+Returns x - y * floor(x / y) for each component in x using the floating point value y. (From GLSL 1.30.08 specification, section 8.3)
+ +genType glm::core::function::common::modf | +( | +genType const & | +x, | +|
+ | + | genType & | +i | + |
+ | ) | ++ |
Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).
+Both the return value and the output parameter will have the same sign as x. (From GLSL 1.30.08 specification, section 8.3)
+ +genType glm::core::function::common::round | +( | +genType const & | +x | +) | ++ |
Returns a value equal to the nearest integer to x.
+The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x. (From GLSL 1.30.08 specification, section 8.3)
+ +genType glm::core::function::common::roundEven | +( | +genType const & | +x | +) | ++ |
Returns a value equal to the nearest integer to x.
+A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.) (From GLSL 1.30.08 specification, section 8.3)
+ +genFIType glm::core::function::common::sign | +( | +genFIType const & | +x | +) | ++ |
Returns 1.0 if x > 0, 0.0 if x = 0, or -1.0 if x < 0.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genTypeU glm::core::function::common::smoothstep | +( | +genTypeT const & | +edge0, | +|
+ | + | genTypeT const & | +edge1, | +|
+ | + | genTypeU const & | +x | + |
+ | ) | ++ |
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.
+This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x – edge0) / (edge1 – edge0), 0, 1); return t * t * (3 – 2 * t); Results are undefined if edge0 >= edge1. (From GLSL 1.30.08 specification, section 8.3)
+ +genTypeU glm::core::function::common::step | +( | +genTypeT const & | +edge, | +|
+ | + | genTypeU const & | +x | + |
+ | ) | ++ |
Returns 0.0 if x < edge, otherwise it returns 1.0.
+(From GLSL 1.30.08 specification, section 8.3)
+ +genType glm::core::function::common::trunc | +( | +genType const & | +x | +) | ++ |
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.
+(From GLSL 1.30.08 specification, section 8.3)
+ +Define all exponential functions from Section 8.2 of GLSL 1.30.8 specification. Included in glm namespace. +More...
+Functions | |
template<typename genType > | |
genType | exp (genType const &x) |
Returns the natural exponentiation of x, i.e., e^x. | |
template<typename genType > | |
genType | exp2 (genType const &x) |
Returns 2 raised to the x power. | |
template<typename genType > | |
genType | inversesqrt (genType const &x) |
Returns the reciprocal of the positive square root of x. | |
template<typename genType > | |
genType | log (genType const &x) |
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y. | |
template<typename genType > | |
genType | log2 (genType const &x) |
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y. | |
template<typename genType > | |
genType | pow (genType const &x, genType const &y) |
Returns x raised to the y power. | |
template<typename genType > | |
genType | sqrt (genType const &x) |
Returns the positive square root of x. |
Define all exponential functions from Section 8.2 of GLSL 1.30.8 specification. Included in glm namespace.
+genType glm::core::function::exponential::exp | +( | +genType const & | +x | +) | ++ |
Returns the natural exponentiation of x, i.e., e^x.
+(From GLSL 1.30.08 specification, section 8.2)
+ +genType glm::core::function::exponential::exp2 | +( | +genType const & | +x | +) | ++ |
Returns 2 raised to the x power.
+(From GLSL 1.30.08 specification, section 8.2)
+ +genType glm::core::function::exponential::inversesqrt | +( | +genType const & | +x | +) | ++ |
Returns the reciprocal of the positive square root of x.
+(From GLSL 1.30.08 specification, section 8.2)
+ +genType glm::core::function::exponential::log | +( | +genType const & | +x | +) | ++ |
Returns the natural logarithm of x, i.e., returns the value y which satisfies the equation x = e^y.
+Results are undefined if x <= 0. (From GLSL 1.30.08 specification, section 8.2)
+ +genType glm::core::function::exponential::log2 | +( | +genType const & | +x | +) | ++ |
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.
+(From GLSL 1.30.08 specification, section 8.2)
+ +genType glm::core::function::exponential::pow | +( | +genType const & | +x, | +|
+ | + | genType const & | +y | + |
+ | ) | ++ |
Returns x raised to the y power.
+(From GLSL 1.30.08 specification, section 8.2)
+ +genType glm::core::function::exponential::sqrt | +( | +genType const & | +x | +) | ++ |
Returns the positive square root of x.
+(From GLSL 1.30.08 specification, section 8.2)
+ +Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace. +More...
+Functions | |
template<typename valType > | |
detail::tvec3< valType > | cross (detail::tvec3< valType > const &x, detail::tvec3< valType > const &y) |
Returns the cross product of x and y. | |
template<typename genType > | |
genType::value_type | distance (genType const &p0, genType const &p1) |
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). | |
template<typename genType > | |
genType::value_type | dot (genType const &x, genType const &y) |
Returns the dot product of x and y, i.e., result = x * y. | |
template<typename genType > | |
genType | faceforward (genType const &N, genType const &I, genType const &Nref) |
If dot(Nref, I) < 0.0, return N, otherwise, return -N. | |
template<typename genType > | |
genType::value_type | length (genType const &x) |
Returns the length of x, i.e., sqrt(x * x). | |
template<typename genType > | |
genType | normalize (genType const &x) |
Returns a vector in the same direction as x but with length of 1. | |
template<typename genType > | |
genType | reflect (genType const &I, genType const &N) |
For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. | |
template<typename genType > | |
genType | refract (genType const &I, genType const &N, typename genType::value_type const &eta) |
For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. |
Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace.
+detail::tvec3<valType> glm::core::function::geometric::cross | +( | +detail::tvec3< valType > const & | +x, | +|
+ | + | detail::tvec3< valType > const & | +y | + |
+ | ) | ++ |
Returns the cross product of x and y.
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType::value_type glm::core::function::geometric::distance | +( | +genType const & | +p0, | +|
+ | + | genType const & | +p1 | + |
+ | ) | ++ |
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType::value_type glm::core::function::geometric::dot | +( | +genType const & | +x, | +|
+ | + | genType const & | +y | + |
+ | ) | ++ |
Returns the dot product of x and y, i.e., result = x * y.
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType glm::core::function::geometric::faceforward | +( | +genType const & | +N, | +|
+ | + | genType const & | +I, | +|
+ | + | genType const & | +Nref | + |
+ | ) | ++ |
If dot(Nref, I) < 0.0, return N, otherwise, return -N.
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType::value_type glm::core::function::geometric::length | +( | +genType const & | +x | +) | ++ |
Returns the length of x, i.e., sqrt(x * x).
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType glm::core::function::geometric::normalize | +( | +genType const & | +x | +) | ++ |
Returns a vector in the same direction as x but with length of 1.
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType glm::core::function::geometric::reflect | +( | +genType const & | +I, | +|
+ | + | genType const & | +N | + |
+ | ) | ++ |
For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.
+(From GLSL 1.30.08 specification, section 8.4)
+ +genType glm::core::function::geometric::refract | +( | +genType const & | +I, | +|
+ | + | genType const & | +N, | +|
+ | + | typename genType::value_type const & | +eta | + |
+ | ) | ++ |
For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.
+(From GLSL 1.30.08 specification, section 8.4)
+ +Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace. +More...
+Functions | |
template<typename genType > | |
genType::value_type | determinant (genType const &m) |
Return the determinant of a matrix. | |
template<typename genType > | |
genType | inverse (genType const &m) |
Return the inverse of a matrix. | |
template<typename matType > | |
matType | matrixCompMult (matType const &x, matType const &y) |
Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j]. | |
template<typename vecType , typename matType > | |
matType | outerProduct (vecType const &c, vecType const &r) |
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r. | |
+template<typename matType > | |
matType::transpose_type | transpose (matType const &x) |
Returns the transposed matrix of x (From GLSL 1.30.08 specification, section 8.5). |
Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace.
+genType::value_type glm::core::function::matrix::determinant | +( | +genType const & | +m | +) | ++ |
Return the determinant of a matrix.
+(From GLSL 1.50.09 specification, section 8.5). genType: mat2, mat3, mat4.
+ +genType glm::core::function::matrix::inverse | +( | +genType const & | +m | +) | ++ |
Return the inverse of a matrix.
+(From GLSL 1.40.07 specification, section 8.5). genType: mat2, mat3, mat4.
+ +matType glm::core::function::matrix::matrixCompMult | +( | +matType const & | +x, | +|
+ | + | matType const & | +y | + |
+ | ) | ++ |
matType glm::core::function::matrix::outerProduct | +( | +vecType const & | +c, | +|
+ | + | vecType const & | +r | + |
+ | ) | ++ |
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r.
+(From GLSL 1.30.08 specification, section 8.5)
+ +Define Angle and trigonometry functions from Section 8.1 of GLSL 1.30.8 specification. +More...
+Functions | |
template<typename genType > | |
genType | acos (genType const &x) |
Arc cosine. | |
template<typename genType > | |
genType | acosh (genType const &x) |
Arc hyperbolic cosine; returns the non-negative inverse of cosh. | |
template<typename genType > | |
genType | asin (genType const &x) |
Arc sine. | |
template<typename genType > | |
genType | asinh (genType const &x) |
Arc hyperbolic sine; returns the inverse of sinh. | |
template<typename genType > | |
genType | atan (genType const &y_over_x) |
Arc tangent. | |
template<typename genType > | |
genType | atan (genType const &y, genType const &x) |
Arc tangent. | |
template<typename genType > | |
genType | atanh (genType const &x) |
Arc hyperbolic tangent; returns the inverse of tanh. | |
template<typename genType > | |
genType | cos (genType const &angle) |
The standard trigonometric cosine function. | |
+template<typename genType > | |
genType | cosh (genType const &angle) |
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2 (From GLSL 1.30.08 specification, section 8.1). | |
template<typename genType > | |
genType | degrees (genType const &radians) |
Converts radians to degrees and returns the result. | |
template<typename genType > | |
genType | radians (genType const °rees) |
Converts degrees to radians and returns the result. | |
template<typename genType > | |
genType | sin (genType const &angle) |
The standard trigonometric sine function. | |
+template<typename genType > | |
genType | sinh (genType const &angle) |
Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2 (From GLSL 1.30.08 specification, section 8.1). | |
template<typename genType > | |
genType | tan (genType const &angle) |
The standard trigonometric tangent function. | |
+template<typename genType > | |
genType | tanh (genType const &angle) |
Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) (From GLSL 1.30.08 specification, section 8.1). |
Define Angle and trigonometry functions from Section 8.1 of GLSL 1.30.8 specification.
+Included in glm namespace.
+genType glm::core::function::trigonometric::acos | +( | +genType const & | +x | +) | ++ |
Arc cosine.
+Returns an angle whose sine is x. The range of values returned by this function is [0, PI]. Results are undefined if |x| > 1. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::acosh | +( | +genType const & | +x | +) | ++ |
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
+Results are undefined if x < 1. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::asin | +( | +genType const & | +x | +) | ++ |
Arc sine.
+Returns an angle whose sine is x. The range of values returned by this function is [-PI/2, PI/2]. Results are undefined if |x| > 1. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::asinh | +( | +genType const & | +x | +) | ++ |
Arc hyperbolic sine; returns the inverse of sinh.
+(From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::atan | +( | +genType const & | +y_over_x | +) | ++ |
Arc tangent.
+Returns an angle whose tangent is y_over_x. The range of values returned by this function is [-PI/2, PI/2]. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::atan | +( | +genType const & | +y, | +|
+ | + | genType const & | +x | + |
+ | ) | ++ |
Arc tangent.
+Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLSL 1.30.08 specification, section 8.1)
+ +Referenced by glm::gtx::compatibility::atan2().
+ +genType glm::core::function::trigonometric::atanh | +( | +genType const & | +x | +) | ++ |
Arc hyperbolic tangent; returns the inverse of tanh.
+Results are undefined if abs(x) >= 1. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::cos | +( | +genType const & | +angle | +) | ++ |
The standard trigonometric cosine function.
+The values returned by this function will range from [-1, 1]. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::degrees | +( | +genType const & | +radians | +) | ++ |
Converts radians to degrees and returns the result.
+(From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::radians | +( | +genType const & | +degrees | +) | ++ |
Converts degrees to radians and returns the result.
+(From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::sin | +( | +genType const & | +angle | +) | ++ |
The standard trigonometric sine function.
+The values returned by this function will range from [-1, 1]. (From GLSL 1.30.08 specification, section 8.1)
+ +genType glm::core::function::trigonometric::tan | +( | +genType const & | +angle | +) | ++ |
The standard trigonometric tangent function.
+(From GLSL 1.30.08 specification, section 8.1)
+ +Define vector relational functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace. +More...
+Functions | |
template<typename vecType > | |
bool | all (vecType const &x) |
Returns true if all components of x are true. | |
template<typename vecType > | |
bool | any (vecType const &x) |
Returns true if any component of x is true. | |
template<typename vecType > | |
vecType::bool_type | equal (vecType const &x, vecType const &y) |
Returns the component-wise compare of x == y. | |
template<typename vecType > | |
vecType::bool_type | greaterThan (vecType const &x, vecType const &y) |
Returns the component-wise compare of x > y. | |
template<typename vecType > | |
vecType::bool_type | greaterThanEqual (vecType const &x, vecType const &y) |
Returns the component-wise compare of x >= y. | |
template<typename vecType > | |
vecType::bool_type | lessThan (vecType const &x, vecType const &y) |
Returns the component-wise compare of x < y. | |
template<typename vecType > | |
vecType::bool_type | lessThanEqual (vecType const &x, vecType const &y) |
Returns the component-wise compare of x <= y. | |
template<typename vecType > | |
vecType::bool_type | not_ (vecType const &x) |
Returns the component-wise logical complement of x. | |
template<typename vecType > | |
vecType::bool_type | notEqual (vecType const &x, vecType const &y) |
Returns the component-wise compare of x != y. |
Define vector relational functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace.
+bool glm::core::function::vector_relational::all | +( | +vecType const & | +x | +) | ++ |
Returns true if all components of x are true.
+(From GLSL 1.30.08 specification, section 8.6)
+ +bool glm::core::function::vector_relational::any | +( | +vecType const & | +x | +) | ++ |
Returns true if any component of x is true.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::equal | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the component-wise compare of x == y.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::greaterThan | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the component-wise compare of x > y.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::greaterThanEqual | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the component-wise compare of x >= y.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::lessThan | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the component-wise compare of x < y.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::lessThanEqual | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the component-wise compare of x <= y.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::not_ | +( | +vecType const & | +x | +) | ++ |
Returns the component-wise logical complement of x.
+(From GLSL 1.30.08 specification, section 8.6)
+ +vecType::bool_type glm::core::function::vector_relational::notEqual | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the component-wise compare of x != y.
+(From GLSL 1.30.08 specification, section 8.6)
+ +Scalar, vectors and matrices from section 4.1.2 Booleans, 4.1.3 Integers section, 4.1.4 Floats section, 4.1.5 Vectors and section 4.1.6 Matrices of GLSL 1.30.8 specification. +More...
+Namespaces | |
namespace | matrix |
Matrix types from section 4.1.6 of GLSL 1.30.8 specification. + | |
namespace | scalar |
Scalar types from section 4.1.2 Booleans, 4.1.3 Integers and 4.1.4 Floats of GLSL 1.30.8 specification. + | |
namespace | vector |
Vector types from section 4.1.5 of GLSL 1.30.8 specification. + |
Scalar, vectors and matrices from section 4.1.2 Booleans, 4.1.3 Integers section, 4.1.4 Floats section, 4.1.5 Vectors and section 4.1.6 Matrices of GLSL 1.30.8 specification.
+This namespace resolves precision qualifier define in section 4.5 of GLSL 1.30.8 specification.
+Matrix types from section 4.1.6 of GLSL 1.30.8 specification. +More...
+Namespaces | |
namespace | precision |
Matrix types with precision qualifier. + | |
Typedefs | |
typedef mat2x2 | mat2 |
2 columns of 2 components matrix of floating-point numbers. | |
typedef detail::tmat2x2 +< mediump_float > | mat2x2 |
2 columns of 2 components matrix of floating-point numbers. | |
typedef detail::tmat2x3 +< mediump_float > | mat2x3 |
2 columns of 3 components matrix of floating-point numbers. | |
typedef detail::tmat2x4 +< mediump_float > | mat2x4 |
2 columns of 4 components matrix of floating-point numbers. | |
typedef mat3x3 | mat3 |
3 columns of 3 components matrix of floating-point numbers. | |
typedef detail::tmat3x2 +< mediump_float > | mat3x2 |
3 columns of 2 components matrix of floating-point numbers. | |
typedef detail::tmat3x3 +< mediump_float > | mat3x3 |
3 columns of 3 components matrix of floating-point numbers. | |
typedef detail::tmat3x4 +< mediump_float > | mat3x4 |
3 columns of 4 components matrix of floating-point numbers. | |
typedef mat4x4 | mat4 |
4 columns of 4 components matrix of floating-point numbers. | |
typedef detail::tmat4x2 +< mediump_float > | mat4x2 |
4 columns of 2 components matrix of floating-point numbers. | |
typedef detail::tmat4x3 +< mediump_float > | mat4x3 |
4 columns of 3 components matrix of floating-point numbers. | |
typedef detail::tmat4x4 +< mediump_float > | mat4x4 |
4 columns of 4 components matrix of floating-point numbers. |
Matrix types from section 4.1.6 of GLSL 1.30.8 specification.
+This namespace is included in glm namespace.
+2 columns of 2 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 212 of file type_mat2x2.hpp.
+ +typedef detail::tmat2x2<mediump_float> mat2x2 | +
2 columns of 2 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 199 of file type_mat2x2.hpp.
+ +typedef detail::tmat2x3<mediump_float> mat2x3 | +
2 columns of 3 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 194 of file type_mat2x3.hpp.
+ +typedef detail::tmat2x4<mediump_float> mat2x4 | +
2 columns of 4 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 190 of file type_mat2x4.hpp.
+ +3 columns of 3 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 210 of file type_mat3x3.hpp.
+ +typedef detail::tmat3x2<mediump_float> mat3x2 | +
3 columns of 2 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 191 of file type_mat3x2.hpp.
+ +typedef detail::tmat3x3<mediump_float> mat3x3 | +
3 columns of 3 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 197 of file type_mat3x3.hpp.
+ +typedef detail::tmat3x4<mediump_float> mat3x4 | +
3 columns of 4 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 191 of file type_mat3x4.hpp.
+ +4 columns of 4 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 215 of file type_mat4x4.hpp.
+ +typedef detail::tmat4x2<mediump_float> mat4x2 | +
4 columns of 2 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 193 of file type_mat4x2.hpp.
+ +typedef detail::tmat4x3<mediump_float> mat4x3 | +
4 columns of 3 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 198 of file type_mat4x3.hpp.
+ +typedef detail::tmat4x4<mediump_float> mat4x4 | +
4 columns of 4 components matrix of floating-point numbers.
+(From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ +Definition at line 202 of file type_mat4x4.hpp.
+ +Matrix types with precision qualifier. +More...
+Typedefs | |
typedef detail::tmat2x2 +< highp_float > | highp_mat2x2 |
2 columns of 2 components matrix of high precision floating-point numbers. | |
typedef detail::tmat2x3 +< highp_float > | highp_mat2x3 |
2 columns of 3 components matrix of high precision floating-point numbers. | |
typedef detail::tmat2x4 +< highp_float > | highp_mat2x4 |
2 columns of 4 components matrix of high precision floating-point numbers. | |
typedef detail::tmat3x2 +< highp_float > | highp_mat3x2 |
3 columns of 2 components matrix of high precision floating-point numbers. | |
typedef detail::tmat3x3 +< highp_float > | highp_mat3x3 |
3 columns of 3 components matrix of high precision floating-point numbers. | |
typedef detail::tmat3x4 +< highp_float > | highp_mat3x4 |
3 columns of 4 components matrix of high precision floating-point numbers. | |
typedef detail::tmat4x2 +< highp_float > | highp_mat4x2 |
4 columns of 2 components matrix of high precision floating-point numbers. | |
typedef detail::tmat4x3 +< highp_float > | highp_mat4x3 |
4 columns of 3 components matrix of high precision floating-point numbers. | |
typedef detail::tmat4x4 +< highp_float > | highp_mat4x4 |
4 columns of 4 components matrix of high precision floating-point numbers. | |
typedef detail::tmat2x2 +< lowp_float > | lowp_mat2x2 |
2 columns of 2 components matrix of low precision floating-point numbers. | |
typedef detail::tmat2x3 +< lowp_float > | lowp_mat2x3 |
2 columns of 3 components matrix of low precision floating-point numbers. | |
typedef detail::tmat2x4 +< lowp_float > | lowp_mat2x4 |
2 columns of 4 components matrix of low precision floating-point numbers. | |
typedef detail::tmat3x2 +< lowp_float > | lowp_mat3x2 |
3 columns of 2 components matrix of low precision floating-point numbers. | |
typedef detail::tmat3x3 +< lowp_float > | lowp_mat3x3 |
3 columns of 3 components matrix of low precision floating-point numbers. | |
typedef detail::tmat3x4 +< lowp_float > | lowp_mat3x4 |
3 columns of 4 components matrix of low precision floating-point numbers. | |
typedef detail::tmat4x2 +< lowp_float > | lowp_mat4x2 |
4 columns of 2 components matrix of low precision floating-point numbers. | |
typedef detail::tmat4x3 +< lowp_float > | lowp_mat4x3 |
4 columns of 3 components matrix of low precision floating-point numbers. | |
typedef detail::tmat4x4 +< lowp_float > | lowp_mat4x4 |
4 columns of 4 components matrix of low precision floating-point numbers. | |
typedef detail::tmat2x2 +< mediump_float > | mediump_mat2x2 |
2 columns of 2 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat2x3 +< mediump_float > | mediump_mat2x3 |
2 columns of 3 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat2x4 +< mediump_float > | mediump_mat2x4 |
2 columns of 4 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat3x2 +< mediump_float > | mediump_mat3x2 |
3 columns of 2 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat3x3 +< mediump_float > | mediump_mat3x3 |
3 columns of 3 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat3x4 +< mediump_float > | mediump_mat3x4 |
3 columns of 4 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat4x2 +< mediump_float > | mediump_mat4x2 |
4 columns of 2 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat4x3 +< mediump_float > | mediump_mat4x3 |
4 columns of 3 components matrix of medium precision floating-point numbers. | |
typedef detail::tmat4x4 +< mediump_float > | mediump_mat4x4 |
4 columns of 4 components matrix of medium precision floating-point numbers. |
Matrix types with precision qualifier.
+This namespace is included in glm namespace.
+typedef detail::tmat2x2<highp_float> highp_mat2x2 | +
2 columns of 2 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 192 of file type_mat2x2.hpp.
+ +typedef detail::tmat2x3<highp_float> highp_mat2x3 | +
2 columns of 3 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 187 of file type_mat2x3.hpp.
+ +typedef detail::tmat2x4<highp_float> highp_mat2x4 | +
2 columns of 4 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 183 of file type_mat2x4.hpp.
+ +typedef detail::tmat3x2<highp_float> highp_mat3x2 | +
3 columns of 2 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 184 of file type_mat3x2.hpp.
+ +typedef detail::tmat3x3<highp_float> highp_mat3x3 | +
3 columns of 3 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 190 of file type_mat3x3.hpp.
+ +typedef detail::tmat3x4<highp_float> highp_mat3x4 | +
3 columns of 4 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 184 of file type_mat3x4.hpp.
+ +typedef detail::tmat4x2<highp_float> highp_mat4x2 | +
4 columns of 2 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 186 of file type_mat4x2.hpp.
+ +typedef detail::tmat4x3<highp_float> highp_mat4x3 | +
4 columns of 3 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 191 of file type_mat4x3.hpp.
+ +typedef detail::tmat4x4<highp_float> highp_mat4x4 | +
4 columns of 4 components matrix of high precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 195 of file type_mat4x4.hpp.
+ +typedef detail::tmat2x2<lowp_float> lowp_mat2x2 | +
2 columns of 2 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 184 of file type_mat2x2.hpp.
+ +typedef detail::tmat2x3<lowp_float> lowp_mat2x3 | +
2 columns of 3 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 179 of file type_mat2x3.hpp.
+ +typedef detail::tmat2x4<lowp_float> lowp_mat2x4 | +
2 columns of 4 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 175 of file type_mat2x4.hpp.
+ +typedef detail::tmat3x2<lowp_float> lowp_mat3x2 | +
3 columns of 2 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 176 of file type_mat3x2.hpp.
+ +typedef detail::tmat3x3<lowp_float> lowp_mat3x3 | +
3 columns of 3 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 182 of file type_mat3x3.hpp.
+ +typedef detail::tmat3x4<lowp_float> lowp_mat3x4 | +
3 columns of 4 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 176 of file type_mat3x4.hpp.
+ +typedef detail::tmat4x2<lowp_float> lowp_mat4x2 | +
4 columns of 2 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 178 of file type_mat4x2.hpp.
+ +typedef detail::tmat4x3<lowp_float> lowp_mat4x3 | +
4 columns of 3 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 183 of file type_mat4x3.hpp.
+ +typedef detail::tmat4x4<lowp_float> lowp_mat4x4 | +
4 columns of 4 components matrix of low precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 187 of file type_mat4x4.hpp.
+ +typedef detail::tmat2x2<mediump_float> mediump_mat2x2 | +
2 columns of 2 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 188 of file type_mat2x2.hpp.
+ +typedef detail::tmat2x3<mediump_float> mediump_mat2x3 | +
2 columns of 3 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 183 of file type_mat2x3.hpp.
+ +typedef detail::tmat2x4<mediump_float> mediump_mat2x4 | +
2 columns of 4 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 179 of file type_mat2x4.hpp.
+ +typedef detail::tmat3x2<mediump_float> mediump_mat3x2 | +
3 columns of 2 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 180 of file type_mat3x2.hpp.
+ +typedef detail::tmat3x3<mediump_float> mediump_mat3x3 | +
3 columns of 3 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 186 of file type_mat3x3.hpp.
+ +typedef detail::tmat3x4<mediump_float> mediump_mat3x4 | +
3 columns of 4 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 180 of file type_mat3x4.hpp.
+ +typedef detail::tmat4x2<mediump_float> mediump_mat4x2 | +
4 columns of 2 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 182 of file type_mat4x2.hpp.
+ +typedef detail::tmat4x3<mediump_float> mediump_mat4x3 | +
4 columns of 3 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 187 of file type_mat4x3.hpp.
+ +typedef detail::tmat4x4<mediump_float> mediump_mat4x4 | +
4 columns of 4 components matrix of medium precision floating-point numbers.
+There is no garanty on the actual precision. (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ +Definition at line 191 of file type_mat4x4.hpp.
+ +Scalar types from section 4.1.2 Booleans, 4.1.3 Integers and 4.1.4 Floats of GLSL 1.30.8 specification. +More...
+Namespaces | |
namespace | precision |
Scalar types with precision qualifier. + | |
Typedefs | |
typedef uint_t | uint |
Unsigned integer. |
Scalar types from section 4.1.2 Booleans, 4.1.3 Integers and 4.1.4 Floats of GLSL 1.30.8 specification.
+This namespace is included in glm namespace.
+typedef uint_t uint | +
Unsigned integer.
+From GLSL 1.30.8 specification section 4.1.3 Integers.
+ +Definition at line 122 of file type_int.hpp.
+ +Scalar types with precision qualifier. +More...
+Typedefs | |
typedef highp_float_t | highp_float |
High precision floating-point numbers. | |
typedef highp_int_t | highp_int |
High precision signed integer. | |
typedef highp_uint_t | highp_uint |
High precision unsigned integer. | |
typedef lowp_float_t | lowp_float |
Low precision floating-point numbers. | |
typedef lowp_int_t | lowp_int |
Low precision signed integer. | |
typedef lowp_uint_t | lowp_uint |
Low precision unsigned integer. | |
typedef mediump_float_t | mediump_float |
Medium precision floating-point numbers. | |
typedef mediump_int_t | mediump_int |
Medium precision signed integer. | |
typedef mediump_uint_t | mediump_uint |
Medium precision unsigned integer. |
Scalar types with precision qualifier.
+This namespace is included in glm namespace.
+typedef highp_float_t highp_float | +
High precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification
+ +Definition at line 52 of file type_float.hpp.
+ +typedef highp_int_t highp_int | +
High precision signed integer.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification.
+ +Definition at line 77 of file type_int.hpp.
+ +typedef highp_uint_t highp_uint | +
High precision unsigned integer.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification.
+ +Definition at line 90 of file type_int.hpp.
+ +typedef lowp_float_t lowp_float | +
Low precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification
+ +Definition at line 44 of file type_float.hpp.
+ +typedef lowp_int_t lowp_int | +
Low precision signed integer.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification.
+ +Definition at line 69 of file type_int.hpp.
+ +typedef lowp_uint_t lowp_uint | +
Low precision unsigned integer.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification.
+ +Definition at line 82 of file type_int.hpp.
+ +typedef mediump_float_t mediump_float | +
Medium precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification
+ +Definition at line 48 of file type_float.hpp.
+ +typedef mediump_int_t mediump_int | +
Medium precision signed integer.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification.
+ +Definition at line 73 of file type_int.hpp.
+ +typedef mediump_uint_t mediump_uint | +
Medium precision unsigned integer.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification.
+ +Definition at line 86 of file type_int.hpp.
+ +Vector types from section 4.1.5 of GLSL 1.30.8 specification. +More...
+Namespaces | |
namespace | precision |
Vector types with precision qualifier. + | |
Typedefs | |
typedef detail::tvec2< bool > | bvec2 |
2 components vector of boolean. | |
typedef detail::tvec3< bool > | bvec3 |
3 components vector of boolean. | |
typedef detail::tvec4< bool > | bvec4 |
4 components vector of boolean. | |
typedef detail::tvec2 +< mediump_int > | ivec2 |
2 components vector of signed integer numbers. | |
typedef detail::tvec3 +< mediump_int > | ivec3 |
3 components vector of signed integer numbers. | |
typedef detail::tvec4 +< mediump_int > | ivec4 |
4 components vector of signed integer numbers. | |
typedef detail::tvec2 +< mediump_uint > | uvec2 |
2 components vector of unsigned integer numbers. | |
typedef detail::tvec3 +< mediump_uint > | uvec3 |
3 components vector of unsigned integer numbers. | |
typedef detail::tvec4 +< mediump_uint > | uvec4 |
4 components vector of unsigned integer numbers. | |
typedef detail::tvec2 +< mediump_float > | vec2 |
2 components vector of floating-point numbers. | |
typedef detail::tvec3 +< mediump_float > | vec3 |
3 components vector of floating-point numbers. | |
typedef detail::tvec4 +< mediump_float > | vec4 |
4 components vector of floating-point numbers. |
Vector types from section 4.1.5 of GLSL 1.30.8 specification.
+This namespace is included in glm namespace.
+typedef detail::tvec2<bool> bvec2 | +
2 components vector of boolean.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 200 of file type_vec2.hpp.
+ +typedef detail::tvec3<bool> bvec3 | +
3 components vector of boolean.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 199 of file type_vec3.hpp.
+ +typedef detail::tvec4<bool> bvec4 | +
4 components vector of boolean.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 215 of file type_vec4.hpp.
+ +typedef detail::tvec2<mediump_int> ivec2 | +
2 components vector of signed integer numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 242 of file type_vec2.hpp.
+ +typedef detail::tvec3<mediump_int> ivec3 | +
3 components vector of signed integer numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 241 of file type_vec3.hpp.
+ +typedef detail::tvec4<mediump_int> ivec4 | +
4 components vector of signed integer numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 255 of file type_vec4.hpp.
+ +typedef detail::tvec2<mediump_uint> uvec2 | +
2 components vector of unsigned integer numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 276 of file type_vec2.hpp.
+ +typedef detail::tvec3<mediump_uint> uvec3 | +
3 components vector of unsigned integer numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 275 of file type_vec3.hpp.
+ +typedef detail::tvec4<mediump_uint> uvec4 | +
4 components vector of unsigned integer numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 287 of file type_vec4.hpp.
+ +typedef detail::tvec2<mediump_float> vec2 | +
2 components vector of floating-point numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 208 of file type_vec2.hpp.
+ +typedef detail::tvec3<mediump_float> vec3 | +
3 components vector of floating-point numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 207 of file type_vec3.hpp.
+ +typedef detail::tvec4<mediump_float> vec4 | +
4 components vector of floating-point numbers.
+From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ +Definition at line 223 of file type_vec4.hpp.
+ +Vector types with precision qualifier. +More...
+Typedefs | |
typedef detail::tvec2< highp_int > | highp_ivec2 |
2 components vector of high precision signed integer numbers. | |
typedef detail::tvec3< highp_int > | highp_ivec3 |
3 components vector of high precision signed integer numbers. | |
typedef detail::tvec4< highp_int > | highp_ivec4 |
4 components vector of high precision signed integer numbers. | |
typedef detail::tvec2< highp_uint > | highp_uvec2 |
2 components vector of high precision unsigned integer numbers. | |
typedef detail::tvec3< highp_uint > | highp_uvec3 |
3 components vector of high precision unsigned integer numbers. | |
typedef detail::tvec4< highp_uint > | highp_uvec4 |
4 components vector of high precision unsigned integer numbers. | |
typedef detail::tvec2 +< highp_float > | highp_vec2 |
2 components vector of high precision floating-point numbers. | |
typedef detail::tvec3 +< highp_float > | highp_vec3 |
3 components vector of high precision floating-point numbers. | |
typedef detail::tvec4 +< highp_float > | highp_vec4 |
4 components vector of high precision floating-point numbers. | |
typedef detail::tvec2< lowp_int > | lowp_ivec2 |
2 components vector of low precision signed integer numbers. | |
typedef detail::tvec3< lowp_int > | lowp_ivec3 |
3 components vector of low precision signed integer numbers. | |
typedef detail::tvec4< lowp_int > | lowp_ivec4 |
4 components vector of low precision signed integer numbers. | |
typedef detail::tvec2< lowp_uint > | lowp_uvec2 |
2 components vector of low precision unsigned integer numbers. | |
typedef detail::tvec3< lowp_uint > | lowp_uvec3 |
3 components vector of low precision unsigned integer numbers. | |
typedef detail::tvec4< lowp_uint > | lowp_uvec4 |
4 components vector of low precision unsigned integer numbers. | |
typedef detail::tvec2< lowp_float > | lowp_vec2 |
2 components vector of low precision floating-point numbers. | |
typedef detail::tvec3< lowp_float > | lowp_vec3 |
3 components vector of low precision floating-point numbers. | |
typedef detail::tvec4< lowp_float > | lowp_vec4 |
4 components vector of low precision floating-point numbers. | |
typedef detail::tvec2 +< mediump_int > | mediump_ivec2 |
2 components vector of medium precision signed integer numbers. | |
typedef detail::tvec3 +< mediump_int > | mediump_ivec3 |
3 components vector of medium precision signed integer numbers. | |
typedef detail::tvec4 +< mediump_int > | mediump_ivec4 |
4 components vector of medium precision signed integer numbers. | |
typedef detail::tvec2 +< mediump_uint > | mediump_uvec2 |
2 components vector of medium precision unsigned integer numbers. | |
typedef detail::tvec3 +< mediump_uint > | mediump_uvec3 |
3 components vector of medium precision unsigned integer numbers. | |
typedef detail::tvec4 +< mediump_uint > | mediump_uvec4 |
4 components vector of medium precision unsigned integer numbers. | |
typedef detail::tvec2 +< mediump_float > | mediump_vec2 |
2 components vector of medium precision floating-point numbers. | |
typedef detail::tvec3 +< mediump_float > | mediump_vec3 |
3 components vector of medium precision floating-point numbers. | |
typedef detail::tvec4 +< mediump_float > | mediump_vec4 |
4 components vector of medium precision floating-point numbers. |
Vector types with precision qualifier.
+This namespace is included in glm namespace.
+typedef detail::tvec2<highp_int> highp_ivec2 | +
2 components vector of high precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 258 of file type_vec2.hpp.
+ +typedef detail::tvec3<highp_int> highp_ivec3 | +
3 components vector of high precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 257 of file type_vec3.hpp.
+ +typedef detail::tvec4<highp_int> highp_ivec4 | +
4 components vector of high precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 269 of file type_vec4.hpp.
+ +typedef detail::tvec2<highp_uint> highp_uvec2 | +
2 components vector of high precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 292 of file type_vec2.hpp.
+ +typedef detail::tvec3<highp_uint> highp_uvec3 | +
3 components vector of high precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 291 of file type_vec3.hpp.
+ +typedef detail::tvec4<highp_uint> highp_uvec4 | +
4 components vector of high precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 301 of file type_vec4.hpp.
+ +typedef detail::tvec2<highp_float> highp_vec2 | +
2 components vector of high precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 224 of file type_vec2.hpp.
+ +typedef detail::tvec3<highp_float> highp_vec3 | +
3 components vector of high precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 223 of file type_vec3.hpp.
+ +typedef detail::tvec4<highp_float> highp_vec4 | +
4 components vector of high precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 237 of file type_vec4.hpp.
+ +typedef detail::tvec2<lowp_int> lowp_ivec2 | +
2 components vector of low precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 266 of file type_vec2.hpp.
+ +typedef detail::tvec3<lowp_int> lowp_ivec3 | +
3 components vector of low precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 265 of file type_vec3.hpp.
+ +typedef detail::tvec4<lowp_int> lowp_ivec4 | +
4 components vector of low precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 277 of file type_vec4.hpp.
+ +typedef detail::tvec2<lowp_uint> lowp_uvec2 | +
2 components vector of low precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 300 of file type_vec2.hpp.
+ +typedef detail::tvec3<lowp_uint> lowp_uvec3 | +
3 components vector of low precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 299 of file type_vec3.hpp.
+ +typedef detail::tvec4<lowp_uint> lowp_uvec4 | +
4 components vector of low precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 309 of file type_vec4.hpp.
+ +typedef detail::tvec2<lowp_float> lowp_vec2 | +
2 components vector of low precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 232 of file type_vec2.hpp.
+ +typedef detail::tvec3<lowp_float> lowp_vec3 | +
3 components vector of low precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 231 of file type_vec3.hpp.
+ +typedef detail::tvec4<lowp_float> lowp_vec4 | +
4 components vector of low precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 245 of file type_vec4.hpp.
+ +typedef detail::tvec2<mediump_int> mediump_ivec2 | +
2 components vector of medium precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 262 of file type_vec2.hpp.
+ +typedef detail::tvec3<mediump_int> mediump_ivec3 | +
3 components vector of medium precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 261 of file type_vec3.hpp.
+ +typedef detail::tvec4<mediump_int> mediump_ivec4 | +
4 components vector of medium precision signed integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 273 of file type_vec4.hpp.
+ +typedef detail::tvec2<mediump_uint> mediump_uvec2 | +
2 components vector of medium precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 296 of file type_vec2.hpp.
+ +typedef detail::tvec3<mediump_uint> mediump_uvec3 | +
3 components vector of medium precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 295 of file type_vec3.hpp.
+ +typedef detail::tvec4<mediump_uint> mediump_uvec4 | +
4 components vector of medium precision unsigned integer numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ +Definition at line 305 of file type_vec4.hpp.
+ +typedef detail::tvec2<mediump_float> mediump_vec2 | +
2 components vector of medium precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 228 of file type_vec2.hpp.
+ +typedef detail::tvec3<mediump_float> mediump_vec3 | +
3 components vector of medium precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 227 of file type_vec3.hpp.
+ +typedef detail::tvec4<mediump_float> mediump_vec4 | +
4 components vector of medium precision floating-point numbers.
+There is no garanty on the actual precision. From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ +Definition at line 241 of file type_vec4.hpp.
+ +GLM stable extensions. +More...
+Namespaces | |
namespace | double_float |
GLM_GTC_double_float extension: Add support for double precision floating-point types. + | |
namespace | half_float |
GLM_GTC_half_float extension: Add support for half precision floating-point types. + | |
namespace | matrix_operation |
GLM_GTC_matrix_operation extension: Matrix operation functions. + | |
namespace | matrix_projection |
GLM_GTC_matrix_projection: Varius ways to build and operate on projection matrices. + | |
namespace | matrix_transform |
GLM_GTC_matrix_transform extension: Add transformation matrices. + | |
namespace | quaternion |
GLM_GTC_quaternion extension: Quaternion types and functions. + | |
namespace | type_precision |
GLM_GTC_type_precision extension: Defined types with specific size. + |
GLM stable extensions.
+GLM_GTC_double_float extension: Add support for double precision floating-point types. +More...
+Typedefs | |
typedef detail::tmat2x2< double > | dmat2 |
2 * 2 matrix of double-precision floating-point numbers. | |
typedef detail::tmat3x3< double > | dmat3 |
3 * 3 matrix of double-precision floating-point numbers. | |
typedef detail::tmat4x4< double > | dmat4 |
4 * 4 matrix of double-precision floating-point numbers. | |
typedef detail::tvec2< double > | dvec2 |
Vector of 2 double-precision floating-point numbers. | |
typedef detail::tvec3< double > | dvec3 |
Vector of 3 double-precision floating-point numbers. | |
typedef detail::tvec4< double > | dvec4 |
Vector of 4 double-precision floating-point numbers. | |
typedef detail::tmat2x2< float > | fmat2 |
2 * 2 matrix of single-precision floating-point numbers. | |
typedef detail::tmat3x3< float > | fmat3 |
3 * 3 matrix of single-precision floating-point numbers. | |
typedef detail::tmat4x4< float > | fmat4 |
4 * 4 matrix of single-precision floating-point numbers. | |
typedef detail::tvec2< float > | fvec2 |
Vector of 2 single-precision floating-point numbers. | |
typedef detail::tvec3< float > | fvec3 |
Vector of 3 single-precision floating-point numbers. | |
typedef detail::tvec4< float > | fvec4 |
Vector of 4 single-precision floating-point numbers. |
GLM_GTC_double_float extension: Add support for double precision floating-point types.
+typedef detail::tmat2x2<double> dmat2 | +
2 * 2 matrix of double-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 71 of file gtc/double_float.hpp.
+ +typedef detail::tmat3x3<double> dmat3 | +
3 * 3 matrix of double-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 75 of file gtc/double_float.hpp.
+ +typedef detail::tmat4x4<double> dmat4 | +
4 * 4 matrix of double-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 79 of file gtc/double_float.hpp.
+ +typedef detail::tvec2<double> dvec2 | +
Vector of 2 double-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 59 of file gtc/double_float.hpp.
+ +typedef detail::tvec3<double> dvec3 | +
Vector of 3 double-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 63 of file gtc/double_float.hpp.
+ +typedef detail::tvec4<double> dvec4 | +
Vector of 4 double-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 67 of file gtc/double_float.hpp.
+ +typedef detail::tmat2x2<float> fmat2 | +
2 * 2 matrix of single-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 47 of file gtc/double_float.hpp.
+ +typedef detail::tmat3x3<float> fmat3 | +
3 * 3 matrix of single-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 51 of file gtc/double_float.hpp.
+ +typedef detail::tmat4x4<float> fmat4 | +
4 * 4 matrix of single-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 55 of file gtc/double_float.hpp.
+ +typedef detail::tvec2<float> fvec2 | +
Vector of 2 single-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 35 of file gtc/double_float.hpp.
+ +typedef detail::tvec3<float> fvec3 | +
Vector of 3 single-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 39 of file gtc/double_float.hpp.
+ +typedef detail::tvec4<float> fvec4 | +
Vector of 4 single-precision floating-point numbers.
+From GLM_GTC_double_float extension.
+ +Definition at line 43 of file gtc/double_float.hpp.
+ +GLM_GTC_half_float extension: Add support for half precision floating-point types. +More...
+Typedefs | |
typedef detail::thalf | half |
Type for half-precision floating-point numbers. | |
typedef detail::tmat2x2 +< detail::thalf > | hmat2 |
2 * 2 matrix of half-precision floating-point numbers. | |
typedef detail::tmat3x3 +< detail::thalf > | hmat3 |
3 * 3 matrix of half-precision floating-point numbers. | |
typedef detail::tmat4x4 +< detail::thalf > | hmat4 |
4 * 4 matrix of half-precision floating-point numbers. | |
typedef detail::tvec2 +< detail::thalf > | hvec2 |
Vector of 2 half-precision floating-point numbers. | |
typedef detail::tvec3 +< detail::thalf > | hvec3 |
Vector of 3 half-precision floating-point numbers. | |
typedef detail::tvec4 +< detail::thalf > | hvec4 |
Vector of 4 half-precision floating-point numbers. |
GLM_GTC_half_float extension: Add support for half precision floating-point types.
+typedef detail::thalf half | +
Type for half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 370 of file gtc/half_float.hpp.
+ +typedef detail::tmat2x2<detail::thalf> hmat2 | +
2 * 2 matrix of half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 386 of file gtc/half_float.hpp.
+ +typedef detail::tmat3x3<detail::thalf> hmat3 | +
3 * 3 matrix of half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 390 of file gtc/half_float.hpp.
+ +typedef detail::tmat4x4<detail::thalf> hmat4 | +
4 * 4 matrix of half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 394 of file gtc/half_float.hpp.
+ +typedef detail::tvec2<detail::thalf> hvec2 | +
Vector of 2 half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 374 of file gtc/half_float.hpp.
+ +typedef detail::tvec3<detail::thalf> hvec3 | +
Vector of 3 half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 378 of file gtc/half_float.hpp.
+ +typedef detail::tvec4<detail::thalf> hvec4 | +
Vector of 4 half-precision floating-point numbers.
+From GLM_GTC_half_float extension.
+ +Definition at line 382 of file gtc/half_float.hpp.
+ +GLM_GTC_matrix_operation extension: Matrix operation functions. +More...
+GLM_GTC_matrix_operation extension: Matrix operation functions.
+GLM_GTC_matrix_projection: Varius ways to build and operate on projection matrices. +More...
+Functions | |
template<typename valType > | |
detail::tmat4x4< valType > | frustum (valType const &left, valType const &right, valType const &bottom, valType const &top, valType const &nearVal, valType const &farVal) |
Creates a frustum matrix. | |
template<typename valType > | |
detail::tmat4x4< valType > | ortho (valType const &left, valType const &right, valType const &bottom, valType const &top, valType const &zNear, valType const &zFar) |
Creates a matrix for an orthographic parallel viewing volume. | |
template<typename valType > | |
detail::tmat4x4< valType > | ortho (valType const &left, valType const &right, valType const &bottom, valType const &top) |
Creates a matrix for projecting two-dimensional coordinates onto the screen. | |
template<typename valType > | |
detail::tmat4x4< valType > | perspective (valType const &fovy, valType const &aspect, valType const &zNear, valType const &zFar) |
Creates a matrix for a symetric perspective-view frustum. | |
template<typename valTypeT , typename valTypeU > | |
detail::tvec3< valTypeT > | project (detail::tvec3< valTypeT > const &obj, detail::tmat4x4< valTypeT > const &model, detail::tmat4x4< valTypeT > const &proj, detail::tvec4< valTypeU > const &viewport) |
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. | |
template<typename valTypeT , typename valTypeU > | |
detail::tvec3< valTypeT > | unProject (detail::tvec3< valTypeT > const &win, detail::tmat4x4< valTypeT > const &model, detail::tmat4x4< valTypeT > const &proj, detail::tvec4< valTypeU > const &viewport) |
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. |
GLM_GTC_matrix_projection: Varius ways to build and operate on projection matrices.
+detail::tmat4x4<valType> glm::gtc::matrix_projection::frustum | +( | +valType const & | +left, | +|
+ | + | valType const & | +right, | +|
+ | + | valType const & | +bottom, | +|
+ | + | valType const & | +top, | +|
+ | + | valType const & | +nearVal, | +|
+ | + | valType const & | +farVal | + |
+ | ) | ++ |
Creates a frustum matrix.
+From GLM_GTC_matrix_projection extension.
+ +detail::tmat4x4<valType> glm::gtc::matrix_projection::ortho | +( | +valType const & | +left, | +|
+ | + | valType const & | +right, | +|
+ | + | valType const & | +bottom, | +|
+ | + | valType const & | +top, | +|
+ | + | valType const & | +zNear, | +|
+ | + | valType const & | +zFar | + |
+ | ) | ++ |
Creates a matrix for an orthographic parallel viewing volume.
+From GLM_GTC_matrix_projection extension.
+ +detail::tmat4x4<valType> glm::gtc::matrix_projection::ortho | +( | +valType const & | +left, | +|
+ | + | valType const & | +right, | +|
+ | + | valType const & | +bottom, | +|
+ | + | valType const & | +top | + |
+ | ) | ++ |
Creates a matrix for projecting two-dimensional coordinates onto the screen.
+From GLM_GTC_matrix_projection extension.
+ +detail::tmat4x4<valType> glm::gtc::matrix_projection::perspective | +( | +valType const & | +fovy, | +|
+ | + | valType const & | +aspect, | +|
+ | + | valType const & | +zNear, | +|
+ | + | valType const & | +zFar | + |
+ | ) | ++ |
Creates a matrix for a symetric perspective-view frustum.
+From GLM_GTC_matrix_projection extension.
+ +detail::tvec3<valTypeT> glm::gtc::matrix_projection::project | +( | +detail::tvec3< valTypeT > const & | +obj, | +|
+ | + | detail::tmat4x4< valTypeT > const & | +model, | +|
+ | + | detail::tmat4x4< valTypeT > const & | +proj, | +|
+ | + | detail::tvec4< valTypeU > const & | +viewport | + |
+ | ) | ++ |
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
+From GLM_GTC_matrix_projection extension.
+ +detail::tvec3<valTypeT> glm::gtc::matrix_projection::unProject | +( | +detail::tvec3< valTypeT > const & | +win, | +|
+ | + | detail::tmat4x4< valTypeT > const & | +model, | +|
+ | + | detail::tmat4x4< valTypeT > const & | +proj, | +|
+ | + | detail::tvec4< valTypeU > const & | +viewport | + |
+ | ) | ++ |
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
+From GLM_GTC_matrix_projection extension.
+ +GLM_GTC_matrix_transform extension: Add transformation matrices. +More...
+Functions | |
template<typename valType > | |
detail::tmat4x4< valType > | rotate (detail::tmat4x4< valType > const &m, valType const &angle, detail::tvec3< valType > const &v) |
Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees. | |
template<typename valType > | |
detail::tmat4x4< valType > | scale (detail::tmat4x4< valType > const &m, detail::tvec3< valType > const &v) |
Builds a scale 4 * 4 matrix created from 3 scalars. | |
template<typename valType > | |
detail::tmat4x4< valType > | translate (detail::tmat4x4< valType > const &m, detail::tvec3< valType > const &v) |
Builds a translation 4 * 4 matrix created from a vector of 3 components. |
GLM_GTC_matrix_transform extension: Add transformation matrices.
+detail::tmat4x4<valType> glm::gtc::matrix_transform::rotate | +( | +detail::tmat4x4< valType > const & | +m, | +|
+ | + | valType const & | +angle, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Builds a rotation 4 * 4 matrix created from an axis vector and an angle expressed in degrees.
+From GLM_GTC_matrix_transform extension.
+ +detail::tmat4x4<valType> glm::gtc::matrix_transform::scale | +( | +detail::tmat4x4< valType > const & | +m, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Builds a scale 4 * 4 matrix created from 3 scalars.
+From GLM_GTC_matrix_transform extension.
+ +detail::tmat4x4<valType> glm::gtc::matrix_transform::translate | +( | +detail::tmat4x4< valType > const & | +m, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Builds a translation 4 * 4 matrix created from a vector of 3 components.
+From GLM_GTC_matrix_transform extension.
+ +GLM_GTC_quaternion extension: Quaternion types and functions. +More...
+Typedefs | |
typedef detail::tquat< float > | quat |
Quaternion of floating-point numbers. | |
Functions | |
template<typename valType > | |
detail::tquat< valType > | conjugate (detail::tquat< valType > const &q) |
Returns the q conjugate. | |
template<typename valType > | |
detail::tquat< valType > | cross (detail::tquat< valType > const &q1, detail::tquat< valType > const &q2) |
Returns the cross product of q1 and q2. | |
template<typename valType > | |
valType | dot (detail::tquat< valType > const &q1, detail::tquat< valType > const &q2) |
Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + . | |
template<typename valType > | |
detail::tquat< valType > | inverse (detail::tquat< valType > const &q) |
Returns the q inverse. | |
template<typename valType > | |
valType | length (detail::tquat< valType > const &q) |
Returns the length of the quaternion x. | |
template<typename valType > | |
detail::tmat3x3< valType > | mat3_cast (detail::tquat< valType > const &x) |
Converts a quaternion to a 3 * 3 matrix. | |
template<typename valType > | |
detail::tmat4x4< valType > | mat4_cast (detail::tquat< valType > const &x) |
Converts a quaternion to a 4 * 4 matrix. | |
template<typename valType > | |
detail::tquat< valType > | mix (detail::tquat< valType > const &x, detail::tquat< valType > const &y, valType const &a) |
Returns a LERP interpolated quaternion of x and y according a. | |
template<typename valType > | |
detail::tquat< valType > | normalize (detail::tquat< valType > const &q) |
Returns the normalized quaternion of from x. | |
template<typename valType > | |
detail::tquat< valType > | quat_cast (detail::tmat4x4< valType > const &x) |
Converts a 4 * 4 matrix to a quaternion. | |
template<typename valType > | |
detail::tquat< valType > | quat_cast (detail::tmat3x3< valType > const &x) |
Converts a 3 * 3 matrix to a quaternion. | |
template<typename valType > | |
detail::tquat< valType > | rotate (detail::tquat< valType > const &q, valType const &angle, detail::tvec3< valType > const &v) |
Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees. |
GLM_GTC_quaternion extension: Quaternion types and functions.
+typedef detail::tquat<float> quat | +
Quaternion of floating-point numbers.
+From GLM_GTC_quaternion extension.
+ +Definition at line 185 of file gtc/quaternion.hpp.
+ +detail::tquat<valType> glm::gtc::quaternion::conjugate | +( | +detail::tquat< valType > const & | +q | +) | ++ |
Returns the q conjugate.
+From GLM_GTC_quaternion extension.
+ +detail::tquat<valType> glm::gtc::quaternion::cross | +( | +detail::tquat< valType > const & | +q1, | +|
+ | + | detail::tquat< valType > const & | +q2 | + |
+ | ) | ++ |
Returns the cross product of q1 and q2.
+From GLM_GTC_quaternion extension.
+ +valType glm::gtc::quaternion::dot | +( | +detail::tquat< valType > const & | +q1, | +|
+ | + | detail::tquat< valType > const & | +q2 | + |
+ | ) | ++ |
Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + .
+.. From GLM_GTC_quaternion extension.
+ +detail::tquat<valType> glm::gtc::quaternion::inverse | +( | +detail::tquat< valType > const & | +q | +) | ++ |
Returns the q inverse.
+From GLM_GTC_quaternion extension.
+ +valType glm::gtc::quaternion::length | +( | +detail::tquat< valType > const & | +q | +) | ++ |
Returns the length of the quaternion x.
+From GLM_GTC_quaternion extension.
+ +detail::tmat3x3<valType> glm::gtc::quaternion::mat3_cast | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Converts a quaternion to a 3 * 3 matrix.
+From GLM_GTC_quaternion extension.
+ +Referenced by glm::gtx::quaternion::toMat3().
+ +detail::tmat4x4<valType> glm::gtc::quaternion::mat4_cast | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Converts a quaternion to a 4 * 4 matrix.
+From GLM_GTC_quaternion extension.
+ +Referenced by glm::gtx::quaternion::toMat4().
+ +detail::tquat<valType> glm::gtc::quaternion::mix | +( | +detail::tquat< valType > const & | +x, | +|
+ | + | detail::tquat< valType > const & | +y, | +|
+ | + | valType const & | +a | + |
+ | ) | ++ |
Returns a LERP interpolated quaternion of x and y according a.
+From GLM_GTC_quaternion extension.
+ +detail::tquat<valType> glm::gtc::quaternion::normalize | +( | +detail::tquat< valType > const & | +q | +) | ++ |
Returns the normalized quaternion of from x.
+From GLM_GTC_quaternion extension.
+ +detail::tquat<valType> glm::gtc::quaternion::quat_cast | +( | +detail::tmat4x4< valType > const & | +x | +) | ++ |
Converts a 4 * 4 matrix to a quaternion.
+From GLM_GTC_quaternion extension.
+ +detail::tquat<valType> glm::gtc::quaternion::quat_cast | +( | +detail::tmat3x3< valType > const & | +x | +) | ++ |
Converts a 3 * 3 matrix to a quaternion.
+From GLM_GTC_quaternion extension.
+ +Referenced by glm::gtx::quaternion::toQuat().
+ +detail::tquat<valType> glm::gtc::quaternion::rotate | +( | +detail::tquat< valType > const & | +q, | +|
+ | + | valType const & | +angle, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Rotates a quaternion from an vector of 3 components axis and an angle expressed in degrees.
+From GLM_GTC_quaternion extension.
+ +GLM_GTC_type_precision extension: Defined types with specific size. +More...
+Typedefs | |
+typedef float16 | f16 |
Half-precision floating-point scalar. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x2< f16 > | f16mat2 |
Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x2< f16 > | f16mat2x2 |
Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x3< f16 > | f16mat2x3 |
Half-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x4< f16 > | f16mat2x4 |
Half-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x3< f16 > | f16mat3 |
Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x2< f16 > | f16mat3x2 |
Half-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x3< f16 > | f16mat3x3 |
Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x4< f16 > | f16mat3x4 |
Half-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x4< f16 > | f16mat4 |
Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x2< f16 > | f16mat4x2 |
Half-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x3< f16 > | f16mat4x3 |
Half-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x4< f16 > | f16mat4x4 |
Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tquat< f16 > | f16quat |
Half-precision floating-point quaternion. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec2< f16 > | f16vec2 |
Half-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec3< f16 > | f16vec3 |
Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec4< f16 > | f16vec4 |
Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension). | |
+typedef float32 | f32 |
Single-precision floating-point scalar. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x2< f32 > | f32mat2 |
Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x2< f32 > | f32mat2x2 |
Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x3< f32 > | f32mat2x3 |
Single-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x4< f32 > | f32mat2x4 |
Single-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x3< f32 > | f32mat3 |
Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x2< f32 > | f32mat3x2 |
Single-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x3< f32 > | f32mat3x3 |
Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x4< f32 > | f32mat3x4 |
Single-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x4< f32 > | f32mat4 |
Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x2< f32 > | f32mat4x2 |
Single-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x3< f32 > | f32mat4x3 |
Single-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x4< f32 > | f32mat4x4 |
Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tquat< f32 > | f32quat |
Single-precision floating-point quaternion. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec2< f32 > | f32vec2 |
Single-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec3< f32 > | f32vec3 |
Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec4< f32 > | f32vec4 |
Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension). | |
+typedef float64 | f64 |
Double-precision floating-point scalar. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x2< f64 > | f64mat2 |
Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x2< f64 > | f64mat2x2 |
Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x3< f64 > | f64mat2x3 |
Double-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat2x4< f64 > | f64mat2x4 |
Double-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x3< f64 > | f64mat3 |
Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x2< f64 > | f64mat3x2 |
Double-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x3< f64 > | f64mat3x3 |
Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat3x4< f64 > | f64mat3x4 |
Double-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x4< f64 > | f64mat4 |
Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x2< f64 > | f64mat4x2 |
Double-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x3< f64 > | f64mat4x3 |
Double-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tmat4x4< f64 > | f64mat4x4 |
Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension). | |
+typedef detail::tquat< f64 > | f64quat |
Double-precision floating-point quaternion. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec2< f64 > | f64vec2 |
Double-precision floating-point vector of 2 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec3< f64 > | f64vec3 |
Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::tvec4< f64 > | f64vec4 |
Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision extension). | |
+typedef detail::float16 | float16 |
Half-precision floating-point scalar. (from GLM_GTC_type_precision extension). | |
+typedef detail::float32 | float32 |
Single-precision floating-point scalar. (from GLM_GTC_type_precision extension). | |
+typedef detail::float64 | float64 |
Double-precision floating-point scalar. (from GLM_GTC_type_precision extension). | |
+typedef int16 | i16 |
16bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< i16 > | i16vec2 |
16bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< i16 > | i16vec3 |
16bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< i16 > | i16vec4 |
16bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef int32 | i32 |
32bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< i32 > | i32vec2 |
32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< i32 > | i32vec3 |
32bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< i32 > | i32vec4 |
32bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef int64 | i64 |
64bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< i64 > | i64vec2 |
64bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< i64 > | i64vec3 |
64bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< i64 > | i64vec4 |
64bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef int8 | i8 |
8bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< i8 > | i8vec2 |
8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< i8 > | i8vec3 |
8bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< i8 > | i8vec4 |
8bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::int16 | int16 |
16bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::int32 | int32 |
32bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::int64 | int64 |
64bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::int8 | int8 |
8bit signed integer. (from GLM_GTC_type_precision extension) | |
+typedef uint16 | u16 |
16bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< u16 > | u16vec2 |
16bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< u16 > | u16vec3 |
16bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< u16 > | u16vec4 |
16bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef uint32 | u32 |
32bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< u32 > | u32vec2 |
32bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< u32 > | u32vec3 |
32bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< u32 > | u32vec4 |
32bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef uint64 | u64 |
64bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< u64 > | u64vec2 |
64bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< u64 > | u64vec3 |
64bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< u64 > | u64vec4 |
64bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef uint8 | u8 |
8bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec2< u8 > | u8vec2 |
8bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec3< u8 > | u8vec3 |
8bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::tvec4< u8 > | u8vec4 |
8bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension) | |
+typedef detail::uint16 | uint16 |
16bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::uint32 | uint32 |
32bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::uint64 | uint64 |
64bit unsigned integer. (from GLM_GTC_type_precision extension) | |
+typedef detail::uint8 | uint8 |
8bit unsigned integer. (from GLM_GTC_type_precision extension) |
GLM_GTC_type_precision extension: Defined types with specific size.
+GLM experimental extensions. The interface could change between releases. +More...
+Namespaces | |
namespace | associated_min_max |
GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces. + | |
namespace | bit |
GLM_GTX_bit extension: Allow to perform bit operations on integer values. + | |
namespace | closest_point |
GLM_GTX_closest_point extension: Find the point on a straight line which is the closet of a point. + | |
namespace | color_cast |
GLM_GTX_color_cast extension: Conversion between two color types. + | |
namespace | color_space |
GLM_GTX_color_space extension: Related to RGB to HSV conversions and operations. + | |
namespace | color_space_YCoCg |
GLM_GTX_color_space_YCoCg extension: RGB to YCoCg conversions and operations. + | |
namespace | comparison |
GLM_GTX_comparison extension: Defined comparison operators for vectors. + | |
namespace | compatibility |
GLM_GTX_compatibility extension: Provide functions to increase the compatibility with Cg and HLSL languages. + | |
namespace | component_wise |
GLM_GTX_component_wise extension: Operations between components of a type. + | |
namespace | determinant |
GLM_GTX_determinant extension: Compute the determinant of a matrix. + | |
namespace | double_float |
GLM_GTX_double_float extension: Add support for double precision flotting-point types. + | |
namespace | epsilon |
GLM_GTX_epsilon extension: Comparaison functions for a user defined epsilon values. + | |
namespace | euler_angles |
GLM_GTX_euler_angles extension: Build matrices from euler angles. + | |
namespace | extend |
GLM_GTX_extend extension: Extend a position from a source to a position at a defined length. + | |
namespace | extented_min_max |
GLM_GTX_extented_min_max extension: Min and max functions for 3 to 4 parameters. + | |
namespace | fast_exponential |
GLM_GTX_fast_exponential extension: Fast but less accurate implementations of exponential based functions. + | |
namespace | fast_square_root |
GLM_GTX_fast_square_root extension: Fast but less accurate implementations of square root based functions. + | |
namespace | fast_trigonometry |
GLM_GTX_fast_trigonometry extension: Fast but less accurate implementations of trigonometric functions. + | |
namespace | gradient_paint |
GLM_GTX_gradient_paint extension: Compute a radient gradient according section OpenVG 1.1 specifications, 9.3.2 Radial Gradients. + | |
namespace | half_float |
GLM_GTX_half_float extension: Add support for half precision flotting-point types. + | |
namespace | handed_coordinate_space |
GLM_GTX_handed_coordinate_space extension: To know if a triedron is right or left handed. + | |
namespace | inertia |
GLM_GTX_inertia extension: Create inertia matrices. + | |
namespace | integer |
GLM_GTX_integer extension: Add support for integer for core functions. + | |
namespace | intersect |
GLM_GTX_intersect extension: Add intersection functions. + | |
namespace | inverse |
GLM_GTX_inverse extension: Inverse matrix functions. + | |
namespace | inverse_transpose |
GLM_GTX_inverse_transpose extension: Inverse transpose matrix functions. + | |
namespace | log_base |
GLM_GTX_log_base extension: Logarithm for any base. base can be a vector or a scalar. + | |
namespace | matrix_access |
GLM_GTX_matrix_access extension: Set a column or a row of a matrix. + | |
namespace | matrix_cross_product |
GLM_GTX_matrix_cross_product: Build cross product matrices. + | |
namespace | matrix_major_storage |
GLM_GTX_matrix_cross_product: Build matrices with specific matrix order, row or column. + | |
namespace | matrix_operation |
GLM_GTX_matrix_operation: Build cross product matrices. + | |
namespace | matrix_projection |
GLM_GTX_matrix_projection: Varius ways to build and operate on projection matrices. + | |
namespace | matrix_query |
GLM_GTX_matrix_query: Query to evaluate matrices properties. + | |
namespace | matrix_selection |
GLM_GTX_matrix_selection extension: Access to matrix columns or rows. + | |
namespace | matx |
GLM_GTX_matx extension: - Work in progress - NxN matrix types. + | |
namespace | mixed_product |
GLM_GTX_mixed_product extension: Mixed product of 3 vectors. + | |
namespace | norm |
GLM_GTX_norm extension: Varius way to compute vector norms. + | |
namespace | normal |
GLM_GTX_normal extension: Compute the normal of a triangle. + | |
namespace | normalize_dot |
GLM_GTX_normalize_dot extension: Dot product of vectors that need to be normalize with a single square root. + | |
namespace | number_precision |
GLM_GTX_number_precision extension: Defined size types. + | |
namespace | ocl_type |
GLM_GTX_ocl_type extension: OpenCL types. + | |
namespace | optimum_pow |
GLM_GTX_optimum_pow extension: Integer exponenciation of power functions. + | |
namespace | orthonormalize |
GLM_GTX_orthonormalize extension: Orthonormalize matrices. + | |
namespace | perpendicular |
GLM_GTX_perpendicular extension: Perpendicular of a vector from other one. + | |
namespace | polar_coordinates |
GLM_GTX_polar_coordinates extension: Conversion from Euclidean space to polar space and revert. + | |
namespace | projection |
GLM_GTX_projection extension: Projection of a vector to other one. + | |
namespace | quaternion |
GLM_GTX_quaternion extension: Quaternion types and functions. + | |
namespace | random |
GLM_GTX_random extension: Generate random number from varius distribution methods. + | |
namespace | raw_data |
GLM_GTX_raw_data extension: Projection of a vector to other one. + | |
namespace | reciprocal |
GLM_GTX_reciprocal extension: Define secant, cosecant and cotangent functions. + | |
namespace | rotate_vector |
GLM_GTX_rotate_vector extension: Function to directly rotate a vector. + | |
namespace | simd_mat4 |
GLM_GTX_simd_mat4 extension: SIMD implementation of vec4 type. + | |
namespace | simd_vec4 |
GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type. + | |
namespace | spline |
GLM_GTX_spline extension: Spline functions. + | |
namespace | statistics_operation |
GLM_GTX_statistics_operation extension: - Work in progress - Statistics functions. + | |
namespace | std_based_type |
GLM_GTX_std_based_type extension: Add support vector types based on C++ standard type. + | |
namespace | string_cast |
GLM_GTX_string_cast extension: Setup strings for GLM type values. + | |
namespace | transform |
GLM_GTX_transform extension: Add transformation matrices. + | |
namespace | transform2 |
GLM_GTX_transform2 extension: Add extra transformation matrices. + | |
namespace | type_ptr |
GLM_GTX_type_ptr extension: Get access to vectors & matrices value type address. + | |
namespace | unsigned_int |
GLM_GTX_unsigned_int extension: Add support for unsigned integer for core functions. + | |
namespace | vector_access |
GLM_GTX_vector_access extension: Function to set values to vectors. + | |
namespace | vector_angle |
GLM_GTX_vector_angle extension: Compute angle between vectors. + | |
namespace | vector_query |
GLM_GTX_vector_query extension: Query informations of vector types. + | |
namespace | vecx |
GLM_GTX_vecx extension: - Work in progress - Add custom size vectors. + | |
namespace | verbose_operator |
GLM_GTX_verbose_operator extension: Use words to replace operators. + |
GLM experimental extensions. The interface could change between releases.
+GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces. +More...
+Functions | |
+template<typename genTypeT , typename genTypeU > | |
genTypeU | associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d) |
Max comparison between 4 variables. | |
+template<typename genTypeT , typename genTypeU > | |
genTypeU | associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c) |
Max comparison between 3 variables. | |
+template<typename genTypeT , typename genTypeU > | |
genTypeU | associatedMax (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b) |
Max comparison between 2 variables. | |
+template<typename genTypeT , typename genTypeU > | |
genTypeU | associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c, const genTypeT &w, const genTypeU &d) |
Min comparison between 4 variables. | |
+template<typename genTypeT , typename genTypeU > | |
genTypeU | associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b, const genTypeT &z, const genTypeU &c) |
Min comparison between 3 variables. | |
+template<typename genTypeT , typename genTypeU > | |
genTypeU | associatedMin (const genTypeT &x, const genTypeU &a, const genTypeT &y, const genTypeU &b) |
Min comparison between 2 variables. |
GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces.
+GLM_GTX_bit extension: Allow to perform bit operations on integer values. +More...
+Functions | |
template<typename genType > | |
genType | bitRevert (genType const &value) |
Revert all bits of any integer based type. | |
template<typename genType > | |
genType | bitRotateLeft (genType const &In, std::size_t Shift) |
Rotate all bits to the left. | |
template<typename genType > | |
genType | bitRotateRight (genType const &In, std::size_t Shift) |
Rotate all bits to the right. | |
template<typename genType , typename genIType > | |
genIType | extractField (genType const &v, genIType const &first, genIType const &count) |
Component wise extraction of bit fields. | |
template<typename genType > | |
int | highestBit (genType const &value) |
Find the highest bit set to 1 in a integer variable. | |
template<typename genType > | |
genType | highestBitValue (genType const &value) |
Find the highest bit set to 1 in a integer variable and return its value. | |
template<typename genType > | |
bool | isPowerOfTwo (genType const &value) |
Return true if the value is a power of two number. | |
template<typename genType > | |
int | lowestBit (genType const &value) |
Find the lowest bit set to 1 in a integer variable. | |
template<typename genIType > | |
genIType | mask (genIType const &count) |
Build a mask of 'count' bits From GLM_GTX_bit extension. | |
template<typename genType > | |
genType | powerOfTwoAbove (genType const &value) |
Return the power of two number which value is just higher the input value. | |
template<typename genType > | |
genType | powerOfTwoBelow (genType const &value) |
Return the power of two number which value is just lower the input value. | |
template<typename genType > | |
genType | powerOfTwoNearest (genType const &value) |
Return the power of two number which value is the closet to the input value. |
GLM_GTX_bit extension: Allow to perform bit operations on integer values.
+genType glm::gtx::bit::bitRevert | +( | +genType const & | +value | +) | ++ |
Revert all bits of any integer based type.
+From GLM_GTX_bit extension.
+ +genType glm::gtx::bit::bitRotateLeft | +( | +genType const & | +In, | +|
+ | + | std::size_t | +Shift | + |
+ | ) | ++ |
Rotate all bits to the left.
+From GLM_GTX_bit extension.
+ +genType glm::gtx::bit::bitRotateRight | +( | +genType const & | +In, | +|
+ | + | std::size_t | +Shift | + |
+ | ) | ++ |
Rotate all bits to the right.
+From GLM_GTX_bit extension.
+ +genIType glm::gtx::bit::extractField | +( | +genType const & | +v, | +|
+ | + | genIType const & | +first, | +|
+ | + | genIType const & | +count | + |
+ | ) | ++ |
Component wise extraction of bit fields.
+genType and genIType could be a scalar or a vector. From GLM_GTX_bit extension.
+ +int glm::gtx::bit::highestBit | +( | +genType const & | +value | +) | ++ |
genType glm::gtx::bit::highestBitValue | +( | +genType const & | +value | +) | ++ |
bool glm::gtx::bit::isPowerOfTwo | +( | +genType const & | +value | +) | ++ |
Return true if the value is a power of two number.
+From GLM_GTX_bit extension.
+ +int glm::gtx::bit::lowestBit | +( | +genType const & | +value | +) | ++ |
genIType glm::gtx::bit::mask | +( | +genIType const & | +count | +) | ++ |
Build a mask of 'count' bits From GLM_GTX_bit extension.
+ +genType glm::gtx::bit::powerOfTwoAbove | +( | +genType const & | +value | +) | ++ |
Return the power of two number which value is just higher the input value.
+From GLM_GTX_bit extension.
+ +genType glm::gtx::bit::powerOfTwoBelow | +( | +genType const & | +value | +) | ++ |
Return the power of two number which value is just lower the input value.
+From GLM_GTX_bit extension.
+ +genType glm::gtx::bit::powerOfTwoNearest | +( | +genType const & | +value | +) | ++ |
Return the power of two number which value is the closet to the input value.
+From GLM_GTX_bit extension.
+ +GLM_GTX_closest_point extension: Find the point on a straight line which is the closet of a point. +More...
+Functions | |
template<typename T > | |
detail::tvec3< T > | closestPointOnLine (detail::tvec3< T > const &point, detail::tvec3< T > const &a, detail::tvec3< T > const &b) |
Find the point on a straight line which is the closet of a point. |
GLM_GTX_closest_point extension: Find the point on a straight line which is the closet of a point.
+detail::tvec3<T> glm::gtx::closest_point::closestPointOnLine | +( | +detail::tvec3< T > const & | +point, | +|
+ | + | detail::tvec3< T > const & | +a, | +|
+ | + | detail::tvec3< T > const & | +b | + |
+ | ) | ++ |
Find the point on a straight line which is the closet of a point.
+From GLM_GTX_closest_point extension.
+ +GLM_GTX_color_cast extension: Conversion between two color types. +More...
+Functions | |
+template<typename T > | |
gtc::type_precision::f16vec4 | f16_abgr_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec4 | f16_argb_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec4 | f16_bgra_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec3 | f16_bgrx_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtx::number_precision::f16vec1 | f16_channel_cast (T a) |
Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec4 | f16_rgba_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec3 | f16_rgbx_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec3 | f16_xbgr_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f16vec3 | f16_xrgb_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec4 | f32_abgr_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec4 | f32_argb_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec4 | f32_bgra_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec3 | f32_bgrx_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtx::number_precision::f32vec1 | f32_channel_cast (T a) |
Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec4 | f32_rgba_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec3 | f32_rgbx_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec3 | f32_xbgr_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f32vec3 | f32_xrgb_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec4 | f64_abgr_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec4 | f64_argb_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec4 | f64_bgra_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec3 | f64_bgrx_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtx::number_precision::f64vec1 | f64_channel_cast (T a) |
Conversion of a u8 or u16 value to a single channel floating value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec4 | f64_rgba_cast (T c) |
Conversion of a u32 or u64 color into 4 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec3 | f64_rgbx_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec3 | f64_xbgr_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::f64vec3 | f64_xrgb_cast (T c) |
Conversion of a u32 or u64 color into 3 components floating color. (From GLM_GTX_color_cast extension). | |
template<typename valType > | |
gtc::type_precision::uint16 | u16channel_cast (valType a) |
Conversion of a floating value into a 16bit unsigned int value. | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_abgr_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_argb_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_bgra_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_bgrx_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_rgba_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_rgbx_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_xbgr_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint32 | u32_xrgb_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 32bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_abgr_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_argb_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_bgra_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_bgrx_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_rgba_cast (const detail::tvec4< T > &c) |
Conversion of a 4 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_rgbx_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_xbgr_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
+template<typename T > | |
gtc::type_precision::uint64 | u64_xrgb_cast (const detail::tvec3< T > &c) |
Conversion of a 3 components color into an 64bit unsigned int value. (From GLM_GTX_color_cast extension). | |
template<typename valType > | |
gtc::type_precision::uint8 | u8channel_cast (valType a) |
Conversion of a floating value into a 8bit unsigned int value. |
GLM_GTX_color_cast extension: Conversion between two color types.
+gtc::type_precision::uint16 glm::gtx::color_cast::u16channel_cast | +( | +valType | +a | +) | ++ |
Conversion of a floating value into a 16bit unsigned int value.
+From GLM_GTX_color_cast extension.
+ +gtc::type_precision::uint8 glm::gtx::color_cast::u8channel_cast | +( | +valType | +a | +) | ++ |
Conversion of a floating value into a 8bit unsigned int value.
+From GLM_GTX_color_cast extension.
+ +GLM_GTX_color_space extension: Related to RGB to HSV conversions and operations. +More...
+Functions | |
template<typename valType > | |
detail::tvec3< valType > | hsvColor (detail::tvec3< valType > const &rgbValue) |
Converts a color from RGB color space to its color in HSV color space. | |
template<typename valType > | |
valType | luminosity (detail::tvec3< valType > const &color) |
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. | |
template<typename valType > | |
detail::tvec3< valType > | rgbColor (detail::tvec3< valType > const &hsvValue) |
Converts a color from HSV color space to its color in RGB color space. | |
template<typename valType > | |
detail::tvec4< valType > | saturation (valType const s, detail::tvec4< valType > const &color) |
Modify the saturation of a color. | |
template<typename valType > | |
detail::tvec3< valType > | saturation (valType const s, detail::tvec3< valType > const &color) |
Modify the saturation of a color. | |
template<typename valType > | |
detail::tmat4x4< valType > | saturation (valType const s) |
Build a saturation matrix. |
GLM_GTX_color_space extension: Related to RGB to HSV conversions and operations.
+detail::tvec3<valType> glm::gtx::color_space::hsvColor | +( | +detail::tvec3< valType > const & | +rgbValue | +) | ++ |
Converts a color from RGB color space to its color in HSV color space.
+From GLM_GTX_color_space extension.
+ +valType glm::gtx::color_space::luminosity | +( | +detail::tvec3< valType > const & | +color | +) | ++ |
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
+From GLM_GTX_color_space extension.
+ +detail::tvec3<valType> glm::gtx::color_space::rgbColor | +( | +detail::tvec3< valType > const & | +hsvValue | +) | ++ |
Converts a color from HSV color space to its color in RGB color space.
+From GLM_GTX_color_space extension.
+ +detail::tvec4<valType> glm::gtx::color_space::saturation | +( | +valType const | +s, | +|
+ | + | detail::tvec4< valType > const & | +color | + |
+ | ) | ++ |
Modify the saturation of a color.
+From GLM_GTX_color_space extension.
+ +detail::tvec3<valType> glm::gtx::color_space::saturation | +( | +valType const | +s, | +|
+ | + | detail::tvec3< valType > const & | +color | + |
+ | ) | ++ |
Modify the saturation of a color.
+From GLM_GTX_color_space extension.
+ +detail::tmat4x4<valType> glm::gtx::color_space::saturation | +( | +valType const | +s | +) | ++ |
Build a saturation matrix.
+From GLM_GTX_color_space extension
+ +GLM_GTX_color_space_YCoCg extension: RGB to YCoCg conversions and operations. +More...
+Functions | |
template<typename valType > | |
detail::tvec3< valType > | rgb2YCoCg (detail::tvec3< valType > const &rgbColor) |
Convert a color from RGB color space to YCoCg color space. | |
template<typename valType > | |
detail::tvec3< valType > | rgb2YCoCgR (detail::tvec3< valType > const &rgbColor) |
Convert a color from RGB color space to YCoCgR color space. | |
template<typename valType > | |
detail::tvec3< valType > | YCoCg2rgb (detail::tvec3< valType > const &YCoCgColor) |
Convert a color from YCoCg color space to RGB color space. | |
template<typename valType > | |
detail::tvec3< valType > | YCoCgR2rgb (detail::tvec3< valType > const &YCoCgColor) |
Convert a color from YCoCgR color space to RGB color space. |
GLM_GTX_color_space_YCoCg extension: RGB to YCoCg conversions and operations.
+detail::tvec3<valType> glm::gtx::color_space_YCoCg::rgb2YCoCg | +( | +detail::tvec3< valType > const & | +rgbColor | +) | ++ |
Convert a color from RGB color space to YCoCg color space.
+From GLM_GTX_color_space_YCoCg extension.
+ +detail::tvec3<valType> glm::gtx::color_space_YCoCg::rgb2YCoCgR | +( | +detail::tvec3< valType > const & | +rgbColor | +) | ++ |
Convert a color from RGB color space to YCoCgR color space.
+detail::tvec3<valType> glm::gtx::color_space_YCoCg::YCoCg2rgb | +( | +detail::tvec3< valType > const & | +YCoCgColor | +) | ++ |
Convert a color from YCoCg color space to RGB color space.
+From GLM_GTX_color_space_YCoCg extension.
+ +detail::tvec3<valType> glm::gtx::color_space_YCoCg::YCoCgR2rgb | +( | +detail::tvec3< valType > const & | +YCoCgColor | +) | ++ |
Convert a color from YCoCgR color space to RGB color space.
+GLM_GTX_comparison extension: Defined comparison operators for vectors. +More...
+Functions | |
template<typename vecType > | |
bool | operator!= (vecType const &x, vecType const &y) |
Define != operator for vectors From GLM_GTX_comparison extension. | |
template<typename vecType > | |
bool | operator== (vecType const &x, vecType const &y) |
Define == operator for vectors From GLM_GTX_comparison extension. |
GLM_GTX_comparison extension: Defined comparison operators for vectors.
+bool glm::gtx::comparison::operator!= | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Define != operator for vectors From GLM_GTX_comparison extension.
+ +bool glm::gtx::comparison::operator== | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Define == operator for vectors From GLM_GTX_comparison extension.
+ +GLM_GTX_compatibility extension: Provide functions to increase the compatibility with Cg and HLSL languages. +More...
+Typedefs | |
+typedef bool | bool1 |
boolean type with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef bool | bool1x1 |
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec2< bool > | bool2 |
boolean type with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x2< bool > | bool2x2 |
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x3< bool > | bool2x3 |
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x4< bool > | bool2x4 |
boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec3< bool > | bool3 |
boolean type with 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x2< bool > | bool3x2 |
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x3< bool > | bool3x3 |
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x4< bool > | bool3x4 |
boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec4< bool > | bool4 |
boolean type with 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x2< bool > | bool4x2 |
boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x3< bool > | bool4x3 |
boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x4< bool > | bool4x4 |
boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef double | double1 |
double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef double | double1x1 |
double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec2< double > | double2 |
double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x2< double > | double2x2 |
double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x3< double > | double2x3 |
double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x4< double > | double2x4 |
double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec3< double > | double3 |
double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x2< double > | double3x2 |
double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x3< double > | double3x3 |
double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x4< double > | double3x4 |
double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec4< double > | double4 |
double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x2< double > | double4x2 |
double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x3< double > | double4x3 |
double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x4< double > | double4x4 |
double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef float | float1 |
single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef float | float1x1 |
single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec2< float > | float2 |
single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x2< float > | float2x2 |
single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x3< float > | float2x3 |
single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x4< float > | float2x4 |
single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec3< float > | float3 |
single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x2< float > | float3x2 |
single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x3< float > | float3x3 |
single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x4< float > | float3x4 |
single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec4< float > | float4 |
single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x2< float > | float4x2 |
single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x3< float > | float4x3 |
single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x4< float > | float4x4 |
single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef gtc::half_float::half | half1 |
half-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef gtc::half_float::half | half1x1 |
half-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec2 +< gtc::half_float::half > | half2 |
half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x2 +< gtc::half_float::half > | half2x2 |
half-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x3 +< gtc::half_float::half > | half2x3 |
half-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x4 +< gtc::half_float::half > | half2x4 |
half-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec3 +< gtc::half_float::half > | half3 |
half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x2 +< gtc::half_float::half > | half3x2 |
half-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x3 +< gtc::half_float::half > | half3x3 |
half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x4 +< gtc::half_float::half > | half3x4 |
half-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec4 +< gtc::half_float::half > | half4 |
half-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x2 +< gtc::half_float::half > | half4x2 |
half-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x3 +< gtc::half_float::half > | half4x3 |
half-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x4 +< gtc::half_float::half > | half4x4 |
half-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef int | int1 |
integer vector with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef int | int1x1 |
integer matrix with 1 component. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec2< int > | int2 |
integer vector with 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x2< int > | int2x2 |
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x3< int > | int2x3 |
integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat2x4< int > | int2x4 |
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec3< int > | int3 |
integer vector with 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x2< int > | int3x2 |
integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x3< int > | int3x3 |
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat3x4< int > | int3x4 |
integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tvec4< int > | int4 |
integer vector with 4 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x2< int > | int4x2 |
integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x3< int > | int4x3 |
integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) | |
+typedef detail::tmat4x4< int > | int4x4 |
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) | |
Functions | |
+template<typename T > | |
detail::tvec4< T > | atan2 (const detail::tvec4< T > &x, const detail::tvec4< T > &y) |
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec3< T > | atan2 (const detail::tvec3< T > &x, const detail::tvec3< T > &y) |
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec2< T > | atan2 (const detail::tvec2< T > &x, const detail::tvec2< T > &y) |
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility). | |
+template<typename T > | |
T | atan2 (T x, T y) |
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility). | |
+template<typename valType > | |
detail::tvec4< bool > | isfinite (const detail::tvec4< valType > &x) |
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility). | |
+template<typename valType > | |
detail::tvec3< bool > | isfinite (const detail::tvec3< valType > &x) |
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility). | |
+template<typename valType > | |
detail::tvec2< bool > | isfinite (const detail::tvec2< valType > &x) |
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility). | |
+template<typename genType > | |
bool | isfinite (genType const &x) |
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility). | |
+template<typename genType > | |
detail::tvec4< bool > | isinf (const detail::tvec4< genType > &x) |
Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
detail::tvec3< bool > | isinf (const detail::tvec3< genType > &x) |
Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
detail::tvec2< bool > | isinf (const detail::tvec2< genType > &x) |
Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
bool | isinf (genType const &x) |
Determines whether the given floating-point value is infinite. (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
detail::tvec4< bool > | isnan (const detail::tvec4< genType > &x) |
Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
detail::tvec3< bool > | isnan (const detail::tvec3< genType > &x) |
Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
detail::tvec2< bool > | isnan (const detail::tvec2< genType > &x) |
Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension). | |
+template<typename genType > | |
bool | isnan (genType const &x) |
Checks given floating-point value for not a number (NAN) (From GLM_GTX_compatibility extension). | |
+template<typename T > | |
detail::tvec4< T > | lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &a) |
Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec3< T > | lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &a) |
Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec2< T > | lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &a) |
Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec4< T > | lerp (const detail::tvec4< T > &x, const detail::tvec4< T > &y, T a) |
Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec3< T > | lerp (const detail::tvec3< T > &x, const detail::tvec3< T > &y, T a) |
Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec2< T > | lerp (const detail::tvec2< T > &x, const detail::tvec2< T > &y, T a) |
Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
T | lerp (T x, T y, T a) |
Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec4< T > | saturate (const detail::tvec4< T > &x) |
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec3< T > | saturate (const detail::tvec3< T > &x) |
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility). | |
+template<typename T > | |
detail::tvec2< T > | saturate (const detail::tvec2< T > &x) |
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility). | |
+template<typename T > | |
T | saturate (T x) |
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility). |
GLM_GTX_compatibility extension: Provide functions to increase the compatibility with Cg and HLSL languages.
+GLM_GTX_component_wise extension: Operations between components of a type. +More...
+Functions | |
template<typename genType > | |
genType::value_type | compAdd (genType const &v) |
Add all vector components together. | |
template<typename genType > | |
genType::value_type | compMax (genType const &v) |
Find the maximum value between single vector components. | |
template<typename genType > | |
genType::value_type | compMin (genType const &v) |
Find the minimum value between single vector components. | |
template<typename genType > | |
genType::value_type | compMul (genType const &v) |
Multiply all vector components together. |
GLM_GTX_component_wise extension: Operations between components of a type.
+genType::value_type glm::gtx::component_wise::compAdd | +( | +genType const & | +v | +) | ++ |
Add all vector components together.
+From GLM_GTX_component_wise extension.
+ +genType::value_type glm::gtx::component_wise::compMax | +( | +genType const & | +v | +) | ++ |
Find the maximum value between single vector components.
+From GLM_GTX_component_wise extension.
+ +genType::value_type glm::gtx::component_wise::compMin | +( | +genType const & | +v | +) | ++ |
Find the minimum value between single vector components.
+From GLM_GTX_component_wise extension.
+ +genType::value_type glm::gtx::component_wise::compMul | +( | +genType const & | +v | +) | ++ |
Multiply all vector components together.
+From GLM_GTX_component_wise extension.
+ +GLM_GTX_determinant extension: Compute the determinant of a matrix. +More...
+GLM_GTX_determinant extension: Compute the determinant of a matrix.
+GLM_GTX_double_float extension: Add support for double precision flotting-point types. +More...
+Typedefs | |
typedef detail::tquat< double > | dquat |
Quaternion of double-precision floating-point numbers. | |
typedef detail::tquat< float > | fquat |
Quaternion of single-precision floating-point numbers. |
GLM_GTX_double_float extension: Add support for double precision flotting-point types.
+typedef detail::tquat<double> dquat | +
Quaternion of double-precision floating-point numbers.
+From GLM_GTX_double extension.
+ +Definition at line 43 of file gtx/double_float.hpp.
+ +typedef detail::tquat<float> fquat | +
Quaternion of single-precision floating-point numbers.
+From GLM_GTX_double extension.
+ +Definition at line 39 of file gtx/double_float.hpp.
+ +GLM_GTX_epsilon extension: Comparaison functions for a user defined epsilon values. +More...
+Functions | |
template<typename genTypeT , typename genTypeU > | |
bool | equalEpsilon (genTypeT const &x, genTypeT const &y, genTypeU const &epsilon) |
Returns the component-wise compare of |x - y| < epsilon. | |
template<typename genTypeT , typename genTypeU > | |
bool | notEqualEpsilon (genTypeT const &x, genTypeT const &y, genTypeU const &epsilon) |
Returns the component-wise compare of |x - y| >= epsilon. |
GLM_GTX_epsilon extension: Comparaison functions for a user defined epsilon values.
+bool glm::gtx::epsilon::equalEpsilon | +( | +genTypeT const & | +x, | +|
+ | + | genTypeT const & | +y, | +|
+ | + | genTypeU const & | +epsilon | + |
+ | ) | ++ |
Returns the component-wise compare of |x - y| < epsilon.
+From GLM_GTX_epsilon extension.
+ +bool glm::gtx::epsilon::notEqualEpsilon | +( | +genTypeT const & | +x, | +|
+ | + | genTypeT const & | +y, | +|
+ | + | genTypeU const & | +epsilon | + |
+ | ) | ++ |
Returns the component-wise compare of |x - y| >= epsilon.
+From GLM_GTX_epsilon extension.
+ +GLM_GTX_euler_angles extension: Build matrices from euler angles. +More...
+Functions | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleX (valType const &angleX) |
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleXY (valType const &angleX, valType const &angleY) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleXZ (valType const &angleX, valType const &angleZ) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleY (valType const &angleY) |
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleYX (valType const &angleY, valType const &angleX) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleYXZ (valType const &yaw, valType const &pitch, valType const &roll) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleYZ (valType const &angleY, valType const &angleZ) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleZ (valType const &angleZ) |
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleZX (valType const &angleZ, valType const &angleX) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). | |
template<typename valType > | |
detail::tmat4x4< valType > | eulerAngleZY (valType const &angleZ, valType const &angleY) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). | |
template<typename T > | |
detail::tmat2x2< T > | orientate2 (T const &angle) |
Creates a 2D 2 * 2 rotation matrix from an euler angle. | |
template<typename T > | |
detail::tmat3x3< T > | orientate3 (detail::tvec3< T > const &angles) |
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). | |
template<typename T > | |
detail::tmat3x3< T > | orientate3 (T const &angle) |
Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. | |
template<typename T > | |
detail::tmat4x4< T > | orientate4 (detail::tvec3< T > const &angles) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). | |
template<typename valType > | |
detail::tmat4x4< valType > | yawPitchRoll (valType const &yaw, valType const &pitch, valType const &roll) |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). |
GLM_GTX_euler_angles extension: Build matrices from euler angles.
+detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleX | +( | +valType const & | +angleX | +) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleXY | +( | +valType const & | +angleX, | +|
+ | + | valType const & | +angleY | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleXZ | +( | +valType const & | +angleX, | +|
+ | + | valType const & | +angleZ | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleY | +( | +valType const & | +angleY | +) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleYX | +( | +valType const & | +angleY, | +|
+ | + | valType const & | +angleX | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleYXZ | +( | +valType const & | +yaw, | +|
+ | + | valType const & | +pitch, | +|
+ | + | valType const & | +roll | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleYZ | +( | +valType const & | +angleY, | +|
+ | + | valType const & | +angleZ | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleZ | +( | +valType const & | +angleZ | +) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleZX | +( | +valType const & | +angleZ, | +|
+ | + | valType const & | +angleX | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::eulerAngleZY | +( | +valType const & | +angleZ, | +|
+ | + | valType const & | +angleY | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat2x2<T> glm::gtx::euler_angles::orientate2 | +( | +T const & | +angle | +) | ++ |
Creates a 2D 2 * 2 rotation matrix from an euler angle.
+From GLM_GTX_euler_angles extension.
+ +detail::tmat3x3<T> glm::gtx::euler_angles::orientate3 | +( | +detail::tvec3< T > const & | +angles | +) | ++ |
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat3x3<T> glm::gtx::euler_angles::orientate3 | +( | +T const & | +angle | +) | ++ |
Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<T> glm::gtx::euler_angles::orientate4 | +( | +detail::tvec3< T > const & | +angles | +) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+From GLM_GTX_euler_angles extension.
+ +detail::tmat4x4<valType> glm::gtx::euler_angles::yawPitchRoll | +( | +valType const & | +yaw, | +|
+ | + | valType const & | +pitch, | +|
+ | + | valType const & | +roll | + |
+ | ) | ++ |
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
+From GLM_GTX_euler_angles extension.
+ +GLM_GTX_extend extension: Extend a position from a source to a position at a defined length. +More...
+Functions | |
template<typename genType > | |
genType | extend (genType const &Origin, genType const &Source, typename genType::value_type const Length) |
Extends of Length the Origin position using the (Source - Origin) direction. |
GLM_GTX_extend extension: Extend a position from a source to a position at a defined length.
+genType glm::gtx::extend::extend | +( | +genType const & | +Origin, | +|
+ | + | genType const & | +Source, | +|
+ | + | typename genType::value_type const | +Length | + |
+ | ) | ++ |
Extends of Length the Origin position using the (Source - Origin) direction.
+From GLM_GTX_extend extension.
+ +GLM_GTX_extented_min_max extension: Min and max functions for 3 to 4 parameters. +More...
+Functions | |
+template<typename T > | |
detail::tvec4< T > | max (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &z, const detail::tvec4< T > &w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | max (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &z, const detail::tvec3< T > &w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | max (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &z, const detail::tvec2< T > &w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | max (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | max (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | max (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | max (const detail::tvec4< T > &x, const T y, const T z, const T w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | max (const detail::tvec3< T > &x, const T y, const T z, const T w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | max (const detail::tvec2< T > &x, const T y, const T z, const T w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | max (const detail::tvec4< T > &x, const T y, const T z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | max (const detail::tvec3< T > &x, const T y, const T z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | max (const detail::tvec2< T > &x, const T y, const T z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
T | max (const T x, const T y, const T z, const T w) |
Return the maximum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
T | max (const T x, const T y, const T z) |
Return the maximum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | min (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &z, const detail::tvec4< T > &w) |
Return the minimum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | min (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &z, const detail::tvec3< T > &w) |
Return the minimum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | min (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &z, const detail::tvec2< T > &w) |
Return the minimum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | min (const detail::tvec4< T > &x, const detail::tvec4< T > &y, const detail::tvec4< T > &z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | min (const detail::tvec3< T > &x, const detail::tvec3< T > &y, const detail::tvec3< T > &z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | min (const detail::tvec2< T > &x, const detail::tvec2< T > &y, const detail::tvec2< T > &z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | min (const detail::tvec4< T > &x, const T y, const T z, const T w) |
Return the minimum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | min (const detail::tvec3< T > &x, const T y, const T z, const T w) |
Return the minimum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | min (const detail::tvec2< T > &x, const T y, const T z, const T w) |
Return the minimum component-wise values of 4 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec4< T > | min (const detail::tvec4< T > &x, const T y, const T z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec3< T > | min (const detail::tvec3< T > &x, const T y, const T z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
detail::tvec2< T > | min (const detail::tvec2< T > &x, const T y, const T z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
T | min (const T x, const T y, const T z, const T w) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). | |
+template<typename T > | |
T | min (const T x, const T y, const T z) |
Return the minimum component-wise values of 3 imputs (From GLM_GTX_extented_min_max extension). |
GLM_GTX_extented_min_max extension: Min and max functions for 3 to 4 parameters.
+GLM_GTX_fast_exponential extension: Fast but less accurate implementations of exponential based functions. +More...
+Functions | |
template<typename T > | |
T | fastExp (const T &x) |
Faster than the common exp function but less accurate. | |
template<typename T > | |
T | fastExp2 (const T &x) |
Faster than the common exp2 function but less accurate. | |
template<typename T > | |
T | fastLn (const T &x) |
Faster than the common ln function but less accurate. | |
template<typename T > | |
T | fastLog (const T &x) |
Faster than the common log function but less accurate. | |
template<typename T > | |
T | fastLog2 (const T &x) |
Faster than the common log2 function but less accurate. | |
template<typename T , typename U > | |
T | fastPow (const T &x, const U &y) |
Faster than the common pow function but less accurate. | |
template<typename valType > | |
valType | fastPow (valType const &x, valType const &y) |
Faster than the common pow function but less accurate. |
GLM_GTX_fast_exponential extension: Fast but less accurate implementations of exponential based functions.
+T glm::gtx::fast_exponential::fastExp | +( | +const T & | +x | +) | ++ |
Faster than the common exp function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +T glm::gtx::fast_exponential::fastExp2 | +( | +const T & | +x | +) | ++ |
Faster than the common exp2 function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +T glm::gtx::fast_exponential::fastLn | +( | +const T & | +x | +) | ++ |
Faster than the common ln function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +T glm::gtx::fast_exponential::fastLog | +( | +const T & | +x | +) | ++ |
Faster than the common log function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +T glm::gtx::fast_exponential::fastLog2 | +( | +const T & | +x | +) | ++ |
Faster than the common log2 function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +T glm::gtx::fast_exponential::fastPow | +( | +const T & | +x, | +|
+ | + | const U & | +y | + |
+ | ) | ++ |
Faster than the common pow function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +valType glm::gtx::fast_exponential::fastPow | +( | +valType const & | +x, | +|
+ | + | valType const & | +y | + |
+ | ) | ++ |
Faster than the common pow function but less accurate.
+From GLM_GTX_fast_exponential extension.
+ +GLM_GTX_fast_square_root extension: Fast but less accurate implementations of square root based functions. +More...
+Functions | |
template<typename genType > | |
genType::value_type | fastDistance (genType const &x, genType const &y) |
Faster than the common distance function but less accurate. | |
template<typename genType > | |
genType | fastInverseSqrt (genType const &x) |
Faster than the common inversesqrt function but less accurate. | |
template<typename genType > | |
genType::value_type | fastLength (genType const &x) |
Faster than the common length function but less accurate. | |
template<typename genType > | |
genType | fastNormalize (genType const &x) |
Faster than the common normalize function but less accurate. | |
template<typename genType > | |
genType | fastSqrt (genType const &x) |
Faster than the common sqrt function but less accurate. |
GLM_GTX_fast_square_root extension: Fast but less accurate implementations of square root based functions.
+genType::value_type glm::gtx::fast_square_root::fastDistance | +( | +genType const & | +x, | +|
+ | + | genType const & | +y | + |
+ | ) | ++ |
Faster than the common distance function but less accurate.
+From GLM_GTX_fast_square_root extension.
+ +genType glm::gtx::fast_square_root::fastInverseSqrt | +( | +genType const & | +x | +) | ++ |
Faster than the common inversesqrt function but less accurate.
+From GLM_GTX_fast_square_root extension.
+ +genType::value_type glm::gtx::fast_square_root::fastLength | +( | +genType const & | +x | +) | ++ |
Faster than the common length function but less accurate.
+From GLM_GTX_fast_square_root extension.
+ +genType glm::gtx::fast_square_root::fastNormalize | +( | +genType const & | +x | +) | ++ |
Faster than the common normalize function but less accurate.
+From GLM_GTX_fast_square_root extension.
+ +genType glm::gtx::fast_square_root::fastSqrt | +( | +genType const & | +x | +) | ++ |
Faster than the common sqrt function but less accurate.
+From GLM_GTX_fast_square_root extension.
+ +GLM_GTX_fast_trigonometry extension: Fast but less accurate implementations of trigonometric functions. +More...
+Functions | |
template<typename T > | |
T | fastAcos (const T &angle) |
Faster than the common acos function but less accurate. | |
template<typename T > | |
T | fastAsin (const T &angle) |
Faster than the common asin function but less accurate. | |
template<typename T > | |
T | fastAtan (const T &angle) |
Faster than the common atan function but less accurate. | |
template<typename T > | |
T | fastAtan (const T &y, const T &x) |
Faster than the common atan function but less accurate. | |
template<typename T > | |
T | fastCos (const T &angle) |
Faster than the common cos function but less accurate. | |
template<typename T > | |
T | fastSin (const T &angle) |
Faster than the common sin function but less accurate. | |
template<typename T > | |
T | fastTan (const T &angle) |
Faster than the common tan function but less accurate. |
GLM_GTX_fast_trigonometry extension: Fast but less accurate implementations of trigonometric functions.
+T glm::gtx::fast_trigonometry::fastAcos | +( | +const T & | +angle | +) | ++ |
Faster than the common acos function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +T glm::gtx::fast_trigonometry::fastAsin | +( | +const T & | +angle | +) | ++ |
Faster than the common asin function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +T glm::gtx::fast_trigonometry::fastAtan | +( | +const T & | +angle | +) | ++ |
Faster than the common atan function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +T glm::gtx::fast_trigonometry::fastAtan | +( | +const T & | +y, | +|
+ | + | const T & | +x | + |
+ | ) | ++ |
Faster than the common atan function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +T glm::gtx::fast_trigonometry::fastCos | +( | +const T & | +angle | +) | ++ |
Faster than the common cos function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +T glm::gtx::fast_trigonometry::fastSin | +( | +const T & | +angle | +) | ++ |
Faster than the common sin function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +T glm::gtx::fast_trigonometry::fastTan | +( | +const T & | +angle | +) | ++ |
Faster than the common tan function but less accurate.
+Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.
+ +GLM_GTX_gradient_paint extension: Compute a radient gradient according section OpenVG 1.1 specifications, 9.3.2 Radial Gradients. +More...
+GLM_GTX_gradient_paint extension: Compute a radient gradient according section OpenVG 1.1 specifications, 9.3.2 Radial Gradients.
+GLM_GTX_half_float extension: Add support for half precision flotting-point types. +More...
+Typedefs | |
typedef detail::tquat +< detail::thalf > | hquat |
Quaternion of half-precision floating-point numbers. |
GLM_GTX_half_float extension: Add support for half precision flotting-point types.
+typedef detail::tquat<detail::thalf> hquat | +
Quaternion of half-precision floating-point numbers.
+From GLM_GTX_half_float extension.
+ +Definition at line 35 of file gtx/half_float.hpp.
+ +GLM_GTX_handed_coordinate_space extension: To know if a triedron is right or left handed. +More...
+Functions | |
template<typename T > | |
bool | leftHanded (detail::tvec3< T > const &tangent, detail::tvec3< T > const &binormal, detail::tvec3< T > const &normal) |
Return if a trihedron left handed or not. | |
template<typename T > | |
bool | rightHanded (detail::tvec3< T > const &tangent, detail::tvec3< T > const &binormal, detail::tvec3< T > const &normal) |
Return if a trihedron right handed or not. |
GLM_GTX_handed_coordinate_space extension: To know if a triedron is right or left handed.
+bool glm::gtx::handed_coordinate_space::leftHanded | +( | +detail::tvec3< T > const & | +tangent, | +|
+ | + | detail::tvec3< T > const & | +binormal, | +|
+ | + | detail::tvec3< T > const & | +normal | + |
+ | ) | ++ |
Return if a trihedron left handed or not.
+From GLM_GTX_handed_coordinate_space extension.
+ +bool glm::gtx::handed_coordinate_space::rightHanded | +( | +detail::tvec3< T > const & | +tangent, | +|
+ | + | detail::tvec3< T > const & | +binormal, | +|
+ | + | detail::tvec3< T > const & | +normal | + |
+ | ) | ++ |
Return if a trihedron right handed or not.
+From GLM_GTX_handed_coordinate_space extension.
+ +GLM_GTX_inertia extension: Create inertia matrices. +More...
+Functions | |
template<typename T > | |
detail::tmat3x3< T > | ballInertia3 (const T Mass, const T Radius) |
Build an inertia matrix for a ball. | |
template<typename T > | |
detail::tmat4x4< T > | ballInertia4 (const T Mass, const T Radius) |
Build an inertia matrix for a ball. | |
template<typename T > | |
detail::tmat3x3< T > | boxInertia3 (const T Mass, const detail::tvec3< T > &Scale) |
Build an inertia matrix for a box. | |
template<typename T > | |
detail::tmat4x4< T > | boxInertia4 (const T Mass, const detail::tvec3< T > &Scale) |
Build an inertia matrix for a box. | |
template<typename T > | |
detail::tmat3x3< T > | diskInertia3 (const T Mass, const T Radius) |
Build an inertia matrix for a disk. | |
template<typename T > | |
detail::tmat4x4< T > | diskInertia4 (const T Mass, const T Radius) |
Build an inertia matrix for a disk. | |
template<typename T > | |
detail::tmat3x3< T > | sphereInertia3 (const T Mass, const T Radius) |
Build an inertia matrix for a sphere. | |
template<typename T > | |
detail::tmat4x4< T > | sphereInertia4 (const T Mass, const T Radius) |
Build an inertia matrix for a sphere. |
GLM_GTX_inertia extension: Create inertia matrices.
+detail::tmat3x3<T> glm::gtx::inertia::ballInertia3 | +( | +const T | +Mass, | +|
+ | + | const T | +Radius | + |
+ | ) | ++ |
Build an inertia matrix for a ball.
+From GLM_GTX_inertia extension.
+ +detail::tmat4x4<T> glm::gtx::inertia::ballInertia4 | +( | +const T | +Mass, | +|
+ | + | const T | +Radius | + |
+ | ) | ++ |
Build an inertia matrix for a ball.
+From GLM_GTX_inertia extension.
+ +detail::tmat3x3<T> glm::gtx::inertia::boxInertia3 | +( | +const T | +Mass, | +|
+ | + | const detail::tvec3< T > & | +Scale | + |
+ | ) | ++ |
Build an inertia matrix for a box.
+From GLM_GTX_inertia extension.
+ +detail::tmat4x4<T> glm::gtx::inertia::boxInertia4 | +( | +const T | +Mass, | +|
+ | + | const detail::tvec3< T > & | +Scale | + |
+ | ) | ++ |
Build an inertia matrix for a box.
+From GLM_GTX_inertia extension.
+ +detail::tmat3x3<T> glm::gtx::inertia::diskInertia3 | +( | +const T | +Mass, | +|
+ | + | const T | +Radius | + |
+ | ) | ++ |
Build an inertia matrix for a disk.
+From GLM_GTX_inertia extension.
+ +detail::tmat4x4<T> glm::gtx::inertia::diskInertia4 | +( | +const T | +Mass, | +|
+ | + | const T | +Radius | + |
+ | ) | ++ |
Build an inertia matrix for a disk.
+From GLM_GTX_inertia extension.
+ +detail::tmat3x3<T> glm::gtx::inertia::sphereInertia3 | +( | +const T | +Mass, | +|
+ | + | const T | +Radius | + |
+ | ) | ++ |
Build an inertia matrix for a sphere.
+From GLM_GTX_inertia extension.
+ +detail::tmat4x4<T> glm::gtx::inertia::sphereInertia4 | +( | +const T | +Mass, | +|
+ | + | const T | +Radius | + |
+ | ) | ++ |
Build an inertia matrix for a sphere.
+From GLM_GTX_inertia extension.
+ +GLM_GTX_integer extension: Add support for integer for core functions. +More...
+Functions | |
template<typename genType > | |
genType | factorial (genType const &x) |
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension. | |
int | mod (int x, int y) |
Modulus. | |
int | pow (int x, int y) |
Returns x raised to the y power. | |
int | sqrt (int x) |
Returns the positive square root of x. |
GLM_GTX_integer extension: Add support for integer for core functions.
+genType glm::gtx::integer::factorial | +( | +genType const & | +x | +) | ++ |
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.
+ +int glm::gtx::integer::mod | +( | +int | +x, | +|
+ | + | int | +y | + |
+ | ) | ++ |
Modulus.
+Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.
+ +int glm::gtx::integer::pow | +( | +int | +x, | +|
+ | + | int | +y | + |
+ | ) | ++ |
Returns x raised to the y power.
+From GLM_GTX_integer extension.
+ +int glm::gtx::integer::sqrt | +( | +int | +x | +) | ++ |
Returns the positive square root of x.
+From GLM_GTX_integer extension.
+ +GLM_GTX_intersect extension: Add intersection functions. +More...
+Functions | |
template<typename genType > | |
bool | intersectLineSphere (genType const &point0, genType const &point1, genType const ¢er, typename genType::value_type radius, genType &position, genType &normal) |
Compute the intersection of a line and a sphere. | |
template<typename genType > | |
bool | intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position) |
Compute the intersection of a line and a triangle. | |
template<typename genType > | |
bool | intersectRaySphere (genType const &orig, genType const &dir, genType const ¢er, typename genType::value_type radius, genType &position, genType &normal) |
Compute the intersection of a ray and a sphere. | |
template<typename genType > | |
bool | intersectRayTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &baryPosition) |
Compute the intersection of a ray and a triangle. |
GLM_GTX_intersect extension: Add intersection functions.
+bool glm::gtx::intersect::intersectLineSphere | +( | +genType const & | +point0, | +|
+ | + | genType const & | +point1, | +|
+ | + | genType const & | +center, | +|
+ | + | typename genType::value_type | +radius, | +|
+ | + | genType & | +position, | +|
+ | + | genType & | +normal | + |
+ | ) | ++ |
Compute the intersection of a line and a sphere.
+From GLM_GTX_intersect extension
+ +bool glm::gtx::intersect::intersectLineTriangle | +( | +genType const & | +orig, | +|
+ | + | genType const & | +dir, | +|
+ | + | genType const & | +vert0, | +|
+ | + | genType const & | +vert1, | +|
+ | + | genType const & | +vert2, | +|
+ | + | genType & | +position | + |
+ | ) | ++ |
Compute the intersection of a line and a triangle.
+From GLM_GTX_intersect extension.
+ +bool glm::gtx::intersect::intersectRaySphere | +( | +genType const & | +orig, | +|
+ | + | genType const & | +dir, | +|
+ | + | genType const & | +center, | +|
+ | + | typename genType::value_type | +radius, | +|
+ | + | genType & | +position, | +|
+ | + | genType & | +normal | + |
+ | ) | ++ |
Compute the intersection of a ray and a sphere.
+From GLM_GTX_intersect extension.
+ +bool glm::gtx::intersect::intersectRayTriangle | +( | +genType const & | +orig, | +|
+ | + | genType const & | +dir, | +|
+ | + | genType const & | +vert0, | +|
+ | + | genType const & | +vert1, | +|
+ | + | genType const & | +vert2, | +|
+ | + | genType & | +baryPosition | + |
+ | ) | ++ |
Compute the intersection of a ray and a triangle.
+From GLM_GTX_intersect extension.
+ +GLM_GTX_inverse extension: Inverse matrix functions. +More...
+Functions | |
template<typename genType > | |
genType | affineInverse (genType const &m) |
Fast matrix inverse for affine matrix. |
GLM_GTX_inverse extension: Inverse matrix functions.
+genType glm::gtx::inverse::affineInverse | +( | +genType const & | +m | +) | ++ |
Fast matrix inverse for affine matrix.
+From GLM_GTX_inverse extension.
+ +GLM_GTX_inverse_transpose extension: Inverse transpose matrix functions. +More...
+Functions | |
template<typename genType > | |
genType::value_type | inverseTranspose (genType const &m) |
Compute the inverse transpose of a matrix. |
GLM_GTX_inverse_transpose extension: Inverse transpose matrix functions.
+genType::value_type glm::gtx::inverse_transpose::inverseTranspose | +( | +genType const & | +m | +) | ++ |
Compute the inverse transpose of a matrix.
+From GLM_GTX_inverse extension.
+ +GLM_GTX_log_base extension: Logarithm for any base. base can be a vector or a scalar. +More...
+Functions | |
template<typename genType > | |
genType | log (genType const &x, genType const &base) |
Logarithm for any base. |
GLM_GTX_log_base extension: Logarithm for any base. base can be a vector or a scalar.
+genType glm::gtx::log_base::log | +( | +genType const & | +x, | +|
+ | + | genType const & | +base | + |
+ | ) | ++ |
Logarithm for any base.
+From GLM_GTX_log_base.
+ +GLM_GTX_matrix_access extension: Set a column or a row of a matrix. +More...
+Functions | |
template<typename genType > | |
genType | column (const genType &m, int index, typename genType::col_type const &x) |
Set a specific column to a matrix. | |
template<typename genType > | |
genType | row (const genType &m, int index, typename genType::row_type const &x) |
Set a specific row to a matrix. |
GLM_GTX_matrix_access extension: Set a column or a row of a matrix.
+genType glm::gtx::matrix_access::column | +( | +const genType & | +m, | +|
+ | + | int | +index, | +|
+ | + | typename genType::col_type const & | +x | + |
+ | ) | ++ |
Set a specific column to a matrix.
+From GLM_GTX_matrix_access extension.
+ +genType glm::gtx::matrix_access::row | +( | +const genType & | +m, | +|
+ | + | int | +index, | +|
+ | + | typename genType::row_type const & | +x | + |
+ | ) | ++ |
Set a specific row to a matrix.
+From GLM_GTX_matrix_access extension.
+ +GLM_GTX_matrix_cross_product: Build cross product matrices. +More...
+Functions | |
template<typename T > | |
detail::tmat3x3< T > | matrixCross3 (detail::tvec3< T > const &x) |
Build a cross product matrix. | |
template<typename T > | |
detail::tmat4x4< T > | matrixCross4 (detail::tvec3< T > const &x) |
Build a cross product matrix. |
GLM_GTX_matrix_cross_product: Build cross product matrices.
+detail::tmat3x3<T> glm::gtx::matrix_cross_product::matrixCross3 | +( | +detail::tvec3< T > const & | +x | +) | ++ |
Build a cross product matrix.
+From GLM_GTX_matrix_cross_product extension.
+ +detail::tmat4x4<T> glm::gtx::matrix_cross_product::matrixCross4 | +( | +detail::tvec3< T > const & | +x | +) | ++ |
Build a cross product matrix.
+From GLM_GTX_matrix_cross_product extension.
+ +GLM_GTX_matrix_cross_product: Build matrices with specific matrix order, row or column. +More...
+Functions | |
template<typename T > | |
detail::tmat2x2< T > | colMajor2 (const detail::tmat2x2< T > &m) |
Build a column major matrix from other matrix. | |
template<typename T > | |
detail::tmat2x2< T > | colMajor2 (const detail::tvec2< T > &v1, const detail::tvec2< T > &v2) |
Build a column major matrix from column vectors. | |
template<typename T > | |
detail::tmat3x3< T > | colMajor3 (const detail::tmat3x3< T > &m) |
Build a column major matrix from other matrix. | |
template<typename T > | |
detail::tmat3x3< T > | colMajor3 (const detail::tvec3< T > &v1, const detail::tvec3< T > &v2, const detail::tvec3< T > &v3) |
Build a column major matrix from column vectors. | |
template<typename T > | |
detail::tmat4x4< T > | colMajor4 (const detail::tmat4x4< T > &m) |
Build a column major matrix from other matrix. | |
template<typename T > | |
detail::tmat4x4< T > | colMajor4 (const detail::tvec4< T > &v1, const detail::tvec4< T > &v2, const detail::tvec4< T > &v3, const detail::tvec4< T > &v4) |
Build a column major matrix from column vectors. | |
template<typename T > | |
detail::tmat2x2< T > | rowMajor2 (const detail::tmat2x2< T > &m) |
Build a row major matrix from other matrix. | |
template<typename T > | |
detail::tmat2x2< T > | rowMajor2 (const detail::tvec2< T > &v1, const detail::tvec2< T > &v2) |
Build a row major matrix from row vectors. | |
template<typename T > | |
detail::tmat3x3< T > | rowMajor3 (const detail::tmat3x3< T > &m) |
Build a row major matrix from other matrix. | |
template<typename T > | |
detail::tmat3x3< T > | rowMajor3 (const detail::tvec3< T > &v1, const detail::tvec3< T > &v2, const detail::tvec3< T > &v3) |
Build a row major matrix from row vectors. | |
template<typename T > | |
detail::tmat4x4< T > | rowMajor4 (const detail::tmat4x4< T > &m) |
Build a row major matrix from other matrix. | |
template<typename T > | |
detail::tmat4x4< T > | rowMajor4 (const detail::tvec4< T > &v1, const detail::tvec4< T > &v2, const detail::tvec4< T > &v3, const detail::tvec4< T > &v4) |
Build a row major matrix from row vectors. |
GLM_GTX_matrix_cross_product: Build matrices with specific matrix order, row or column.
+detail::tmat2x2<T> glm::gtx::matrix_major_storage::colMajor2 | +( | +const detail::tmat2x2< T > & | +m | +) | ++ |
Build a column major matrix from other matrix.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat2x2<T> glm::gtx::matrix_major_storage::colMajor2 | +( | +const detail::tvec2< T > & | +v1, | +|
+ | + | const detail::tvec2< T > & | +v2 | + |
+ | ) | ++ |
Build a column major matrix from column vectors.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat3x3<T> glm::gtx::matrix_major_storage::colMajor3 | +( | +const detail::tmat3x3< T > & | +m | +) | ++ |
Build a column major matrix from other matrix.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat3x3<T> glm::gtx::matrix_major_storage::colMajor3 | +( | +const detail::tvec3< T > & | +v1, | +|
+ | + | const detail::tvec3< T > & | +v2, | +|
+ | + | const detail::tvec3< T > & | +v3 | + |
+ | ) | ++ |
Build a column major matrix from column vectors.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat4x4<T> glm::gtx::matrix_major_storage::colMajor4 | +( | +const detail::tmat4x4< T > & | +m | +) | ++ |
Build a column major matrix from other matrix.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat4x4<T> glm::gtx::matrix_major_storage::colMajor4 | +( | +const detail::tvec4< T > & | +v1, | +|
+ | + | const detail::tvec4< T > & | +v2, | +|
+ | + | const detail::tvec4< T > & | +v3, | +|
+ | + | const detail::tvec4< T > & | +v4 | + |
+ | ) | ++ |
Build a column major matrix from column vectors.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat2x2<T> glm::gtx::matrix_major_storage::rowMajor2 | +( | +const detail::tmat2x2< T > & | +m | +) | ++ |
Build a row major matrix from other matrix.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat2x2<T> glm::gtx::matrix_major_storage::rowMajor2 | +( | +const detail::tvec2< T > & | +v1, | +|
+ | + | const detail::tvec2< T > & | +v2 | + |
+ | ) | ++ |
Build a row major matrix from row vectors.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat3x3<T> glm::gtx::matrix_major_storage::rowMajor3 | +( | +const detail::tmat3x3< T > & | +m | +) | ++ |
Build a row major matrix from other matrix.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat3x3<T> glm::gtx::matrix_major_storage::rowMajor3 | +( | +const detail::tvec3< T > & | +v1, | +|
+ | + | const detail::tvec3< T > & | +v2, | +|
+ | + | const detail::tvec3< T > & | +v3 | + |
+ | ) | ++ |
Build a row major matrix from row vectors.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat4x4<T> glm::gtx::matrix_major_storage::rowMajor4 | +( | +const detail::tmat4x4< T > & | +m | +) | ++ |
Build a row major matrix from other matrix.
+From GLM_GTX_matrix_major_storage extension.
+ +detail::tmat4x4<T> glm::gtx::matrix_major_storage::rowMajor4 | +( | +const detail::tvec4< T > & | +v1, | +|
+ | + | const detail::tvec4< T > & | +v2, | +|
+ | + | const detail::tvec4< T > & | +v3, | +|
+ | + | const detail::tvec4< T > & | +v4 | + |
+ | ) | ++ |
Build a row major matrix from row vectors.
+From GLM_GTX_matrix_major_storage extension.
+ +GLM_GTX_matrix_operation: Build cross product matrices. +More...
+Functions | |
template<typename valType > | |
detail::tmat2x2< valType > | diagonal2x2 (detail::tvec2< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat2x3< valType > | diagonal2x3 (detail::tvec2< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat2x4< valType > | diagonal2x4 (detail::tvec2< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat3x2< valType > | diagonal3x2 (detail::tvec2< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat3x3< valType > | diagonal3x3 (detail::tvec3< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat3x4< valType > | diagonal3x4 (detail::tvec3< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat4x2< valType > | diagonal4x2 (detail::tvec2< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat4x3< valType > | diagonal4x3 (detail::tvec3< valType > const &v) |
Build a diagonal matrix. | |
template<typename valType > | |
detail::tmat4x4< valType > | diagonal4x4 (detail::tvec4< valType > const &v) |
Build a diagonal matrix. |
GLM_GTX_matrix_operation: Build cross product matrices.
+detail::tmat2x2<valType> glm::gtx::matrix_operation::diagonal2x2 | +( | +detail::tvec2< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat2x3<valType> glm::gtx::matrix_operation::diagonal2x3 | +( | +detail::tvec2< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat2x4<valType> glm::gtx::matrix_operation::diagonal2x4 | +( | +detail::tvec2< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat3x2<valType> glm::gtx::matrix_operation::diagonal3x2 | +( | +detail::tvec2< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat3x3<valType> glm::gtx::matrix_operation::diagonal3x3 | +( | +detail::tvec3< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat3x4<valType> glm::gtx::matrix_operation::diagonal3x4 | +( | +detail::tvec3< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat4x2<valType> glm::gtx::matrix_operation::diagonal4x2 | +( | +detail::tvec2< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat4x3<valType> glm::gtx::matrix_operation::diagonal4x3 | +( | +detail::tvec3< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +detail::tmat4x4<valType> glm::gtx::matrix_operation::diagonal4x4 | +( | +detail::tvec4< valType > const & | +v | +) | ++ |
Build a diagonal matrix.
+From GLM_GTX_matrix_operation extension.
+ +GLM_GTX_matrix_projection: Varius ways to build and operate on projection matrices. +More...
+Functions | |
template<typename T > | |
detail::tmat4x4< T > | infinitePerspective (T fovy, T aspect, T zNear) |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite . | |
template<typename valType > | |
detail::tmat4x4< valType > | perspectiveFov (valType const &fov, valType const &width, valType const &height, valType const &zNear, valType const &zFar) |
Builds a perspective projection matrix based on a field of view From GLM_GTX_matrix_projection extension. | |
template<typename T > | |
detail::tmat4x4< T > | tweakedInfinitePerspective (T fovy, T aspect, T zNear) |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. |
GLM_GTX_matrix_projection: Varius ways to build and operate on projection matrices.
+detail::tmat4x4<T> glm::gtx::matrix_projection::infinitePerspective | +( | +T | +fovy, | +|
+ | + | T | +aspect, | +|
+ | + | T | +zNear | + |
+ | ) | ++ |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite .
+From GLM_GTX_matrix_projection extension.
+ +detail::tmat4x4<valType> glm::gtx::matrix_projection::perspectiveFov | +( | +valType const & | +fov, | +|
+ | + | valType const & | +width, | +|
+ | + | valType const & | +height, | +|
+ | + | valType const & | +zNear, | +|
+ | + | valType const & | +zFar | + |
+ | ) | ++ |
Builds a perspective projection matrix based on a field of view From GLM_GTX_matrix_projection extension.
+ +detail::tmat4x4<T> glm::gtx::matrix_projection::tweakedInfinitePerspective | +( | +T | +fovy, | +|
+ | + | T | +aspect, | +|
+ | + | T | +zNear | + |
+ | ) | ++ |
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.
+From GLM_GTX_matrix_projection extension.
+ +GLM_GTX_matrix_query: Query to evaluate matrices properties. +More...
+Functions | |
template<typename genType > | |
bool | isIdentity (const genType &m, const typename genType::value_type epsilon=std::numeric_limits< typename genType::value_type >::epsilon()) |
Return if a matrix an identity matrix. | |
template<typename T > | |
bool | isNormalized (const detail::tmat4x4< T > &m, const T epsilon=std::numeric_limits< T >::epsilon()) |
Return if a matrix a normalized matrix. | |
template<typename T > | |
bool | isNormalized (const detail::tmat3x3< T > &m, const T epsilon=std::numeric_limits< T >::epsilon()) |
Return if a matrix a normalized matrix. | |
template<typename T > | |
bool | isNormalized (const detail::tmat2x2< T > &m, const T epsilon=std::numeric_limits< T >::epsilon()) |
Return if a matrix a normalized matrix. | |
template<typename T > | |
bool | isNull (const detail::tmat4x4< T > &m, const T epsilon=std::numeric_limits< T >::epsilon()) |
Return if a matrix a null matrix. | |
template<typename T > | |
bool | isNull (const detail::tmat3x3< T > &m, const T epsilon=std::numeric_limits< T >::epsilon()) |
Return if a matrix a null matrix. | |
template<typename T > | |
bool | isNull (const detail::tmat2x2< T > &m, const T epsilon=std::numeric_limits< T >::epsilon()) |
Return if a matrix a null matrix. | |
template<typename genType > | |
bool | isOrthogonal (const genType &m, const typename genType::value_type epsilon=std::numeric_limits< typename genType::value_type >::epsilon()) |
Return if a matrix an orthonormalized matrix. |
GLM_GTX_matrix_query: Query to evaluate matrices properties.
+bool glm::gtx::matrix_query::isIdentity | +( | +const genType & | +m, | +|
+ | + | const typename genType::value_type | + epsilon = std::numeric_limits< typename genType::value_type >::epsilon() | + |
+ | ) | ++ |
Return if a matrix an identity matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isNormalized | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | const T | + epsilon = std::numeric_limits< T >::epsilon() | + |
+ | ) | ++ |
Return if a matrix a normalized matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isNormalized | +( | +const detail::tmat3x3< T > & | +m, | +|
+ | + | const T | + epsilon = std::numeric_limits< T >::epsilon() | + |
+ | ) | ++ |
Return if a matrix a normalized matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isNormalized | +( | +const detail::tmat2x2< T > & | +m, | +|
+ | + | const T | + epsilon = std::numeric_limits< T >::epsilon() | + |
+ | ) | ++ |
Return if a matrix a normalized matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isNull | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | const T | + epsilon = std::numeric_limits< T >::epsilon() | + |
+ | ) | ++ |
Return if a matrix a null matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isNull | +( | +const detail::tmat3x3< T > & | +m, | +|
+ | + | const T | + epsilon = std::numeric_limits< T >::epsilon() | + |
+ | ) | ++ |
Return if a matrix a null matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isNull | +( | +const detail::tmat2x2< T > & | +m, | +|
+ | + | const T | + epsilon = std::numeric_limits< T >::epsilon() | + |
+ | ) | ++ |
Return if a matrix a null matrix.
+From GLM_GTX_matrix_query extension.
+ +bool glm::gtx::matrix_query::isOrthogonal | +( | +const genType & | +m, | +|
+ | + | const typename genType::value_type | + epsilon = std::numeric_limits< typename genType::value_type >::epsilon() | + |
+ | ) | ++ |
Return if a matrix an orthonormalized matrix.
+From GLM_GTX_matrix_query extension.
+ +GLM_GTX_matrix_selection extension: Access to matrix columns or rows. +More...
+Functions | |
template<typename T > | |
detail::tvec4< T > | column (const detail::tmat4x4< T > &m, int index) |
Returns a 4 components vector that contains the row of the matrix m witch values is the ones of the column index. | |
template<typename T > | |
detail::tvec3< T > | column (const detail::tmat3x3< T > &m, int index) |
Returns a 3 components vector that contains the row of the matrix m witch values is the ones of the column index. | |
template<typename T > | |
detail::tvec2< T > | column (const detail::tmat2x2< T > &m, int index) |
Returns a 2 components vector that contains the row of the matrix m witch values is the ones of the column index. | |
template<typename T > | |
detail::tvec4< T > | row (const detail::tmat4x4< T > &m, int index) |
Returns a 4 components vector that contains the row of the matrix m witch values is the ones of the row index. | |
template<typename T > | |
detail::tvec3< T > | row (const detail::tmat3x3< T > &m, int index) |
Returns a 3 components vector that contains the row of the matrix m witch values is the ones of the row index. | |
template<typename T > | |
detail::tvec2< T > | row (const detail::tmat2x2< T > &m, int index) |
Returns a 2 components vector that contains the row of the matrix m witch values is the ones of the row index. |
GLM_GTX_matrix_selection extension: Access to matrix columns or rows.
+detail::tvec4<T> glm::gtx::matrix_selection::column | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | int | +index | + |
+ | ) | ++ |
Returns a 4 components vector that contains the row of the matrix m witch values is the ones of the column index.
+From GLM_GTX_matrix_selection extension.
+ +detail::tvec3<T> glm::gtx::matrix_selection::column | +( | +const detail::tmat3x3< T > & | +m, | +|
+ | + | int | +index | + |
+ | ) | ++ |
Returns a 3 components vector that contains the row of the matrix m witch values is the ones of the column index.
+From GLM_GTX_matrix_selection extension.
+ +detail::tvec2<T> glm::gtx::matrix_selection::column | +( | +const detail::tmat2x2< T > & | +m, | +|
+ | + | int | +index | + |
+ | ) | ++ |
Returns a 2 components vector that contains the row of the matrix m witch values is the ones of the column index.
+From GLM_GTX_matrix_selection extension.
+ +detail::tvec4<T> glm::gtx::matrix_selection::row | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | int | +index | + |
+ | ) | ++ |
Returns a 4 components vector that contains the row of the matrix m witch values is the ones of the row index.
+From GLM_GTX_matrix_selection extension.
+ +detail::tvec3<T> glm::gtx::matrix_selection::row | +( | +const detail::tmat3x3< T > & | +m, | +|
+ | + | int | +index | + |
+ | ) | ++ |
Returns a 3 components vector that contains the row of the matrix m witch values is the ones of the row index.
+From GLM_GTX_matrix_selection extension.
+ +detail::tvec2<T> glm::gtx::matrix_selection::row | +( | +const detail::tmat2x2< T > & | +m, | +|
+ | + | int | +index | + |
+ | ) | ++ |
Returns a 2 components vector that contains the row of the matrix m witch values is the ones of the row index.
+From GLM_GTX_matrix_selection extension.
+ +GLM_GTX_matx extension: - Work in progress - NxN matrix types. +More...
+GLM_GTX_matx extension: - Work in progress - NxN matrix types.
+GLM_GTX_mixed_product extension: Mixed product of 3 vectors. +More...
+Functions | |
+template<typename valType > | |
valType | mixedProduct (detail::tvec3< valType > const &v1, detail::tvec3< valType > const &v2, detail::tvec3< valType > const &v3) |
Mixed product of 3 vectors (from GLM_GTX_mixed_product extension). |
GLM_GTX_mixed_product extension: Mixed product of 3 vectors.
+GLM_GTX_norm extension: Varius way to compute vector norms. +More...
+Functions | |
template<typename T > | |
T | distance2 (const detail::tvec4< T > &p0, const detail::tvec4< T > &p1) |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1). | |
template<typename T > | |
T | distance2 (const detail::tvec3< T > &p0, const detail::tvec3< T > &p1) |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1). | |
template<typename T > | |
T | distance2 (const detail::tvec2< T > &p0, const detail::tvec2< T > &p1) |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1). | |
template<typename T > | |
T | distance2 (const T p0, const T p1) |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1). | |
template<typename T > | |
T | l1Norm (const detail::tvec3< T > &v) |
Returns the L1 norm of v. | |
template<typename T > | |
T | l1Norm (const detail::tvec3< T > &x, const detail::tvec3< T > &y) |
Returns the L1 norm between x and y. | |
template<typename T > | |
T | l2Norm (const detail::tvec3< T > &x) |
Returns the L2 norm of v. | |
template<typename T > | |
T | l2Norm (const detail::tvec3< T > &x, const detail::tvec3< T > &y) |
Returns the L2 norm between x and y. | |
template<typename T > | |
T | length2 (const detail::tquat< T > &q) |
Returns the squared length of x. | |
template<typename T > | |
T | length2 (const detail::tvec4< T > &x) |
Returns the squared length of x. | |
template<typename T > | |
T | length2 (const detail::tvec3< T > &x) |
Returns the squared length of x. | |
template<typename T > | |
T | length2 (const detail::tvec2< T > &x) |
Returns the squared length of x. | |
template<typename T > | |
T | length2 (const T x) |
Returns the squared length of x. | |
template<typename T > | |
T | lxNorm (const detail::tvec3< T > &x, unsigned int Depth) |
Returns the L norm of v. | |
template<typename T > | |
T | lxNorm (const detail::tvec3< T > &x, const detail::tvec3< T > &y, unsigned int Depth) |
Returns the L norm between x and y. |
GLM_GTX_norm extension: Varius way to compute vector norms.
+T glm::gtx::norm::distance2 | +( | +const detail::tvec4< T > & | +p0, | +|
+ | + | const detail::tvec4< T > & | +p1 | + |
+ | ) | ++ |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::distance2 | +( | +const detail::tvec3< T > & | +p0, | +|
+ | + | const detail::tvec3< T > & | +p1 | + |
+ | ) | ++ |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::distance2 | +( | +const detail::tvec2< T > & | +p0, | +|
+ | + | const detail::tvec2< T > & | +p1 | + |
+ | ) | ++ |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::distance2 | +( | +const T | +p0, | +|
+ | + | const T | +p1 | + |
+ | ) | ++ |
Returns the squared distance between p0 and p1, i.e., length(p0 - p1).
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::l1Norm | +( | +const detail::tvec3< T > & | +v | +) | ++ |
Returns the L1 norm of v.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::l1Norm | +( | +const detail::tvec3< T > & | +x, | +|
+ | + | const detail::tvec3< T > & | +y | + |
+ | ) | ++ |
Returns the L1 norm between x and y.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::l2Norm | +( | +const detail::tvec3< T > & | +x | +) | ++ |
Returns the L2 norm of v.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::l2Norm | +( | +const detail::tvec3< T > & | +x, | +|
+ | + | const detail::tvec3< T > & | +y | + |
+ | ) | ++ |
Returns the L2 norm between x and y.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::length2 | +( | +const detail::tquat< T > & | +q | +) | ++ |
Returns the squared length of x.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::length2 | +( | +const detail::tvec4< T > & | +x | +) | ++ |
Returns the squared length of x.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::length2 | +( | +const detail::tvec3< T > & | +x | +) | ++ |
Returns the squared length of x.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::length2 | +( | +const detail::tvec2< T > & | +x | +) | ++ |
Returns the squared length of x.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::length2 | +( | +const T | +x | +) | ++ |
Returns the squared length of x.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::lxNorm | +( | +const detail::tvec3< T > & | +x, | +|
+ | + | unsigned int | +Depth | + |
+ | ) | ++ |
Returns the L norm of v.
+From GLM_GTX_norm extension.
+ +T glm::gtx::norm::lxNorm | +( | +const detail::tvec3< T > & | +x, | +|
+ | + | const detail::tvec3< T > & | +y, | +|
+ | + | unsigned int | +Depth | + |
+ | ) | ++ |
Returns the L norm between x and y.
+From GLM_GTX_norm extension.
+ +GLM_GTX_normal extension: Compute the normal of a triangle. +More...
+Functions | |
template<typename T > | |
detail::tvec3< T > | triangleNormal (detail::tvec3< T > const &p1, detail::tvec3< T > const &p2, detail::tvec3< T > const &p3) |
Computes triangle normal from triangle points. |
GLM_GTX_normal extension: Compute the normal of a triangle.
+detail::tvec3<T> glm::gtx::normal::triangleNormal | +( | +detail::tvec3< T > const & | +p1, | +|
+ | + | detail::tvec3< T > const & | +p2, | +|
+ | + | detail::tvec3< T > const & | +p3 | + |
+ | ) | ++ |
Computes triangle normal from triangle points.
+From GLM_GTX_normal extension.
+ +GLM_GTX_normalize_dot extension: Dot product of vectors that need to be normalize with a single square root. +More...
+Functions | |
template<typename genType > | |
genType::value_type | fastNormalizeDot (genType const &x, genType const &y) |
Normalize parameters and returns the dot product of x and y. | |
template<typename genType > | |
genType::value_type | normalizeDot (genType const &x, genType const &y) |
Normalize parameters and returns the dot product of x and y. |
GLM_GTX_normalize_dot extension: Dot product of vectors that need to be normalize with a single square root.
+genType::value_type glm::gtx::normalize_dot::fastNormalizeDot | +( | +genType const & | +x, | +|
+ | + | genType const & | +y | + |
+ | ) | ++ |
Normalize parameters and returns the dot product of x and y.
+Faster that dot(fastNormalize(x), fastNormalize(y)). From GLM_GTX_normalize_dot extension.
+ +genType::value_type glm::gtx::normalize_dot::normalizeDot | +( | +genType const & | +x, | +|
+ | + | genType const & | +y | + |
+ | ) | ++ |
Normalize parameters and returns the dot product of x and y.
+It's faster that dot(normalize(x), normalize(y)). From GLM_GTX_normalize_dot extension.
+ +GLM_GTX_number_precision extension: Defined size types. +More...
+Typedefs | |
+typedef f16 | f16mat1 |
Half-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f16 | f16mat1x1 |
Half-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f16 | f16vec1 |
Half-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f32 | f32mat1 |
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f32 | f32mat1x1 |
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f32 | f32vec1 |
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f64 | f64mat1 |
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f64 | f64mat1x1 |
Double-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef f64 | f64vec1 |
Single-precision floating-point scalar. (from GLM_GTX_number_precision extension). | |
+typedef u16 | u16vec1 |
16bit unsigned integer scalar. (from GLM_GTX_number_precision extension) | |
+typedef u32 | u32vec1 |
32bit unsigned integer scalar. (from GLM_GTX_number_precision extension) | |
+typedef u64 | u64vec1 |
64bit unsigned integer scalar. (from GLM_GTX_number_precision extension) | |
+typedef u8 | u8vec1 |
8bit unsigned integer scalar. (from GLM_GTX_number_precision extension) |
GLM_GTX_number_precision extension: Defined size types.
+GLM_GTX_ocl_type extension: OpenCL types. +More...
+Typedefs | |
+typedef detail::int8 | cl_char |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::int8 | cl_char1 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::int8 > | cl_char2 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::int8 > | cl_char3 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::int8 > | cl_char4 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::float32 | cl_float |
Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension). | |
+typedef detail::float32 | cl_float1 |
Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension). | |
+typedef detail::tvec2 +< detail::float32 > | cl_float2 |
Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension). | |
+typedef detail::tvec3 +< detail::float32 > | cl_float3 |
Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension). | |
+typedef detail::tvec4 +< detail::float32 > | cl_float4 |
Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension). | |
+typedef detail::float16 | cl_half |
Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension). | |
+typedef detail::int32 | cl_int |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::int32 | cl_int1 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::int32 > | cl_int2 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::int32 > | cl_int3 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::int32 > | cl_int4 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::int64 | cl_long |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::int64 | cl_long1 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::int64 > | cl_long2 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::int64 > | cl_long3 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::int64 > | cl_long4 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::int16 | cl_short |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::int16 | cl_short1 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::int16 > | cl_short2 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::int16 > | cl_short3 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::int16 > | cl_short4 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint8 | cl_uchar |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint8 | cl_uchar1 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::uint8 > | cl_uchar2 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::uint8 > | cl_uchar3 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::uint8 > | cl_uchar4 |
8bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint32 | cl_uint |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint32 | cl_uint1 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::uint32 > | cl_uint2 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::uint32 > | cl_uint3 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::uint32 > | cl_uint4 |
32bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint64 | cl_ulong |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint64 | cl_ulong1 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::uint64 > | cl_ulong2 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::uint64 > | cl_ulong3 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::uint64 > | cl_ulong4 |
64bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint16 | cl_ushort |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::uint16 | cl_ushort1 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec2 +< detail::uint16 > | cl_ushort2 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec3 +< detail::uint16 > | cl_ushort3 |
16bit signed integer. (from GLM_GTX_ocl_type extension) | |
+typedef detail::tvec4 +< detail::uint16 > | cl_ushort4 |
16bit signed integer. (from GLM_GTX_ocl_type extension) |
GLM_GTX_ocl_type extension: OpenCL types.
+GLM_GTX_optimum_pow extension: Integer exponenciation of power functions. +More...
+Functions | |
template<typename genType > | |
genType | pow2 (const genType &x) |
Returns x raised to the power of 2. | |
template<typename genType > | |
genType | pow3 (const genType &x) |
Returns x raised to the power of 3. | |
template<typename genType > | |
genType | pow4 (const genType &x) |
Returns x raised to the power of 4. | |
detail::tvec4< bool > | powOfTwo (const detail::tvec4< int > &x) |
Checks to determine if the parameter component are power of 2 numbers. | |
detail::tvec3< bool > | powOfTwo (const detail::tvec3< int > &x) |
Checks to determine if the parameter component are power of 2 numbers. | |
detail::tvec2< bool > | powOfTwo (const detail::tvec2< int > &x) |
Checks to determine if the parameter component are power of 2 numbers. | |
bool | powOfTwo (int num) |
Checks if the parameter is a power of 2 number. |
GLM_GTX_optimum_pow extension: Integer exponenciation of power functions.
+genType glm::gtx::optimum_pow::pow2 | +( | +const genType & | +x | +) | ++ |
Returns x raised to the power of 2.
+From GLM_GTX_optimum_pow extension.
+ +genType glm::gtx::optimum_pow::pow3 | +( | +const genType & | +x | +) | ++ |
Returns x raised to the power of 3.
+From GLM_GTX_optimum_pow extension.
+ +genType glm::gtx::optimum_pow::pow4 | +( | +const genType & | +x | +) | ++ |
Returns x raised to the power of 4.
+From GLM_GTX_optimum_pow extension.
+ +detail::tvec4<bool> glm::gtx::optimum_pow::powOfTwo | +( | +const detail::tvec4< int > & | +x | +) | ++ |
Checks to determine if the parameter component are power of 2 numbers.
+From GLM_GTX_optimum_pow extension.
+ +detail::tvec3<bool> glm::gtx::optimum_pow::powOfTwo | +( | +const detail::tvec3< int > & | +x | +) | ++ |
Checks to determine if the parameter component are power of 2 numbers.
+From GLM_GTX_optimum_pow extension.
+ +detail::tvec2<bool> glm::gtx::optimum_pow::powOfTwo | +( | +const detail::tvec2< int > & | +x | +) | ++ |
Checks to determine if the parameter component are power of 2 numbers.
+From GLM_GTX_optimum_pow extension.
+ +bool glm::gtx::optimum_pow::powOfTwo | +( | +int | +num | +) | ++ |
Checks if the parameter is a power of 2 number.
+From GLM_GTX_optimum_pow extension.
+ +GLM_GTX_orthonormalize extension: Orthonormalize matrices. +More...
+Functions | |
template<typename T > | |
detail::tvec3< T > | orthonormalize (const detail::tvec3< T > &x, const detail::tvec3< T > &y) |
Orthonormalizes x according y. | |
template<typename T > | |
detail::tmat3x3< T > | orthonormalize (const detail::tmat3x3< T > &m) |
Returns the orthonormalized matrix of m. |
GLM_GTX_orthonormalize extension: Orthonormalize matrices.
+detail::tvec3<T> glm::gtx::orthonormalize::orthonormalize | +( | +const detail::tvec3< T > & | +x, | +|
+ | + | const detail::tvec3< T > & | +y | + |
+ | ) | ++ |
Orthonormalizes x according y.
+From GLM_GTX_orthonormalize extension.
+ +detail::tmat3x3<T> glm::gtx::orthonormalize::orthonormalize | +( | +const detail::tmat3x3< T > & | +m | +) | ++ |
Returns the orthonormalized matrix of m.
+From GLM_GTX_orthonormalize extension.
+ +GLM_GTX_perpendicular extension: Perpendicular of a vector from other one. +More...
+Functions | |
template<typename T > | |
detail::tvec4< T > | perp (detail::tvec4< T > const &x, detail::tvec4< T > const &Normal) |
Projects x a perpendicular axis of Normal. | |
template<typename T > | |
detail::tvec3< T > | perp (detail::tvec3< T > const &x, detail::tvec3< T > const &Normal) |
Projects x a perpendicular axis of Normal. | |
template<typename T > | |
detail::tvec2< T > | perp (detail::tvec2< T > const &x, detail::tvec2< T > const &Normal) |
Projects x a perpendicular axis of Normal. |
GLM_GTX_perpendicular extension: Perpendicular of a vector from other one.
+detail::tvec4<T> glm::gtx::perpendicular::perp | +( | +detail::tvec4< T > const & | +x, | +|
+ | + | detail::tvec4< T > const & | +Normal | + |
+ | ) | ++ |
Projects x a perpendicular axis of Normal.
+From GLM_GTX_perpendicular extension.
+ +detail::tvec3<T> glm::gtx::perpendicular::perp | +( | +detail::tvec3< T > const & | +x, | +|
+ | + | detail::tvec3< T > const & | +Normal | + |
+ | ) | ++ |
Projects x a perpendicular axis of Normal.
+From GLM_GTX_perpendicular extension.
+ +detail::tvec2<T> glm::gtx::perpendicular::perp | +( | +detail::tvec2< T > const & | +x, | +|
+ | + | detail::tvec2< T > const & | +Normal | + |
+ | ) | ++ |
Projects x a perpendicular axis of Normal.
+From GLM_GTX_perpendicular extension.
+ +GLM_GTX_polar_coordinates extension: Conversion from Euclidean space to polar space and revert. +More...
+Functions | |
template<typename T > | |
detail::tvec3< T > | euclidean (const detail::tvec3< T > &polar) |
Convert Polar to Euclidean coordinates. | |
template<typename T > | |
detail::tvec3< T > | polar (const detail::tvec3< T > &euclidean) |
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude. |
GLM_GTX_polar_coordinates extension: Conversion from Euclidean space to polar space and revert.
+detail::tvec3<T> glm::gtx::polar_coordinates::euclidean | +( | +const detail::tvec3< T > & | +polar | +) | ++ |
Convert Polar to Euclidean coordinates.
+From GLM_GTX_polar_coordinates extension.
+ +detail::tvec3<T> glm::gtx::polar_coordinates::polar | +( | +const detail::tvec3< T > & | +euclidean | +) | ++ |
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.
+From GLM_GTX_polar_coordinates extension.
+ +GLM_GTX_projection extension: Projection of a vector to other one. +More...
+Functions | |
template<typename T > | |
detail::tvec4< T > | proj (detail::tvec4< T > const &x, detail::tvec4< T > const &Normal) |
Projects x on Normal. | |
template<typename T > | |
detail::tvec3< T > | proj (detail::tvec3< T > const &x, detail::tvec3< T > const &Normal) |
Projects x on Normal. | |
template<typename T > | |
detail::tvec2< T > | proj (detail::tvec2< T > const &x, detail::tvec2< T > const &Normal) |
Projects x on Normal. |
GLM_GTX_projection extension: Projection of a vector to other one.
+detail::tvec4<T> glm::gtx::projection::proj | +( | +detail::tvec4< T > const & | +x, | +|
+ | + | detail::tvec4< T > const & | +Normal | + |
+ | ) | ++ |
Projects x on Normal.
+From GLM_GTX_projection extension.
+ +detail::tvec3<T> glm::gtx::projection::proj | +( | +detail::tvec3< T > const & | +x, | +|
+ | + | detail::tvec3< T > const & | +Normal | + |
+ | ) | ++ |
Projects x on Normal.
+From GLM_GTX_projection extension.
+ +detail::tvec2<T> glm::gtx::projection::proj | +( | +detail::tvec2< T > const & | +x, | +|
+ | + | detail::tvec2< T > const & | +Normal | + |
+ | ) | ++ |
Projects x on Normal.
+From GLM_GTX_projection extension.
+ +GLM_GTX_quaternion extension: Quaternion types and functions. +More...
+Functions | |
template<typename valType > | |
valType | angle (detail::tquat< valType > const &x) |
Returns the q rotation angle. | |
template<typename valType > | |
detail::tquat< valType > | angleAxis (valType const &angle, detail::tvec3< valType > const &v) |
Build a quaternion from an angle and an axis. | |
template<typename valType > | |
detail::tquat< valType > | angleAxis (valType const &angle, valType const &x, valType const &y, valType const &z) |
Build a quaternion from an angle and an axis. | |
template<typename valType > | |
detail::tvec3< valType > | axis (detail::tquat< valType > const &x) |
Returns the q rotation axis. | |
template<typename valType > | |
detail::tvec3< valType > | cross (detail::tvec3< valType > const &v, detail::tquat< valType > const &q) |
Compute a cross product between a vector and a quaternion. | |
template<typename valType > | |
detail::tvec3< valType > | cross (detail::tquat< valType > const &q, detail::tvec3< valType > const &v) |
Compute a cross product between a quaternion and a vector. | |
template<typename valType > | |
detail::tvec3< valType > | eularAngles (detail::tquat< valType > const &x) |
Returns euler angles, yitch as x, yaw as y, roll as z. | |
template<typename valType > | |
detail::tquat< valType > | exp (detail::tquat< valType > const &q, valType const &exponent) |
Returns a exp of a quaternion. | |
template<typename valType > | |
valType | extractRealComponent (detail::tquat< valType > const &q) |
Extract the real component of a quaternion. | |
template<typename valType > | |
detail::tquat< valType > | intermediate (detail::tquat< valType > const &prev, detail::tquat< valType > const &curr, detail::tquat< valType > const &next) |
Returns an intermediate control point for squad interpolation. | |
template<typename valType > | |
detail::tquat< valType > | log (detail::tquat< valType > const &q) |
Returns a log of a quaternion. | |
template<typename valType > | |
valType | pitch (detail::tquat< valType > const &x) |
Returns pitch value of euler angles. | |
template<typename valType > | |
detail::tquat< valType > | pow (detail::tquat< valType > const &x, valType const &y) |
Returns x raised to the y power. | |
template<typename valType > | |
valType | roll (detail::tquat< valType > const &x) |
Returns roll value of euler angles. | |
template<typename valType > | |
detail::tvec4< valType > | rotate (detail::tquat< valType > const &q, detail::tvec4< valType > const &v) |
Rotates a 4 components vector by a quaternion. | |
template<typename valType > | |
detail::tvec3< valType > | rotate (detail::tquat< valType > const &q, detail::tvec3< valType > const &v) |
Returns quarternion square root. | |
template<typename valType > | |
detail::tquat< valType > | squad (detail::tquat< valType > const &q1, detail::tquat< valType > const &q2, detail::tquat< valType > const &s1, detail::tquat< valType > const &s2, valType const &h) |
Compute a point on a path according squad equation. | |
template<typename valType > | |
detail::tmat3x3< valType > | toMat3 (detail::tquat< valType > const &x) |
Converts a quaternion to a 3 * 3 matrix. | |
template<typename valType > | |
detail::tmat4x4< valType > | toMat4 (detail::tquat< valType > const &x) |
Converts a quaternion to a 4 * 4 matrix. | |
template<typename valType > | |
detail::tquat< valType > | toQuat (detail::tmat4x4< valType > const &x) |
Converts a 4 * 4 matrix to a quaternion. | |
template<typename valType > | |
detail::tquat< valType > | toQuat (detail::tmat3x3< valType > const &x) |
Converts a 3 * 3 matrix to a quaternion. | |
template<typename valType > | |
valType | yaw (detail::tquat< valType > const &x) |
Returns yaw value of euler angles. |
GLM_GTX_quaternion extension: Quaternion types and functions.
+valType glm::gtx::quaternion::angle | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Returns the q rotation angle.
+From GLM_GTX_quaternion extension.
+ +detail::tquat<valType> glm::gtx::quaternion::angleAxis | +( | +valType const & | +angle, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Build a quaternion from an angle and an axis.
+From GLM_GTX_quaternion extension.
+ +detail::tquat<valType> glm::gtx::quaternion::angleAxis | +( | +valType const & | +angle, | +|
+ | + | valType const & | +x, | +|
+ | + | valType const & | +y, | +|
+ | + | valType const & | +z | + |
+ | ) | ++ |
Build a quaternion from an angle and an axis.
+From GLM_GTX_quaternion extension.
+ +detail::tvec3<valType> glm::gtx::quaternion::axis | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Returns the q rotation axis.
+From GLM_GTX_quaternion extension.
+ +detail::tvec3<valType> glm::gtx::quaternion::cross | +( | +detail::tvec3< valType > const & | +v, | +|
+ | + | detail::tquat< valType > const & | +q | + |
+ | ) | ++ |
Compute a cross product between a vector and a quaternion.
+From GLM_GTX_quaternion extension.
+ +detail::tvec3<valType> glm::gtx::quaternion::cross | +( | +detail::tquat< valType > const & | +q, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Compute a cross product between a quaternion and a vector.
+From GLM_GTX_quaternion extension.
+ +detail::tvec3<valType> glm::gtx::quaternion::eularAngles | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Returns euler angles, yitch as x, yaw as y, roll as z.
+From GLM_GTX_quaternion extension.
+ +detail::tquat<valType> glm::gtx::quaternion::exp | +( | +detail::tquat< valType > const & | +q, | +|
+ | + | valType const & | +exponent | + |
+ | ) | ++ |
Returns a exp of a quaternion.
+From GLM_GTX_quaternion extension.
+ +valType glm::gtx::quaternion::extractRealComponent | +( | +detail::tquat< valType > const & | +q | +) | ++ |
Extract the real component of a quaternion.
+From GLM_GTX_quaternion extension.
+ +detail::tquat<valType> glm::gtx::quaternion::intermediate | +( | +detail::tquat< valType > const & | +prev, | +|
+ | + | detail::tquat< valType > const & | +curr, | +|
+ | + | detail::tquat< valType > const & | +next | + |
+ | ) | ++ |
Returns an intermediate control point for squad interpolation.
+From GLM_GTX_quaternion extension.
+ +detail::tquat<valType> glm::gtx::quaternion::log | +( | +detail::tquat< valType > const & | +q | +) | ++ |
Returns a log of a quaternion.
+From GLM_GTX_quaternion extension.
+ +valType glm::gtx::quaternion::pitch | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Returns pitch value of euler angles.
+From GLM_GTX_quaternion extension.
+ +detail::tquat<valType> glm::gtx::quaternion::pow | +( | +detail::tquat< valType > const & | +x, | +|
+ | + | valType const & | +y | + |
+ | ) | ++ |
Returns x raised to the y power.
+From GLM_GTX_quaternion extension.
+ +valType glm::gtx::quaternion::roll | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Returns roll value of euler angles.
+From GLM_GTX_quaternion extension.
+ +detail::tvec4<valType> glm::gtx::quaternion::rotate | +( | +detail::tquat< valType > const & | +q, | +|
+ | + | detail::tvec4< valType > const & | +v | + |
+ | ) | ++ |
Rotates a 4 components vector by a quaternion.
+From GLM_GTX_transform extension.
+ +detail::tvec3<valType> glm::gtx::quaternion::rotate | +( | +detail::tquat< valType > const & | +q, | +|
+ | + | detail::tvec3< valType > const & | +v | + |
+ | ) | ++ |
Returns quarternion square root.
+From GLM_GTX_quaternion extension. Rotates a 3 components vector by a quaternion. From GLM_GTX_transform extension.
+ +detail::tquat<valType> glm::gtx::quaternion::squad | +( | +detail::tquat< valType > const & | +q1, | +|
+ | + | detail::tquat< valType > const & | +q2, | +|
+ | + | detail::tquat< valType > const & | +s1, | +|
+ | + | detail::tquat< valType > const & | +s2, | +|
+ | + | valType const & | +h | + |
+ | ) | ++ |
Compute a point on a path according squad equation.
+q1 and q2 are control points; s1 and s2 are intermediate control points. From GLM_GTX_quaternion extension.
+ +detail::tmat3x3<valType> glm::gtx::quaternion::toMat3 | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Converts a quaternion to a 3 * 3 matrix.
+From GLM_GTX_quaternion extension.
+ +Definition at line 166 of file gtx/quaternion.hpp.
+ +References glm::gtc::quaternion::mat3_cast().
+ +detail::tmat4x4<valType> glm::gtx::quaternion::toMat4 | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Converts a quaternion to a 4 * 4 matrix.
+From GLM_GTX_quaternion extension.
+ +Definition at line 172 of file gtx/quaternion.hpp.
+ +References glm::gtc::quaternion::mat4_cast().
+ +detail::tquat<valType> glm::gtx::quaternion::toQuat | +( | +detail::tmat4x4< valType > const & | +x | +) | ++ |
Converts a 4 * 4 matrix to a quaternion.
+From GLM_GTX_quaternion extension.
+ +Definition at line 184 of file gtx/quaternion.hpp.
+ +References glm::gtc::quaternion::quat_cast().
+ +detail::tquat<valType> glm::gtx::quaternion::toQuat | +( | +detail::tmat3x3< valType > const & | +x | +) | ++ |
Converts a 3 * 3 matrix to a quaternion.
+From GLM_GTX_quaternion extension.
+ +Definition at line 178 of file gtx/quaternion.hpp.
+ +References glm::gtc::quaternion::quat_cast().
+ +valType glm::gtx::quaternion::yaw | +( | +detail::tquat< valType > const & | +x | +) | ++ |
Returns yaw value of euler angles.
+From GLM_GTX_quaternion extension.
+ +GLM_GTX_random extension: Generate random number from varius distribution methods. +More...
+Functions | |
+template<typename T > | |
T | compRand1 (T Min, T Max) |
Generate a random number in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<> | |
float | compRand1 () |
Generate a random number in the interval [0, 1], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
T | compRand1 () |
Generate a random number in the interval [0, 1], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | compRand2 (const detail::tvec2< T > &Min, const detail::tvec2< T > &Max) |
Generate 2 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | compRand2 (T Min, T Max) |
Generate 2 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | compRand3 (const detail::tvec3< T > &Min, const detail::tvec3< T > &Max) |
Generate 3 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | compRand3 (T Min, T Max) |
Generate 3 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | compRand4 (const detail::tvec4< T > &Min, const detail::tvec4< T > &Max) |
Generate 4 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | compRand4 (T Min, T Max) |
Generate 4 random numbers in the interval [Min, Max], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
T | gaussRand1 (T mean, T std_deviation) |
Gererate a random floating number according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | gaussRand2 (const detail::tvec2< T > &mean, const detail::tvec2< T > &std_deviation) |
Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | gaussRand2 (T mean, const detail::tvec2< T > &std_deviation) |
Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | gaussRand2 (const detail::tvec2< T > &mean, T std_deviation) |
Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | gaussRand2 (T mean, T std_deviation) |
Gererate 2 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | gaussRand3 (const detail::tvec3< T > &mean, const detail::tvec3< T > &std_deviation) |
Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | gaussRand3 (T mean, const detail::tvec3< T > &std_deviation) |
Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | gaussRand3 (const detail::tvec3< T > &mean, T std_deviation) |
Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | gaussRand3 (T mean, T std_deviation) |
Gererate 3 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | gaussRand4 (const detail::tvec4< T > &mean, const detail::tvec4< T > &std_deviation) |
Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | gaussRand4 (T mean, const detail::tvec4< T > &std_deviation) |
Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | gaussRand4 (const detail::tvec4< T > &mean, T std_deviation) |
Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | gaussRand4 (T mean, T std_deviation) |
Gererate 4 random floating numbers according a Gauss distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | normalizedRand2 (T Min, T Max) |
Generate a scaled and normalized 2D vector regulary distribute on a circle (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | normalizedRand2 () |
Generate a normalized 2D vector regulary distribute on a circle (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | normalizedRand3 (T Min, T Max) |
Generate a scaled and normalized 3D vector regulary distribute on a sphere (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | normalizedRand3 () |
Generate a normalized 3D vector regulary distribute on a sphere (From GLM_GTX_random extension). | |
+template<> | |
float | signedRand1 () |
Generate a random number in the interval [-1, 1], according a linear distribution (From GLM_GTX_random extension). | |
template<typename T > | |
T | signedRand1 () |
Generate a random number in the interval [-1, 1], according a linear distribution. | |
+template<typename T > | |
detail::tvec2< T > | signedRand2 () |
Generate 2 random numbers in the interval [-1, 1], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | signedRand3 () |
Generate 3 random numbers in the interval [-1, 1], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | signedRand4 () |
Generate 4 random numbers in the interval [-1, 1], according a linear distribution (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | vecRand2 (T MinRadius, T MaxRadius) |
Generate a random normalized 2 component vector. It's a spherical uniform distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec2< T > | vecRand2 () |
Generate a random normalized 2 component vector. It's a spherical uniform distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | vecRand3 (T MinRadius, T MaxRadius) |
Generate a random normalized 3 component vector. It's a spherical uniform distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec3< T > | vecRand3 () |
Generate a random normalized 3 component vector. It's a spherical uniform distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | vecRand4 (T MinRadius, T MaxRadius) |
Generate a random normalized 4 component vector. It's a spherical uniform distribution. (From GLM_GTX_random extension). | |
+template<typename T > | |
detail::tvec4< T > | vecRand4 () |
Generate a random normalized 4 component vector. It's a spherical uniform distribution. (From GLM_GTX_random extension). |
GLM_GTX_random extension: Generate random number from varius distribution methods.
+T glm::gtx::random::signedRand1 | +( | ++ | ) | ++ |
Generate a random number in the interval [-1, 1], according a linear distribution.
+From GLM_GTX_random extension.
+ +GLM_GTX_raw_data extension: Projection of a vector to other one. +More...
+Typedefs | |
typedef gtc::type_precision::uint8 | byte |
Type for byte numbers. | |
typedef gtc::type_precision::uint32 | dword |
Type for dword numbers. | |
typedef gtc::type_precision::uint64 | qword |
Type for qword numbers. | |
typedef gtc::type_precision::uint16 | word |
Type for word numbers. |
GLM_GTX_raw_data extension: Projection of a vector to other one.
+typedef gtc::type_precision::uint8 byte | +
Type for byte numbers.
+From GLM_GTX_raw_data extension.
+ +Definition at line 29 of file raw_data.hpp.
+ +typedef gtc::type_precision::uint32 dword | +
Type for dword numbers.
+From GLM_GTX_raw_data extension.
+ +Definition at line 37 of file raw_data.hpp.
+ +typedef gtc::type_precision::uint64 qword | +
Type for qword numbers.
+From GLM_GTX_raw_data extension.
+ +Definition at line 41 of file raw_data.hpp.
+ +typedef gtc::type_precision::uint16 word | +
Type for word numbers.
+From GLM_GTX_raw_data extension.
+ +Definition at line 33 of file raw_data.hpp.
+ +GLM_GTX_reciprocal extension: Define secant, cosecant and cotangent functions. +More...
+Functions | |
template<typename genType > | |
genType | acot (genType const &x) |
Inverse cotangent function. | |
template<typename genType > | |
genType | acoth (genType const &x) |
Inverse cotangent hyperbolic function. | |
template<typename genType > | |
genType | acsc (genType const &x) |
Inverse cosecant function. | |
template<typename genType > | |
genType | acsch (genType const &x) |
Inverse cosecant hyperbolic function. | |
template<typename genType > | |
genType | asec (genType const &x) |
Inverse secant function. | |
template<typename genType > | |
genType | asech (genType const &x) |
Inverse secant hyperbolic function. | |
template<typename genType > | |
genType | cot (genType const &angle) |
Cotangent function. | |
template<typename genType > | |
genType | coth (genType const &angle) |
Cotangent hyperbolic function. | |
template<typename genType > | |
genType | csc (genType const &angle) |
Cosecant function. | |
template<typename genType > | |
genType | csch (genType const &angle) |
Cosecant hyperbolic function. | |
template<typename genType > | |
genType | sec (genType const &angle) |
Secant function. | |
template<typename genType > | |
genType | sech (genType const &angle) |
Secant hyperbolic function. |
GLM_GTX_reciprocal extension: Define secant, cosecant and cotangent functions.
+genType glm::gtx::reciprocal::acot | +( | +genType const & | +x | +) | ++ |
Inverse cotangent function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::acoth | +( | +genType const & | +x | +) | ++ |
Inverse cotangent hyperbolic function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::acsc | +( | +genType const & | +x | +) | ++ |
Inverse cosecant function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::acsch | +( | +genType const & | +x | +) | ++ |
Inverse cosecant hyperbolic function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::asec | +( | +genType const & | +x | +) | ++ |
Inverse secant function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::asech | +( | +genType const & | +x | +) | ++ |
Inverse secant hyperbolic function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::cot | +( | +genType const & | +angle | +) | ++ |
Cotangent function.
+adjacent / opposite or 1 / tan(x) From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::coth | +( | +genType const & | +angle | +) | ++ |
Cotangent hyperbolic function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::csc | +( | +genType const & | +angle | +) | ++ |
Cosecant function.
+hypotenuse / opposite or 1 / sin(x) From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::csch | +( | +genType const & | +angle | +) | ++ |
Cosecant hyperbolic function.
+From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::sec | +( | +genType const & | +angle | +) | ++ |
Secant function.
+hypotenuse / adjacent or 1 / cos(x) From GLM_GTX_reciprocal extension.
+ +genType glm::gtx::reciprocal::sech | +( | +genType const & | +angle | +) | ++ |
Secant hyperbolic function.
+From GLM_GTX_reciprocal extension.
+ +GLM_GTX_rotate_vector extension: Function to directly rotate a vector. +More...
+Functions | |
template<typename T > | |
detail::tmat4x4< T > | orientation (const detail::tvec3< T > &Normal, const detail::tvec3< T > &Up) |
Build a rotation matrix from a normal and a up vector. | |
template<typename T > | |
detail::tvec4< T > | rotate (const detail::tvec4< T > &v, T angle, const detail::tvec3< T > &normal) |
Rotate a four dimentionnals vector around an axis. | |
template<typename T > | |
detail::tvec3< T > | rotate (const detail::tvec3< T > &v, T angle, const detail::tvec3< T > &normal) |
Rotate a three dimentionnals vector around an axis. | |
template<typename T > | |
detail::tvec2< T > | rotate (const detail::tvec2< T > &v, T angle) |
Rotate a two dimentionnals vector. | |
template<typename T > | |
detail::tvec4< T > | rotateX (const detail::tvec4< T > &v, T angle) |
Rotate a four dimentionnals vector around the X axis. | |
template<typename T > | |
detail::tvec3< T > | rotateX (const detail::tvec3< T > &v, T angle) |
Rotate a three dimentionnals vector around the X axis. | |
template<typename T > | |
detail::tvec4< T > | rotateY (const detail::tvec4< T > &v, T angle) |
Rotate a four dimentionnals vector around the X axis. | |
template<typename T > | |
detail::tvec3< T > | rotateY (const detail::tvec3< T > &v, T angle) |
Rotate a three dimentionnals vector around the Y axis. | |
template<typename T > | |
detail::tvec4< T > | rotateZ (const detail::tvec4< T > &v, T angle) |
Rotate a four dimentionnals vector around the X axis. | |
template<typename T > | |
detail::tvec3< T > | rotateZ (const detail::tvec3< T > &v, T angle) |
Rotate a three dimentionnals vector around the Z axis. |
GLM_GTX_rotate_vector extension: Function to directly rotate a vector.
+detail::tmat4x4<T> glm::gtx::rotate_vector::orientation | +( | +const detail::tvec3< T > & | +Normal, | +|
+ | + | const detail::tvec3< T > & | +Up | + |
+ | ) | ++ |
Build a rotation matrix from a normal and a up vector.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec4<T> glm::gtx::rotate_vector::rotate | +( | +const detail::tvec4< T > & | +v, | +|
+ | + | T | +angle, | +|
+ | + | const detail::tvec3< T > & | +normal | + |
+ | ) | ++ |
Rotate a four dimentionnals vector around an axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec3<T> glm::gtx::rotate_vector::rotate | +( | +const detail::tvec3< T > & | +v, | +|
+ | + | T | +angle, | +|
+ | + | const detail::tvec3< T > & | +normal | + |
+ | ) | ++ |
Rotate a three dimentionnals vector around an axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec2<T> glm::gtx::rotate_vector::rotate | +( | +const detail::tvec2< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a two dimentionnals vector.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec4<T> glm::gtx::rotate_vector::rotateX | +( | +const detail::tvec4< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a four dimentionnals vector around the X axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec3<T> glm::gtx::rotate_vector::rotateX | +( | +const detail::tvec3< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a three dimentionnals vector around the X axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec4<T> glm::gtx::rotate_vector::rotateY | +( | +const detail::tvec4< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a four dimentionnals vector around the X axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec3<T> glm::gtx::rotate_vector::rotateY | +( | +const detail::tvec3< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a three dimentionnals vector around the Y axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec4<T> glm::gtx::rotate_vector::rotateZ | +( | +const detail::tvec4< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a four dimentionnals vector around the X axis.
+From GLM_GTX_rotate_vector extension.
+ +detail::tvec3<T> glm::gtx::rotate_vector::rotateZ | +( | +const detail::tvec3< T > & | +v, | +|
+ | + | T | +angle | + |
+ | ) | ++ |
Rotate a three dimentionnals vector around the Z axis.
+From GLM_GTX_rotate_vector extension.
+ +GLM_GTX_simd_mat4 extension: SIMD implementation of vec4 type. +More...
+GLM_GTX_simd_mat4 extension: SIMD implementation of vec4 type.
+GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type. +More...
+GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type.
+GLM_GTX_spline extension: Spline functions. +More...
+Functions | |
template<typename genType > | |
genType | catmullRom (const genType &v1, const genType &v2, const genType &v3, const genType &v4, const GLMvalType &s) |
Return a point from a catmull rom curve. | |
template<typename genType > | |
genType | cubic (const genType &v1, const genType &v2, const genType &v3, const genType &v4, const GLMvalType &s) |
Return a point from a cubic curve. | |
template<typename genType > | |
genType | hermite (const genType &v1, const genType &t1, const genType &v2, const genType &t2, const GLMvalType &s) |
Return a point from a hermite curve. |
GLM_GTX_spline extension: Spline functions.
+genType glm::gtx::spline::catmullRom | +( | +const genType & | +v1, | +|
+ | + | const genType & | +v2, | +|
+ | + | const genType & | +v3, | +|
+ | + | const genType & | +v4, | +|
+ | + | const GLMvalType & | +s | + |
+ | ) | ++ |
Return a point from a catmull rom curve.
+From GLM_GTX_spline extension.
+ +genType glm::gtx::spline::cubic | +( | +const genType & | +v1, | +|
+ | + | const genType & | +v2, | +|
+ | + | const genType & | +v3, | +|
+ | + | const genType & | +v4, | +|
+ | + | const GLMvalType & | +s | + |
+ | ) | ++ |
Return a point from a cubic curve.
+From GLM_GTX_spline extension.
+ +genType glm::gtx::spline::hermite | +( | +const genType & | +v1, | +|
+ | + | const genType & | +t1, | +|
+ | + | const genType & | +v2, | +|
+ | + | const genType & | +t2, | +|
+ | + | const GLMvalType & | +s | + |
+ | ) | ++ |
Return a point from a hermite curve.
+From GLM_GTX_spline extension.
+ +GLM_GTX_statistics_operation extension: - Work in progress - Statistics functions. +More...
+GLM_GTX_statistics_operation extension: - Work in progress - Statistics functions.
+GLM_GTX_std_based_type extension: Add support vector types based on C++ standard type. +More...
+GLM_GTX_std_based_type extension: Add support vector types based on C++ standard type.
+GLM_GTX_string_cast extension: Setup strings for GLM type values. +More...
+Functions | |
template<typename genType > | |
std::string | string (genType const &x) |
Create a string from a GLM type value. |
GLM_GTX_string_cast extension: Setup strings for GLM type values.
+std::string glm::gtx::string_cast::string | +( | +genType const & | +x | +) | ++ |
Create a string from a GLM type value.
+From GLM_GTX_string_cast extension.
+ +GLM_GTX_transform extension: Add transformation matrices. +More...
+Functions | |
template<typename T > | |
detail::tmat4x4< T > | rotate (detail::tmat4x4< T > const &m, T angle, T x, T y, T z) |
Transforms a matrix with a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees. | |
template<typename T > | |
detail::tmat4x4< T > | rotate (T angle, detail::tvec3< T > const &v) |
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees. | |
template<typename T > | |
detail::tmat4x4< T > | rotate (T angle, T x, T y, T z) |
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees. | |
template<typename T > | |
detail::tmat4x4< T > | scale (detail::tvec3< T > const &v) |
Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. | |
template<typename T > | |
detail::tmat4x4< T > | scale (detail::tmat4x4< T > const &m, T x, T y, T z) |
Transforms a matrix with a scale 4 * 4 matrix created from 3 scalars. | |
template<typename T > | |
detail::tmat4x4< T > | scale (T x, T y, T z) |
Builds a scale 4 * 4 matrix created from 3 scalars. | |
template<typename T > | |
detail::tmat4x4< T > | translate (detail::tvec3< T > const &v) |
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. | |
template<typename T > | |
detail::tmat4x4< T > | translate (detail::tmat4x4< T > const &m, T x, T y, T z) |
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. | |
template<typename T > | |
detail::tmat4x4< T > | translate (T x, T y, T z) |
Builds a translation 4 * 4 matrix created from 3 scalars. |
GLM_GTX_transform extension: Add transformation matrices.
+detail::tmat4x4<T> glm::gtx::transform::rotate | +( | +detail::tmat4x4< T > const & | +m, | +|
+ | + | T | +angle, | +|
+ | + | T | +x, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Transforms a matrix with a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::rotate | +( | +T | +angle, | +|
+ | + | detail::tvec3< T > const & | +v | + |
+ | ) | ++ |
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::rotate | +( | +T | +angle, | +|
+ | + | T | +x, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::scale | +( | +detail::tvec3< T > const & | +v | +) | ++ |
Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::scale | +( | +detail::tmat4x4< T > const & | +m, | +|
+ | + | T | +x, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Transforms a matrix with a scale 4 * 4 matrix created from 3 scalars.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::scale | +( | +T | +x, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Builds a scale 4 * 4 matrix created from 3 scalars.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::translate | +( | +detail::tvec3< T > const & | +v | +) | ++ |
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::translate | +( | +detail::tmat4x4< T > const & | +m, | +|
+ | + | T | +x, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.
+From GLM_GTX_transform extension.
+ +detail::tmat4x4<T> glm::gtx::transform::translate | +( | +T | +x, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Builds a translation 4 * 4 matrix created from 3 scalars.
+From GLM_GTX_transform extension.
+ +GLM_GTX_transform2 extension: Add extra transformation matrices. +More...
+Functions | |
template<typename T > | |
detail::tmat4x4< T > | lookAt (detail::tvec3< T > const &eye, detail::tvec3< T > const ¢er, detail::tvec3< T > const &up) |
Build a look at view matrix. | |
template<typename T > | |
detail::tmat3x3< T > | proj2D (const detail::tmat3x3< T > &m, const detail::tvec3< T > &normal) |
Build planar projection matrix along normal axis. | |
template<typename T > | |
detail::tmat4x4< T > | proj3D (const detail::tmat4x4< T > &m, const detail::tvec3< T > &normal) |
Build planar projection matrix along normal axis. | |
template<typename valType > | |
detail::tmat4x4< valType > | scaleBias (detail::tmat4x4< valType > const &m, valType scale, valType bias) |
Build a scale bias matrix. | |
template<typename valType > | |
detail::tmat4x4< valType > | scaleBias (valType scale, valType bias) |
Build a scale bias matrix. | |
template<typename T > | |
detail::tmat3x3< T > | shearX2D (detail::tmat3x3< T > const &m, T y) |
Transforms a matrix with a shearing on X axis. | |
template<typename T > | |
detail::tmat4x4< T > | shearX3D (const detail::tmat4x4< T > &m, T y, T z) |
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension. | |
template<typename T > | |
detail::tmat3x3< T > | shearY2D (detail::tmat3x3< T > const &m, T x) |
Transforms a matrix with a shearing on Y axis. | |
template<typename T > | |
detail::tmat4x4< T > | shearY3D (const detail::tmat4x4< T > &m, T x, T z) |
Transforms a matrix with a shearing on Y axis. | |
template<typename T > | |
detail::tmat4x4< T > | shearZ3D (const detail::tmat4x4< T > &m, T x, T y) |
Transforms a matrix with a shearing on Z axis. |
GLM_GTX_transform2 extension: Add extra transformation matrices.
+detail::tmat4x4<T> glm::gtx::transform2::lookAt | +( | +detail::tvec3< T > const & | +eye, | +|
+ | + | detail::tvec3< T > const & | +center, | +|
+ | + | detail::tvec3< T > const & | +up | + |
+ | ) | ++ |
Build a look at view matrix.
+From GLM_GTX_transform2 extension.
+ +detail::tmat3x3<T> glm::gtx::transform2::proj2D | +( | +const detail::tmat3x3< T > & | +m, | +|
+ | + | const detail::tvec3< T > & | +normal | + |
+ | ) | ++ |
Build planar projection matrix along normal axis.
+From GLM_GTX_transform2 extension.
+ +detail::tmat4x4<T> glm::gtx::transform2::proj3D | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | const detail::tvec3< T > & | +normal | + |
+ | ) | ++ |
Build planar projection matrix along normal axis.
+From GLM_GTX_transform2 extension.
+ +detail::tmat4x4<valType> glm::gtx::transform2::scaleBias | +( | +detail::tmat4x4< valType > const & | +m, | +|
+ | + | valType | +scale, | +|
+ | + | valType | +bias | + |
+ | ) | ++ |
Build a scale bias matrix.
+From GLM_GTX_transform2 extension.
+ +detail::tmat4x4<valType> glm::gtx::transform2::scaleBias | +( | +valType | +scale, | +|
+ | + | valType | +bias | + |
+ | ) | ++ |
Build a scale bias matrix.
+From GLM_GTX_transform2 extension.
+ +detail::tmat3x3<T> glm::gtx::transform2::shearX2D | +( | +detail::tmat3x3< T > const & | +m, | +|
+ | + | T | +y | + |
+ | ) | ++ |
Transforms a matrix with a shearing on X axis.
+From GLM_GTX_transform2 extension.
+ +detail::tmat4x4<T> glm::gtx::transform2::shearX3D | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | T | +y, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.
+ +detail::tmat3x3<T> glm::gtx::transform2::shearY2D | +( | +detail::tmat3x3< T > const & | +m, | +|
+ | + | T | +x | + |
+ | ) | ++ |
Transforms a matrix with a shearing on Y axis.
+From GLM_GTX_transform2 extension.
+ +detail::tmat4x4<T> glm::gtx::transform2::shearY3D | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | T | +x, | +|
+ | + | T | +z | + |
+ | ) | ++ |
Transforms a matrix with a shearing on Y axis.
+From GLM_GTX_transform2 extension.
+ +detail::tmat4x4<T> glm::gtx::transform2::shearZ3D | +( | +const detail::tmat4x4< T > & | +m, | +|
+ | + | T | +x, | +|
+ | + | T | +y | + |
+ | ) | ++ |
Transforms a matrix with a shearing on Z axis.
+From GLM_GTX_transform2 extension.
+ +GLM_GTX_type_ptr extension: Get access to vectors & matrices value type address. +More...
+Functions | |
template<typename valType > | |
valType * | value_ptr (detail::tmat4x3< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat4x3< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat3x4< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat3x4< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat4x2< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat4x2< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat2x4< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat2x4< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat3x2< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat3x2< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat2x3< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat2x3< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat4x4< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat4x4< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat3x3< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat3x3< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tmat2x2< valType > &mat) |
Get the address of the matrix content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tmat2x2< valType > const &mat) |
Get the const address of the matrix content. | |
template<typename valType > | |
valType * | value_ptr (detail::tvec4< valType > &vec) |
Get the address of the vector content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tvec4< valType > const &vec) |
Get the const address of the vector content. | |
template<typename valType > | |
valType * | value_ptr (detail::tvec3< valType > &vec) |
Get the address of the vector content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tvec3< valType > const &vec) |
Get the const address of the vector content. | |
template<typename valType > | |
valType * | value_ptr (detail::tvec2< valType > &vec) |
Get the address of the vector content. | |
template<typename valType > | |
valType const * | value_ptr (detail::tvec2< valType > const &vec) |
Get the const address of the vector content. |
GLM_GTX_type_ptr extension: Get access to vectors & matrices value type address.
+valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat4x3< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 216 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat4x3< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 208 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat3x4< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 200 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat3x4< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 192 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat4x2< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 184 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat4x2< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 176 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat2x4< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 168 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat2x4< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 160 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat3x2< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 152 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat3x2< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 144 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat2x3< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 136 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat2x3< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 128 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat4x4< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 120 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat4x4< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 112 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat3x3< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 104 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat3x3< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 96 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat2x2< valType > & | +mat | +) | ++ |
Get the address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 88 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tmat2x2< valType > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 80 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tvec4< valType > & | +vec | +) | ++ |
Get the address of the vector content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 72 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tvec4< valType > const & | +vec | +) | ++ |
Get the const address of the vector content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 64 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tvec3< valType > & | +vec | +) | ++ |
Get the address of the vector content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 56 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tvec3< valType > const & | +vec | +) | ++ |
Get the const address of the vector content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 48 of file type_ptr.hpp.
+ +valType* glm::gtx::type_ptr::value_ptr | +( | +detail::tvec2< valType > & | +vec | +) | ++ |
Get the address of the vector content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 40 of file type_ptr.hpp.
+ +valType const* glm::gtx::type_ptr::value_ptr | +( | +detail::tvec2< valType > const & | +vec | +) | ++ |
Get the const address of the vector content.
+From GLM_GTX_type_ptr extension.
+ +Definition at line 32 of file type_ptr.hpp.
+ +GLM_GTX_unsigned_int extension: Add support for unsigned integer for core functions. +More...
+Typedefs | |
typedef signed int | sint |
32bit signed integer. | |
Functions | |
uint | mod (uint x, uint y) |
Modulus. | |
uint | pow (uint x, uint y) |
Returns x raised to the y power. | |
uint | sqrt (uint x) |
Returns the positive square root of x. |
GLM_GTX_unsigned_int extension: Add support for unsigned integer for core functions.
+typedef signed int sint | +
32bit signed integer.
+From GLM_GTX_unsigned_int extension.
+ +Definition at line 33 of file unsigned_int.hpp.
+ +uint glm::gtx::unsigned_int::mod | +( | +uint | +x, | +|
+ | + | uint | +y | + |
+ | ) | ++ |
Modulus.
+Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_unsigned_int extension.
+ +uint glm::gtx::unsigned_int::pow | +( | +uint | +x, | +|
+ | + | uint | +y | + |
+ | ) | ++ |
Returns x raised to the y power.
+From GLM_GTX_unsigned_int extension.
+ +uint glm::gtx::unsigned_int::sqrt | +( | +uint | +x | +) | ++ |
Returns the positive square root of x.
+From GLM_GTX_unsigned_int extension.
+ +GLM_GTX_vector_access extension: Function to set values to vectors. +More...
+Functions | |
template<typename valType > | |
void | set (detail::tvec4< valType > &v, valType const &x, valType const &y, valType const &z, valType const &w) |
Set values to a 4 components vector. | |
template<typename valType > | |
void | set (detail::tvec3< valType > &v, valType const &x, valType const &y, valType const &z) |
Set values to a 3 components vector. | |
template<typename valType > | |
void | set (detail::tvec2< valType > &v, valType const &x, valType const &y) |
Set values to a 2 components vector. |
GLM_GTX_vector_access extension: Function to set values to vectors.
+void glm::gtx::vector_access::set | +( | +detail::tvec4< valType > & | +v, | +|
+ | + | valType const & | +x, | +|
+ | + | valType const & | +y, | +|
+ | + | valType const & | +z, | +|
+ | + | valType const & | +w | + |
+ | ) | ++ |
Set values to a 4 components vector.
+From GLM_GTX_vector_access extension.
+ +void glm::gtx::vector_access::set | +( | +detail::tvec3< valType > & | +v, | +|
+ | + | valType const & | +x, | +|
+ | + | valType const & | +y, | +|
+ | + | valType const & | +z | + |
+ | ) | ++ |
Set values to a 3 components vector.
+From GLM_GTX_vector_access extension.
+ +void glm::gtx::vector_access::set | +( | +detail::tvec2< valType > & | +v, | +|
+ | + | valType const & | +x, | +|
+ | + | valType const & | +y | + |
+ | ) | ++ |
Set values to a 2 components vector.
+From GLM_GTX_vector_access extension.
+ +GLM_GTX_vector_angle extension: Compute angle between vectors. +More...
+Functions | |
template<typename vecType > | |
vecType::value_type | angle (vecType const &x, vecType const &y) |
Returns the absolute angle between x and y. | |
template<typename vecType > | |
vecType::value_type | orientedAngle (vecType const &x, vecType const &y) |
Returns the oriented angle between x and y Parameters need to be normalized. | |
template<typename vecType > | |
vecType::value_type | orientedAngleFromRef (vecType const &x, vecType const &y, detail::tvec3< typename vecType::value_type > const &ref) |
Returns the orientation of a two vector base from a normal. |
GLM_GTX_vector_angle extension: Compute angle between vectors.
+vecType::value_type glm::gtx::vector_angle::angle | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the absolute angle between x and y.
+Parameters need to be normalized. From GLM_GTX_vector_angle extension
+ +vecType::value_type glm::gtx::vector_angle::orientedAngle | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y | + |
+ | ) | ++ |
Returns the oriented angle between x and y Parameters need to be normalized.
+From GLM_GTX_vector_angle extension.
+ +vecType::value_type glm::gtx::vector_angle::orientedAngleFromRef | +( | +vecType const & | +x, | +|
+ | + | vecType const & | +y, | +|
+ | + | detail::tvec3< typename vecType::value_type > const & | +ref | + |
+ | ) | ++ |
Returns the orientation of a two vector base from a normal.
+Parameters need to be normalized. From GLM_GTX_vector_angle extension.
+ +GLM_GTX_vector_query extension: Query informations of vector types. +More...
+Functions | |
template<typename genType > | |
bool | areCollinear (const genType &v0, const genType &v1, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if two vectors are collinears. | |
template<typename genType > | |
bool | areOpposite (const genType &v0, const genType &v1, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if two vectors are opposites. | |
template<typename genType > | |
bool | areOrthogonal (const genType &v0, const genType &v1, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if two vectors are orthogonals. | |
template<typename genType > | |
bool | areOrthonormal (const genType &v0, const genType &v1, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if two vectors are orthonormal. | |
template<typename genType > | |
bool | areSimilar (const genType &v0, const genType &v1, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if two vectors are similar. | |
template<typename genType > | |
bool | isNormalized (const genType &v, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if a vector is normalized. | |
template<typename genType > | |
bool | isNull (const genType &v, const GLMvalType epsilon=std::numeric_limits< GLMvalType >::epsilon()) |
Check if a vector is null. |
GLM_GTX_vector_query extension: Query informations of vector types.
+bool glm::gtx::vector_query::areCollinear | +( | +const genType & | +v0, | +|
+ | + | const genType & | +v1, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if two vectors are collinears.
+From GLM_GTX_vector_query extensions.
+ +bool glm::gtx::vector_query::areOpposite | +( | +const genType & | +v0, | +|
+ | + | const genType & | +v1, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if two vectors are opposites.
+From GLM_GTX_vector_query extensions.
+ +bool glm::gtx::vector_query::areOrthogonal | +( | +const genType & | +v0, | +|
+ | + | const genType & | +v1, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if two vectors are orthogonals.
+From GLM_GTX_vector_query extensions.
+ +bool glm::gtx::vector_query::areOrthonormal | +( | +const genType & | +v0, | +|
+ | + | const genType & | +v1, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if two vectors are orthonormal.
+From GLM_GTX_vector_query extensions.
+ +bool glm::gtx::vector_query::areSimilar | +( | +const genType & | +v0, | +|
+ | + | const genType & | +v1, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if two vectors are similar.
+From GLM_GTX_vector_query extensions.
+ +bool glm::gtx::vector_query::isNormalized | +( | +const genType & | +v, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if a vector is normalized.
+From GLM_GTX_vector_query extensions.
+ +bool glm::gtx::vector_query::isNull | +( | +const genType & | +v, | +|
+ | + | const GLMvalType | + epsilon = std::numeric_limits< GLMvalType >::epsilon() | + |
+ | ) | ++ |
Check if a vector is null.
+From GLM_GTX_vector_query extensions.
+ +GLM_GTX_vecx extension: - Work in progress - Add custom size vectors. +More...
+GLM_GTX_vecx extension: - Work in progress - Add custom size vectors.
+GLM_GTX_verbose_operator extension: Use words to replace operators. +More...
+Functions | |
template<typename genTypeT , typename genTypeU > | |
genTypeT | add (genTypeT const &a, genTypeU const &b) |
Addition of two values From GLM_GTX_verbose_operator extension. | |
template<typename genTypeT , typename genTypeU > | |
genTypeT | div (genTypeT const &a, genTypeU const &b) |
Division of two values From GLM_GTX_verbose_operator extension. | |
template<typename genTypeT , typename genTypeU , typename genTypeV > | |
genTypeT | mad (genTypeT const &a, genTypeU const &b, genTypeV const &c) |
Multiplication and addition of three values From GLM_GTX_verbose_operator extension. | |
template<typename genTypeT , typename genTypeU > | |
genTypeT | mul (genTypeT const &a, genTypeU const &b) |
Multiplication of two values From GLM_GTX_verbose_operator extension. | |
template<typename genTypeT , typename genTypeU > | |
genTypeT | sub (genTypeT const &a, genTypeU const &b) |
Substration of two values From GLM_GTX_verbose_operator extension. |
GLM_GTX_verbose_operator extension: Use words to replace operators.
+genTypeT glm::gtx::verbose_operator::add | +( | +genTypeT const & | +a, | +|
+ | + | genTypeU const & | +b | + |
+ | ) | ++ |
Addition of two values From GLM_GTX_verbose_operator extension.
+ +genTypeT glm::gtx::verbose_operator::div | +( | +genTypeT const & | +a, | +|
+ | + | genTypeU const & | +b | + |
+ | ) | ++ |
Division of two values From GLM_GTX_verbose_operator extension.
+ +genTypeT glm::gtx::verbose_operator::mad | +( | +genTypeT const & | +a, | +|
+ | + | genTypeU const & | +b, | +|
+ | + | genTypeV const & | +c | + |
+ | ) | ++ |
Multiplication and addition of three values From GLM_GTX_verbose_operator extension.
+ +genTypeT glm::gtx::verbose_operator::mul | +( | +genTypeT const & | +a, | +|
+ | + | genTypeU const & | +b | + |
+ | ) | ++ |
Multiplication of two values From GLM_GTX_verbose_operator extension.
+ +genTypeT glm::gtx::verbose_operator::sub | +( | +genTypeT const & | +a, | +|
+ | + | genTypeU const & | +b | + |
+ | ) | ++ |
Substration of two values From GLM_GTX_verbose_operator extension.
+ +IMG extensions. +More...
+Namespaces | |
namespace | multiple |
GLM_IMG_multiple: Find the closest number of a number multiple of other number. + |
IMG extensions.
+VIRTREV extensions.
+GLM_IMG_multiple: Find the closest number of a number multiple of other number. +More...
+Functions | |
template<typename genType > | |
genType | higherMultiple (genType const &Source, genType const &Multiple) |
Higher Multiple number of Source. | |
template<typename genType > | |
genType | lowerMultiple (genType const &Source, genType const &Multiple) |
Lower Multiple number of Source. |
GLM_IMG_multiple: Find the closest number of a number multiple of other number.
+genType glm::img::multiple::higherMultiple | +( | +genType const & | +Source, | +|
+ | + | genType const & | +Multiple | + |
+ | ) | ++ |
Higher Multiple number of Source.
+From GLM_IMG_multiple extension.
+ +genType glm::img::multiple::lowerMultiple | +( | +genType const & | +Source, | +|
+ | + | genType const & | +Multiple | + |
+ | ) | ++ |
Lower Multiple number of Source.
+From GLM_IMG_multiple extension.
+ +GLM_VIRTREV_address extension: Vector & matrix content address (T const * type pointer). +More...
+Functions | |
template<typename T > | |
T * | address (detail::tmat4x3< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat4x3< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat3x4< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat3x4< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat4x2< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat4x2< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat2x4< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat2x4< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat3x2< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat3x2< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat2x3< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat2x3< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat4x4< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat4x4< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat3x3< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat3x3< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tmat2x2< T > &mat) |
Get the address of the matrix content. | |
template<typename T > | |
T const * | address (detail::tmat2x2< T > const &mat) |
Get the const address of the matrix content. | |
template<typename T > | |
T * | address (detail::tvec4< T > &vec) |
Get the address of the vector content. | |
template<typename T > | |
T const * | address (detail::tvec4< T > const &vec) |
Get the const address of the vector content. | |
template<typename T > | |
T * | address (detail::tvec3< T > &vec) |
Get the address of the vector content. | |
template<typename T > | |
T const * | address (detail::tvec3< T > const &vec) |
Get the const address of the vector content. | |
template<typename T > | |
T * | address (detail::tvec2< T > &vec) |
Get the address of the vector content. | |
template<typename T > | |
T const * | address (detail::tvec2< T > const &vec) |
Get the const address of the vector content. |
GLM_VIRTREV_address extension: Vector & matrix content address (T const * type pointer).
+T* glm::virtrev_glmext::address::address | +( | +detail::tmat4x3< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 178 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat4x3< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 172 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat3x4< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 165 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat3x4< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 159 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat4x2< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 152 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat4x2< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 146 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat2x4< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 139 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat2x4< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 133 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat3x2< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 126 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat3x2< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 120 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat2x3< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 113 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat2x3< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 107 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat4x4< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 100 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat4x4< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 94 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat3x3< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 87 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat3x3< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 81 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tmat2x2< T > & | +mat | +) | ++ |
Get the address of the matrix content.
+ +Definition at line 74 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tmat2x2< T > const & | +mat | +) | ++ |
Get the const address of the matrix content.
+ +Definition at line 68 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tvec4< T > & | +vec | +) | ++ |
Get the address of the vector content.
+ +Definition at line 61 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tvec4< T > const & | +vec | +) | ++ |
Get the const address of the vector content.
+ +Definition at line 55 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tvec3< T > & | +vec | +) | ++ |
Get the address of the vector content.
+ +Definition at line 48 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tvec3< T > const & | +vec | +) | ++ |
Get the const address of the vector content.
+ +Definition at line 42 of file address.hpp.
+ +T* glm::virtrev_glmext::address::address | +( | +detail::tvec2< T > & | +vec | +) | ++ |
Get the address of the vector content.
+ +Definition at line 35 of file address.hpp.
+ +T const* glm::virtrev_glmext::address::address | +( | +detail::tvec2< T > const & | +vec | +) | ++ |
Get the const address of the vector content.
+ +Definition at line 29 of file address.hpp.
+ +GLM_VIRTREV_gl extension: Vector & matrix integration with OpenGL. +More...
+GLM_VIRTREV_gl extension: Vector & matrix integration with OpenGL.
+GLM_VIRTREV_gl extension: Vector & matrix integration with OpenGL. +More...
+Typedefs | |
+typedef detail::tvec2< GLint > | gl_ivec2 |
vec2 for GLint OpenGL type | |
+typedef detail::tvec3< GLint > | gl_ivec3 |
vec3 for GLint OpenGL type | |
+typedef detail::tvec4< GLint > | gl_ivec4 |
vec4 for GLint OpenGL type | |
+typedef detail::tmat2x2< GLfloat > | gl_mat2 |
mat2x2 for GLfloat OpenGL type | |
+typedef detail::tmat2x3< GLfloat > | gl_mat2x3 |
mat2x3 for GLfloat OpenGL type | |
+typedef detail::tmat2x4< GLfloat > | gl_mat2x4 |
mat2x4 for GLfloat OpenGL type | |
+typedef detail::tmat3x3< GLfloat > | gl_mat3 |
mat3x3 for GLfloat OpenGL type | |
+typedef detail::tmat3x2< GLfloat > | gl_mat3x2 |
mat3x2 for GLfloat OpenGL type | |
+typedef detail::tmat3x4< GLfloat > | gl_mat3x4 |
mat3x4 for GLfloat OpenGL type | |
+typedef detail::tmat4x4< GLfloat > | gl_mat4 |
mat4x4 for GLfloat OpenGL type | |
+typedef detail::tmat4x2< GLfloat > | gl_mat4x2 |
mat4x2 for GLfloat OpenGL type | |
+typedef detail::tmat4x3< GLfloat > | gl_mat4x3 |
mat4x3 for GLfloat OpenGL type | |
+typedef detail::tvec2< GLshort > | gl_svec2 |
vec2 for GLshort OpenGL type | |
+typedef detail::tvec3< GLshort > | gl_svec3 |
vec3 for GLshort OpenGL type | |
+typedef detail::tvec4< GLshort > | gl_svec4 |
vec4 for GLshort OpenGL type | |
+typedef detail::tvec2< GLfloat > | gl_vec2 |
vec2 for GLfloat OpenGL type | |
+typedef detail::tvec3< GLfloat > | gl_vec3 |
vec3 for GLfloat OpenGL type | |
+typedef detail::tvec4< GLfloat > | gl_vec4 |
vec4 for GLfloat OpenGL type |
GLM_VIRTREV_gl extension: Vector & matrix integration with OpenGL.
+GLM_VIRTREV_xstream extension: Streaming vector and matrix in a xml way. +More...
+GLM_VIRTREV_xstream extension: Streaming vector and matrix in a xml way.
+_detail.hpp [code] | |
_swizzle.hpp [code] | |
address.hpp [code] | |
associated_min_max.hpp [code] | |
bit.hpp [code] | |
closest_point.hpp [code] | |
color_cast.hpp [code] | |
color_space.hpp [code] | |
color_space_YCoCg.hpp [code] | |
comparison.hpp [code] | |
compatibility.hpp [code] | |
component_wise.hpp [code] | |
determinant.hpp [code] | |
gtc/double_float.hpp [code] | |
gtx/double_float.hpp [code] | |
epsilon.hpp [code] | |
equal_operator.hpp [code] | |
euler_angles.hpp [code] | |
ext.hpp [code] | |
extend.hpp [code] | |
extented_min_max.hpp [code] | |
fast_exponential.hpp [code] | |
fast_square_root.hpp [code] | |
fast_trigonometry.hpp [code] | |
func_common.hpp [code] | |
func_exponential.hpp [code] | |
func_geometric.hpp [code] | |
func_matrix.hpp [code] | |
func_noise.hpp [code] | |
func_trigonometric.hpp [code] | |
func_vector_relational.hpp [code] | |
gl.hpp [code] | |
glm.hpp [code] | |
gradient_paint.hpp [code] | |
gtc.hpp [code] | |
gtx.hpp [code] | |
gtc/half_float.hpp [code] | |
gtx/half_float.hpp [code] | |
handed_coordinate_space.hpp [code] | |
hint.hpp [code] | |
img.hpp [code] | |
inertia.hpp [code] | |
integer.hpp [code] | |
intersect.hpp [code] | |
intrinsic_common.hpp [code] | |
intrinsic_exponential.hpp [code] | |
intrinsic_geometric.hpp [code] | |
intrinsic_matrix.hpp [code] | |
intrinsic_trigonometric.hpp [code] | |
intrinsic_vector_relational.hpp [code] | |
inverse.hpp [code] | |
inverse_transpose.hpp [code] | |
log_base.hpp [code] | |
gtc/matrix_access.hpp [code] | |
gtx/matrix_access.hpp [code] | |
matrix_cross_product.hpp [code] | |
matrix_major_storage.hpp [code] | |
gtc/matrix_operation.hpp [code] | |
gtx/matrix_operation.hpp [code] | |
gtc/matrix_projection.hpp [code] | |
gtx/matrix_projection.hpp [code] | |
matrix_query.hpp [code] | |
matrix_selection.hpp [code] | |
matrix_transform.hpp [code] | |
matx.hpp [code] | |
mixed_product.hpp [code] | |
multiple.hpp [code] | |
norm.hpp [code] | |
normal.hpp [code] | |
normalize_dot.hpp [code] | |
number_precision.hpp [code] | |
ocl_type.hpp [code] | |
optimum_pow.hpp [code] | |
orthonormalize.hpp [code] | |
perpendicular.hpp [code] | |
polar_coordinates.hpp [code] | |
projection.hpp [code] | |
gtc/quaternion.hpp [code] | |
gtx/quaternion.hpp [code] | |
random.hpp [code] | |
raw_data.hpp [code] | |
reciprocal.hpp [code] | |
rotate_vector.hpp [code] | |
setup.hpp [code] | |
simd_common.hpp [code] | |
simd_geometric.hpp [code] | |
simd_mat4.hpp [code] | |
simd_vec4.hpp [code] | |
spline.hpp [code] | |
statistics_operation.hpp [code] | |
std_based_type.hpp [code] | |
string_cast.hpp [code] | |
transform.hpp [code] | |
transform2.hpp [code] | |
type.hpp [code] | |
type_float.hpp [code] | |
type_gentype.hpp [code] | |
type_half.hpp [code] | |
type_int.hpp [code] | |
type_mat2x2.hpp [code] | |
type_mat2x3.hpp [code] | |
type_mat2x4.hpp [code] | |
type_mat3x2.hpp [code] | |
type_mat3x3.hpp [code] | |
type_mat3x4.hpp [code] | |
type_mat4x2.hpp [code] | |
type_mat4x3.hpp [code] | |
type_mat4x4.hpp [code] | |
type_precision.hpp [code] | |
type_ptr.hpp [code] | |
type_size.hpp [code] | |
type_vec1.hpp [code] | |
type_vec2.hpp [code] | |
type_vec3.hpp [code] | |
type_vec4.hpp [code] | |
unsigned_int.hpp [code] | |
vector_access.hpp [code] | |
vector_angle.hpp [code] | |
vector_query.hpp [code] | |
vecx.hpp [code] | |
verbose_operator.hpp [code] | |
virtrev.hpp [code] | |
xstream.hpp [code] |
OpenGL Mathematics (GLM) is a C++ mathematics library for 3D applications based on the OpenGL Shading Language (GLSL) specification.
+The goal of the project is to provide to 3D programmers math classes and functions that miss in C++ when we use to program with GLSL or any high level GPU language. With GLM, the idea is to have a library that works the same way that GLSL which imply a strict following of GLSL specification for the implementation.
+However, this project isn't limited by GLSL features. An extension system based on GLSL extensions development conventions allows to extend GLSL capabilities.
+GLM is release under MIT license and available for all version of GCC from version 3.4 and Visual Studio from version 8.0 as a platform independent library.
+Any feedback is welcome, please send them to g.truc.creation[NO_SPAM_THANKS]gmail.com.
+glm | GLM namespace, it contains all GLSL based features |
glm::core | GLM core. Namespace that includes all the feature define by GLSL 1.30.8 specification. This namespace is included in glm namespace |
glm::core::function | Some of the functions defined in section 8 Built-in Functions of GLSL 1.30.8 specification |
glm::core::function::common | Define common functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace |
glm::core::function::exponential | Define all exponential functions from Section 8.2 of GLSL 1.30.8 specification. Included in glm namespace |
glm::core::function::geometric | Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace |
glm::core::function::matrix | Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace |
glm::core::function::trigonometric | Define Angle and trigonometry functions from Section 8.1 of GLSL 1.30.8 specification |
glm::core::function::vector_relational | Define vector relational functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace |
glm::core::type | Scalar, vectors and matrices from section 4.1.2 Booleans, 4.1.3 Integers section, 4.1.4 Floats section, 4.1.5 Vectors and section 4.1.6 Matrices of GLSL 1.30.8 specification |
glm::core::type::matrix | Matrix types from section 4.1.6 of GLSL 1.30.8 specification |
glm::core::type::matrix::precision | Matrix types with precision qualifier |
glm::core::type::scalar | Scalar types from section 4.1.2 Booleans, 4.1.3 Integers and 4.1.4 Floats of GLSL 1.30.8 specification |
glm::core::type::scalar::precision | Scalar types with precision qualifier |
glm::core::type::vector | Vector types from section 4.1.5 of GLSL 1.30.8 specification |
glm::core::type::vector::precision | Vector types with precision qualifier |
glm::gtc | GLM stable extensions |
glm::gtc::double_float | GLM_GTC_double_float extension: Add support for double precision floating-point types |
glm::gtc::half_float | GLM_GTC_half_float extension: Add support for half precision floating-point types |
glm::gtc::matrix_operation | GLM_GTC_matrix_operation extension: Matrix operation functions |
glm::gtc::matrix_projection | GLM_GTC_matrix_projection: Varius ways to build and operate on projection matrices |
glm::gtc::matrix_transform | GLM_GTC_matrix_transform extension: Add transformation matrices |
glm::gtc::quaternion | GLM_GTC_quaternion extension: Quaternion types and functions |
glm::gtc::type_precision | GLM_GTC_type_precision extension: Defined types with specific size |
glm::gtx | GLM experimental extensions. The interface could change between releases |
glm::gtx::associated_min_max | GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces |
glm::gtx::bit | GLM_GTX_bit extension: Allow to perform bit operations on integer values |
glm::gtx::closest_point | GLM_GTX_closest_point extension: Find the point on a straight line which is the closet of a point |
glm::gtx::color_cast | GLM_GTX_color_cast extension: Conversion between two color types |
glm::gtx::color_space | GLM_GTX_color_space extension: Related to RGB to HSV conversions and operations |
glm::gtx::color_space_YCoCg | GLM_GTX_color_space_YCoCg extension: RGB to YCoCg conversions and operations |
glm::gtx::comparison | GLM_GTX_comparison extension: Defined comparison operators for vectors |
glm::gtx::compatibility | GLM_GTX_compatibility extension: Provide functions to increase the compatibility with Cg and HLSL languages |
glm::gtx::component_wise | GLM_GTX_component_wise extension: Operations between components of a type |
glm::gtx::determinant | GLM_GTX_determinant extension: Compute the determinant of a matrix |
glm::gtx::double_float | GLM_GTX_double_float extension: Add support for double precision flotting-point types |
glm::gtx::epsilon | GLM_GTX_epsilon extension: Comparaison functions for a user defined epsilon values |
glm::gtx::euler_angles | GLM_GTX_euler_angles extension: Build matrices from euler angles |
glm::gtx::extend | GLM_GTX_extend extension: Extend a position from a source to a position at a defined length |
glm::gtx::extented_min_max | GLM_GTX_extented_min_max extension: Min and max functions for 3 to 4 parameters |
glm::gtx::fast_exponential | GLM_GTX_fast_exponential extension: Fast but less accurate implementations of exponential based functions |
glm::gtx::fast_square_root | GLM_GTX_fast_square_root extension: Fast but less accurate implementations of square root based functions |
glm::gtx::fast_trigonometry | GLM_GTX_fast_trigonometry extension: Fast but less accurate implementations of trigonometric functions |
glm::gtx::gradient_paint | GLM_GTX_gradient_paint extension: Compute a radient gradient according section OpenVG 1.1 specifications, 9.3.2 Radial Gradients |
glm::gtx::half_float | GLM_GTX_half_float extension: Add support for half precision flotting-point types |
glm::gtx::handed_coordinate_space | GLM_GTX_handed_coordinate_space extension: To know if a triedron is right or left handed |
glm::gtx::inertia | GLM_GTX_inertia extension: Create inertia matrices |
glm::gtx::integer | GLM_GTX_integer extension: Add support for integer for core functions |
glm::gtx::intersect | GLM_GTX_intersect extension: Add intersection functions |
glm::gtx::inverse | GLM_GTX_inverse extension: Inverse matrix functions |
glm::gtx::inverse_transpose | GLM_GTX_inverse_transpose extension: Inverse transpose matrix functions |
glm::gtx::log_base | GLM_GTX_log_base extension: Logarithm for any base. base can be a vector or a scalar |
glm::gtx::matrix_access | GLM_GTX_matrix_access extension: Set a column or a row of a matrix |
glm::gtx::matrix_cross_product | GLM_GTX_matrix_cross_product: Build cross product matrices |
glm::gtx::matrix_major_storage | GLM_GTX_matrix_cross_product: Build matrices with specific matrix order, row or column |
glm::gtx::matrix_operation | GLM_GTX_matrix_operation: Build cross product matrices |
glm::gtx::matrix_projection | GLM_GTX_matrix_projection: Varius ways to build and operate on projection matrices |
glm::gtx::matrix_query | GLM_GTX_matrix_query: Query to evaluate matrices properties |
glm::gtx::matrix_selection | GLM_GTX_matrix_selection extension: Access to matrix columns or rows |
glm::gtx::matx | GLM_GTX_matx extension: - Work in progress - NxN matrix types |
glm::gtx::mixed_product | GLM_GTX_mixed_product extension: Mixed product of 3 vectors |
glm::gtx::norm | GLM_GTX_norm extension: Varius way to compute vector norms |
glm::gtx::normal | GLM_GTX_normal extension: Compute the normal of a triangle |
glm::gtx::normalize_dot | GLM_GTX_normalize_dot extension: Dot product of vectors that need to be normalize with a single square root |
glm::gtx::number_precision | GLM_GTX_number_precision extension: Defined size types |
glm::gtx::ocl_type | GLM_GTX_ocl_type extension: OpenCL types |
glm::gtx::optimum_pow | GLM_GTX_optimum_pow extension: Integer exponenciation of power functions |
glm::gtx::orthonormalize | GLM_GTX_orthonormalize extension: Orthonormalize matrices |
glm::gtx::perpendicular | GLM_GTX_perpendicular extension: Perpendicular of a vector from other one |
glm::gtx::polar_coordinates | GLM_GTX_polar_coordinates extension: Conversion from Euclidean space to polar space and revert |
glm::gtx::projection | GLM_GTX_projection extension: Projection of a vector to other one |
glm::gtx::quaternion | GLM_GTX_quaternion extension: Quaternion types and functions |
glm::gtx::random | GLM_GTX_random extension: Generate random number from varius distribution methods |
glm::gtx::raw_data | GLM_GTX_raw_data extension: Projection of a vector to other one |
glm::gtx::reciprocal | GLM_GTX_reciprocal extension: Define secant, cosecant and cotangent functions |
glm::gtx::rotate_vector | GLM_GTX_rotate_vector extension: Function to directly rotate a vector |
glm::gtx::simd_mat4 | GLM_GTX_simd_mat4 extension: SIMD implementation of vec4 type |
glm::gtx::simd_vec4 | GLM_GTX_simd_vec4 extension: SIMD implementation of vec4 type |
glm::gtx::spline | GLM_GTX_spline extension: Spline functions |
glm::gtx::statistics_operation | GLM_GTX_statistics_operation extension: - Work in progress - Statistics functions |
glm::gtx::std_based_type | GLM_GTX_std_based_type extension: Add support vector types based on C++ standard type |
glm::gtx::string_cast | GLM_GTX_string_cast extension: Setup strings for GLM type values |
glm::gtx::transform | GLM_GTX_transform extension: Add transformation matrices |
glm::gtx::transform2 | GLM_GTX_transform2 extension: Add extra transformation matrices |
glm::gtx::type_ptr | GLM_GTX_type_ptr extension: Get access to vectors & matrices value type address |
glm::gtx::unsigned_int | GLM_GTX_unsigned_int extension: Add support for unsigned integer for core functions |
glm::gtx::vector_access | GLM_GTX_vector_access extension: Function to set values to vectors |
glm::gtx::vector_angle | GLM_GTX_vector_angle extension: Compute angle between vectors |
glm::gtx::vector_query | GLM_GTX_vector_query extension: Query informations of vector types |
glm::gtx::vecx | GLM_GTX_vecx extension: - Work in progress - Add custom size vectors |
glm::gtx::verbose_operator | GLM_GTX_verbose_operator extension: Use words to replace operators |
glm::img | IMG extensions |
glm::img::multiple | GLM_IMG_multiple: Find the closest number of a number multiple of other number |
glm::virtrev_glmext::address | GLM_VIRTREV_address extension: Vector & matrix content address (T const * type pointer) |
glm::virtrev_glmext::equal_operator | GLM_VIRTREV_gl extension: Vector & matrix integration with OpenGL |
glm::virtrev_glmext::gl | GLM_VIRTREV_gl extension: Vector & matrix integration with OpenGL |
glm::virtrev_glmext::xstream | GLM_VIRTREV_xstream extension: Streaming vector and matrix in a xml way |
GLSL + Optional features = OpenGL Mathematics (GLM). A C++ mathematics library for 3D graphics. 16/11/2009 GLM 0.8.4.3 released
+ This version fixed half scalars and half vectors arithmetics.
+ This is a really slow practice that should be avoid.
+ Half floating point value should be use only to store GPU data.
+ GPUs have native support for half values, not x86 CPUs.
+ Download: GLM 0.8.4.3 (zip, 1.1 MB) Download: GLM 0.8.4.3 (7z, 463 KB) Link: Full changelog _________________ 19/10/2009 GLM 0.8.4.2 released
+ This version is a really minor updates, fixing single issue with half float types.
+ Download: GLM 0.8.4.2 (zip, 1.1 MB) Download: GLM 0.8.4.2 (7z, 443 KB) Link: Full changelog _________________ 05/10/2009 GLM 0.8.4.1 released
+ This version fixes few bugs and provides an major update of the manual thanks to Damian Trebilco.
+ Download: GLM 0.8.4.1 (zip, 1.1 MB) Download: GLM 0.8.4.1 (7z, 443 KB) Link: Full changelog _________________ 16/09/2009 GLM 0.8.4.0 released
+ This new version mainly adds support for Visual Studio 2010 and GCC 4.4. It also provides various code optimization, bug fixes and an extension.
+ Download: GLM 0.8.4.0 (zip, 1.1 MB) Download: GLM 0.8.4.0 (7z, 439 KB) Link: Full changelog _________________ 11/08/2009 GLM 0.8.3.5 released
+ Fixed extension bugs introduced by core update.
+ Download: GLM 0.8.3.5 (zip, 971 KB) Download: GLM 0.8.3.5 (7z, 405 KB) Link: Full changelog _________________ 10/08/2009 GLM 0.8.3.4 released
+ Fixed varius bugs. Move determinant fonction to core following GLSL 1.5 specification.
+ Download: GLM 0.8.3.4 (zip, 971 KB) Download: GLM 0.8.3.4 (7z, 405 KB) Link: Full changelog _________________ 25/06/2009 GLM 0.8.3.3 released
+ Fixed varius bugs.
+ Download: GLM 0.8.3.3 (zip, 971 KB) Download: GLM 0.8.3.3 (7z, 405 KB) Link: Full changelog _________________ 04/06/2009 GLM 0.8.3.2 released
+ Add GLM_GTC_quaternion and GLM_GTC_type_precision extensions both subset of GLM_GTX_quaternion and GLM_GTX_number_precision
+ Download: GLM 0.8.3.2 (zip, 971 KB) Download: GLM 0.8.3.2 (7z, 405 KB) Link: Full changelog _________________ 21/05/2009 GLM 0.8.3.1 released
+ The old way to use extensions have been fixed and GLM_GTX_bit extension gets updated with more functions to manipulate bit fields.
+ Download: GLM 0.8.3.1 (zip, 954 KB) Download: GLM 0.8.3.1 (7z, 402 KB) Link: Full changelog _________________ 06/05/2009 GLM 0.8.3.0 released
+ This version brings to main changed: Stable extensions and a new extension system.
+
+ The first stable GLM extensions are: GLM_GTC_double_float and GLM_GTC_half_float for higher and lower vectors and matrices floating point precision. GLM_GTC_matrix_operation provides determinant and inverse matrix calculation. GLM_GTC_matrix_transform allows to build scale, rotate and translate matrices and GLM_GTC_matrix_projection provides varius functions to build projection matrices. Few stable extensions yet but the number is going to grow with the next release!
+
+ Both GLM 0.8.2.x extensions use method are deprecated (but still working) and replace by a new one. If you wnat to use GLM_GTC_half_float just include "glm/gtc/half_float.hpp" and it is going to be included in GLM namespace.
+
+ Finally, quite some file have been renamed, using "hpp" instead of ".h". Old file have been deprecated but are still available so that GLM 0.8.3.0 is fully compatible with GLM 0.8.2.x.
+ Download: GLM 0.8.3.0 (zip, 896 KB) Download: GLM 0.8.3.0 (7z, 359 KB) Link: Code samples page Link: Manual Link: Full changelog _________________ 01/04/2009 GLM 0.8.2.3 released Download: GLM 0.8.2.3 (zip, 963 KB) Download: GLM 0.8.2.3 (7z, 381 KB) Link: Manual Link: Full changelog _________________ 13/02/2009 GLM 0.8.2.1 released
+ A new release is available and inogurate a patch number. The goal of this patch number is to release faster fixes from bug reports.
+ Download: GLM 0.8.2.1 (zip, 963 KB) Download: GLM 0.8.2.1 (7z, 381 KB) Link: Manual Link: Full changelog _________________ 21/01/2009 GLM 0.8.2 released
+ This release only fixes bugs. Left sided swizzle operators, quaternion operators, vectors access operators for the main onces.
+ Download: GLM 0.8.2 (zip, 963 KB) Download: GLM 0.8.2 (7z, 381 KB) Link: Manual Link: Full changelog _________________ 19/11/2008 GLM current developments
+ Some artifacts have been added to the tracker to give a picture of what you could expect for the next releases.
+
+ If you need something else you can add some artifacts to the tracker. Any comment on added entries is welcome.
+
+ Furthermore, no more release of GLM 0.7.x will be done. Please upgrade to GLM 0.8.1.
+
+ Finally, a pack of programmable oriented OpenGL samples using GLM is under development and planed to be release in December.
+ Link: Tracker _________________ 30/10/2008 GLM 0.8.1 released
+ GLM 0.8.1 is released. This new version mainly fixes 64 bit integers with GCC and various bugs.
+ Download: GLM 0.8.1 (zip, 938 KB) Download: GLM 0.8.1 (7z, 372 KB) Link: GLM 0.8.1 Manual Link: Full changelog _________________ 23/10/2008 GLM 0.8.0 final released
+ GLM 0.8.0 is released. This new version is now based on GLSL 1.30 specification which provided new functions and precision qualifiers.
+
+ Beyond this, lot of changes have been done to make GLM easier to use, easier to develop, more reliable, more conform to C++ ISO98 standard and GLSL specifications.
+
+ It involves that GLM 0.8.x is not backward compatible with GLM 0.7.x... However, an application port from GLM 0.7.x to GLM 0.8.x isn't a huge work and actually for some, it won’t be work at all.
+
+ On GLM core side, based on GLSL features, vector types can't be automatically cast to pointer anymore for code safety purposes. Vector constructors require a single scalar parameter of the exact number of components.
+
+ On GLM extension side, the mechanism to use them has changed. The old [__]***GTX way doesn't exist anymore. Have a look on the manual for more information.
+
+ Have a look on the manual and the changelog for more information. Don't forget to send your feedback and enjoy!
+ Download: GLM 0.8.0 (zip, 936 KB) Download: GLM 0.8.0 (7z, 370 KB) Link: GLM 0.8.0 Manual Link: Full changelog Link: Post a comment _________________ 22/10/2008 A Humus demo to feature GLM 0.8.0
+ Ambient aperture lighting Humus demo have been updated to use GLM as math library.
+ Download: Updated demo + all sources (zip, 2.38 MB) Download: Original demo (zip, 1.40 MB) Link: Post a comment _________________ 18/10/2008 Webside updated
+ As you can see the website get a little update to prepare GLM 0.8.0 final release.
+
+ GLM 0.8.0 final should be release during the week.
+ _________________ 10/10/2008 GLM 0.8.0 beta 3 released
+ This release fixes some bugs and add few features though extensions. The development is now based on CMake to make easier cross platform tests and project management.
+ Download: GLM 0.8.0 Beta 3 (zip, 819 KB) Download: GLM 0.8.0 Beta 3 (7z, 345 KB) Link: Full changelog Link: Post a comment _________________ 04/10/2008 GLM 0.8.0 beta 2 released
+ This release mainly improves half float vectors support. By default the low precission vectors are based on float numbers not on half numbers
+
+ It also provides new setup options. GLM_USE_ONLY_XYZW to disable multiple names to access to a single vector component. GLM_USE_ANONYMOUS_UNION to allow multiple component names on half vectors with Visual C++.
+
+ Various bugs and updates of extensions have been done too. Final release is coming...
+ Download: GLM 0.8.0 Beta 2 (zip, 798 KB) Download: GLM 0.8.0 Beta 2 (7z, 327 KB) Link: Full changelog Link: Post a comment _________________ 26/09/2008 GLM 0.8.0 beta 1 released
+ GLM have been updated to support GLSL 1.30. API documentation had significant improvements to make easier finding of GLSL functions and types.
+
+ GLM 0.8.x is NOT backward compatible with GLM 0.7.x. Upgrade to GLM 0.8.x could involve build errors for the following cases: A lot of improvements have been made to increase the conformance with GLSL specification. Lot of GLSL 1.30 features were already exposed in extensions that have been deleted. The extension syntaxe based on ARB convension is no long used.
+
+ Due to the number of changes GLM 0.8.0 is release as beta first. The final release is schedule for october.
+ Download: GLM 0.8.0 Beta 1 (zip, 786 KB) Download: GLM 0.8.0 Beta 1 (7z, 321 KB) Link: Full changelog Link: Post a comment _________________ 08/08/2008 GLM 0.7.6 released
+ GLM 0.7.6 provides a better C++ conformance so that you can build GLM with –pedantic G++ parameter or without Visual Studio extensions. To make GLM more reliable, BOOST_STATIC_ASSERT are used according developer wishes.
+ Download: GLM 0.7.6 (zip, 907 KB) Download: GLM 0.7.6 (7z, 387 KB) Link: Full changelog Link: Manual _________________ 05/07/2008 GLM 0.7.5 released
+ GLM 0.7.5 is available and introduces a new build messsage system to get information of GLM build configuration with Visual Studio. This mechanism is documented in section 6 of GLM manual. Also, GLM can be built with GCC pedantic options.
+ Download: GLM 0.7.5 (zip, 852 KB) Download: GLM 0.7.5 (7z, 366 KB) Link: Full changelog Link: Manual _________________ 01/06/2008 GLM 0.7.4 released
+ GLM 0.7.4 introduces a new system to manage external dependencies.
+
+ It allows developing extension using external dependencies like GLEW, Boost, etc. without making required those dependencies for GLM programmer that doesn't need those external dependent extensions.
+
+ The mechanism is described into the updated manual.
+ Download: GLM 0.7.4 (zip, 859 KB) Download: GLM 0.7.4 (7z, 372 KB) Link: Full changelog Link: Manual _________________ 24/05/2008 GLM 0.7.3 released
+ GLM 0.7.3 is released. This version fixes few bugs and add few extensions
+ Download: GLM 0.7.3 (zip, 1.8 MB) Download: GLM 0.7.3 (7z, 635 KB) Link: Full changelog _________________ 27/04/2008 GLM 0.7.2 released
+ GLM 0.7.2 is released. The documentation have been completed again and several issues handle with precompiler options.
+
+ #define GLM_SWIZZLE GLM_SWIZZLE_FUNC allows to use swizzle operators with internal functions. For example, glm::vec3(1, 2, 3).zyx is replaced by glm::vec3(1, 2, 3)._zyx() with this option.
+
+ #define GLM_FORCE_NO_HALF allows to include all extensions (#include "glm/glmext.h") without any support of half-precision floating-point numbers.
+
+ #define GLM_AUTO_CAST GLM_DISABLE allows to disable automatic cast (eg: glLoadMatrixf(glm::mat4(1.0))) which could involve unfortunate issues in some cases.
+
+ More information on these topic are available in GLM manual section 5 "Known issues".
+ Download: GLM 0.7.2 (zip, 1.8 MB) Download: GLM 0.7.2 (7z, 635 KB) Download: Full changelog _________________ 24/03/2008 GLM 0.7.1 released
+ GLM 0.7.1 is available under MIT license. It fixes bugs with GCC.
+ Download: GLM 0.7.1 (zip, 1.8 MB) Download: GLM 0.7.1 (7z, 635 KB) Download: Full changelog _________________ 22/03/2008 GLM 0.7.0 released
+ GLM 0.7.0 is available under MIT license. LGPL lisence have been discard due to an issue of use for console development. This release contains a lot better documentation based on Doxygen. Lot of bugs have been fixed and the documentation completed. Thanks to all people that has contributed thought bug reports and ideas to make this version a lot better!
+ Download: GLM 0.7.0 (zip, 1.8 MB) Download: GLM 0.7.0 (7z, 635 KB) Download: Full changelog _________________ 10/12/2007 GLM 0.6.4 released
+ GLM 0.6.4 is available and fixes some swizzle operator issues.
+ Download: GLM 0.6.4 (zip, 1.7 MB) Download: GLM 0.6.4 (7z, 612 KB) Download: Full changelog _________________ 05/11/2007 GLM 0.6.3 released
+ GLM 0.6.3 fixes accesses of matrices and a 3DSMax SDK conflict.
+ Download: GLM 0.6.3 (zip, 1.8 MB) Download: GLM 0.6.3 (7z, 633 KB) Download: Full changelog _________________ 08/10/2007 GLM 0.6.2 released
+ GLM 0.6.2 fixes an error on an extension.
+ Download: GLM 0.6.2 (zip, 1.8 MB) Download: GLM 0.6.2 (7z, 632 KB) Download: Full changelog _________________ 07/10/2007 GLM 0.6.1 released
+ GLM 0.6.1 is a minor update that fix an issue on extension namespace and add two more extensions.
+ Download: GLM 0.6.1 (zip, 1.8 MB) Download: GLM 0.6.1 (7z, 632 KB) Download: Full changelog _________________ 16/09/2007 GLM 0.6.0 released
+ GLM 0.6.0 is available. For this release, work focus on extensions. A new mecanisum allows to integrate GLM extensions as it is actually done for GLSL extension by vendors. Lot of new extensions have been added.
+ Download: GLM 0.6.0 (zip, 1.8 MB) Download: GLM 0.6.0 (7z, 666 KB) Download: Raytracer v1.0 (exe) Download: Raytracer v1.0 (zip) Download: Full changelog _________________ 19/02/2007 GLM 0.5.1 released
+ This release fixes some issues with swizzle operators.
+ Download: GLM 0.5.1 (zip, 2.3 MB) Download: GLM 0.5.1 (7z, 789 KB) _________________ 26/01/2007 Cattmull Clark subdivision sample
+ A new sample is available. It's an update of Philip Rideout's Catmull Clark subdivision program that uses GLM. Released with pleasant permission of Philip Rideout.
+ Download: CatmullClark sample (zip, 605 KB) _________________ 06/01/2007 GLM 0.5.0 released
+ This release include GLSL 1.2 new feature in the core implementation. Also, it includes swizzle read and write operators and a custom options system to setup GLM.
+
+ It includes some new extensions to extend GLSL features but they remain experimental. The next release should provide the first stable extensions.
+
+ The GLM 0.5.0 packages contain some basic samples and some documentation. The ray tracer sample has been updated to GLM 0.5.0. Except for specific cases, especially with extensions, GLM 0.5 is backward compatible.
+
+ Now, GLM development is taking advantages of SourceForge.net services: a bug tracker system and the development source code is publicly available on SF.net SVN server.
+ Download: GLM 0.5.0 (zip, 2.4 MB) Download: GLM 0.5.0 (7z, 843 KB) Download: Raytracer b3.0 (exe, 751 KB) Download: Raytracer b3.0 (zip, 1.1 MB) _________________ 22/05/2006 GLM 0.4.1 released
+ A GLM update is available. It simply includes some examples for a sweet start with GLM.
+
+ The examples show how to use GLM with OpenGL intermediate mode and OpenGL vertex arrays. Also, they show how to use GLM extensions to replace GLU and OpenGL function witch could slightly increase performances by decreasing the number of OpenGL states changes.
+ Download: GLM 0.4.1 (zip, 1.6 MB) Download: GLM 0.4.1 (7z, 521 KB) _________________ 17/05/2006 GLM 0.4.0 released
+ This release introduces first GLSL 1.2 features as planed. Also, various new extensions have been added and updated. Finally, it's not anymore required to include windows.h before glm.h when windows.h is required.
+
+ The number of features of GLM, including extensions, start to really increase the compilation time. That's why it's recommended to use precompiled headers.
+ Download: GLM 0.4.0 _________________ 23/04/2006 Roadmap for the years
+ Version 0.4 will complete matrices and vectors operators and will add GLSL 1.2 features. First, conversions simplifications will be integrated. Then, 4 per 3 matrices and outer product will be available from extensions. The transpose function is already available from extension.
+
+ Version 0.5 will integrate GLSL 1.2 features to GLM core.
+
+ Version 0.6 will add swizzle operators in reading and writing. (eg: vec3 v1(1.0, 2.0, 3.0); vec3 v2 = v1.xxx; v1.zyx = v;).
+ _________________ 22/04/2006 GLM 0.3.2 released
+ This release corrects two main bugs. First, a bug of the imat4 and mat4 division operators and other correct the vectors components access from texture coordinate way.
+ Download: GLM 0.3.2 _________________ 28/03/2006 GLM 0.3.1 released
+ This update adds GCC 4.0 support for MacOS X and Linux and GCC 4.1 under Linux. Also, its provides some optimisations.
+
+ Further release will prodive GLSL 1.2 compliances.
+ Download: GLM 0.3.1 _________________ 19/02/2006 GLM 0.3 released
+ A new release of GLM is now available. It improves GLSL data type conversion and construction compliance. Also, It's adds extensions like some to manage double-precision and half-precision float numbers. Finally a Doxygen documentation has been added.
+
+ This new release have been tested under Visual C++ 7.1, Visual C++ 8.0, GCC 3.2.3 et GCC 3.4.2.
+ Download: GLM 0.3 Download: Raytrace Documentation: Online documentation _________________ 06/05/2005 GLM 0.2 released
+ A new release of GLM is now available. A few bugs have been fixed, the portability of GLSL into C++ has been improved, and new experimental extensions have been implemented, enhancing GLSL features.
+
+ Project now supports quaternions, adds new features to handle colors, vectors and matrices. For example, GLM allows base colors changing, vector projected operations, and 2D/3D transforms.
+
+ To demo the features of this new version, a sample program is included. It is a simple Ray Tracer supporting reflected and refracted rays, three lights types (point, directionnal and spot), two objects types (sphere, plan), using all of the GLM possibilities.
+ _________________ 04/05/2005 English pages
+ The english section of this site is now available.
+ _________________ 21/02/2005 GLM 0.1 is available
+ This is the first public availability of GLM. This library supports part of GLSL specifications : All vectors and matrices types, and all the operators and associated functions.
+
+ For now, there isn't detailed documentation, but you can freely have a look on GLSL specifications. Consider any incoherence with GLM as an error. Keep in mind the library is included in the namespace "glm".
+
+ This project is multi platform and was successfully tested under Visual C++ 7.1, MinGW 3.4 and GCC 3.4.
+ Download: GLM 0.1 User Release Download: GLM 0.1 Contributor Release Documentation: GLSL 1.10.59 specifications _________________
+ Copyright © 2005-2009 G-Truc Creation |
Problématiques 10) Several useful tools are missing in GLSL, is this possible to add them ? DISCUTION: GLSL is not the ultimate mathematics library, i.e. for matrices operations, specs are very restricted. There aren't any functions to get the determinant, inverse, or a matrix transpose. Moreover, there are a few vector types and no quaternions. PROPOSAL: What about completing the missing features using the extensions ? It will be developed from GLSL conventions and may add for exemple the extension GLM_GTX_quaternion, defining __quatGT type and conjugateGT function. PROPOSAL: Extensions may be available through a separate file called glmext.h instead of being directly into the library core file. PROPOSAL: It would be interesting to suggest GLM extensions implementations directly in GLSL to increase portability. It may hopefully end by submitting extensions to ARB.
+ STATUE : Partially resolved, 2005-03-21 9) Should GLM be included into a namespace ? DISCUTION: The use of a namespace allows to prevenf from any name collision problem with other libraries like STL. GLSL uses a reserved 'namespace' keyword but does not define it. OpenGL uses a C technic for the namespaces management with the 'gl' prefix. What name should we give to this namespace ? 'gl', 'glsl', 'glm' or 'sl' ? What is the best solution ? C-like or C++-like namespaces ? DISCUTION: Bug #3 says that 'not' is a C++ keyword. C-style namespaces use would resolves this bug but GLSL has been built from C upon a C++ logic.
+ STATUE : Unresolved, 2005-02-18 8) Could the OpenGL API be considered ? DISCUTION: The interaction with OpenGL is not the purpose of GLM. However, GLM should be easily usable with OpenGL and some features could be welcome. i.e., using vec3 type with Vertex3fv function should simplify and optimize the program. Eventually, semantically speaking, vec3 is more accurate and stronger than addressing on a potential 3 floats table. RESOLUTION: If it is possible to make easy the interoperability between GLM and OpenGL, then this work is recommended if semantic stays correct. GLM must also remain independent towards OpenGL.
+ STATUE : Resolved, 2005-03-04 7) How to consider reserved keywords ? DISCUTION: GLSL specifications include unimplemented reserved keywords list. Their use must return an error. Some of them already exist in C++. RESOLUTION: GLM can only allow C++ reserved keywords. The others must be undefined so the compiler returns an error.
+ STATUE : Partially resolved, 2005-01-26 6) How to manage GLSL qualifiers ? DISCUTION: GLSL defines six variable qualifiers types : const, varying, uniform, attrib, in, out, inout. RESOLUTION: 'const' variables are only usable in a local way into a shader. They are available for vertex and fragments shaders. GLSL's 'const' are similar to C++ 'static const', i.e. the variable only exists inside a compilation unit (.o files with GCC). RESOLUTION: 'varying' variables offer a communication interface between vertex and fragment sahder. 'uniform' and 'attrib' variables are a way of communication between C/C++ program and shaders, so 'varying' are useless in the C++ program; so this qualifier is not allowed. SUGGESTION: Some programmers are already using 'in', 'ou' and 'inout' qualifiers for semantic purpose. They define them as empty '#define'. DISCUTION: It seems difficult to keep the same syntax than GLSL for 'uniform' and 'attrib' variables although this notion seems interesting. Why not keeping it only for their semantic properties ?
+ STATUE : Partially resolved, 2005-03-04 5) Should integrated variables be considered ? SUGGESTION: All integrated variables matches with OpenGL state variables. So there are all accessible from the OpenGL API.
+ STATUE : Resolved, 2005-01-13 4) Should sampler* types be considered ? DISCUTION: smapler* types come from GL_ARB_multitexure extension. Values matches with a texture unit. SUGGESTION: A sampler type would offer an additionnal semantic value. SUGGESTION: No, this is not the GLM objective.
+ STATUE : Resolved, 2005-03-05 3) How to manage specific access to *vec* types components ? DISCUTION: GLSL allows several components to be accessed at the same time. Moreover, GLSL let the possibility to the user to order components as he wants. To implement such a possibility, 4² * 3 * 2 = 96 fuctions should be added for vec4 type, for example (components number : 4, access types : 3, readonly access and write access : 2). RESOLUTION: A solution witch reach GLSL conformance have been found. However it need lot of functions. This feature is coming in a futur release.
+ STATUE : Unresolved, 2005-01-22 2) How to access to *vec* type components ? DISCUTION: GLSL allows an access to a component with many different names, that explains the component notion. i.e. the first vec3 component is accessible with .x, .r, .s. PROPOSAL: A possibility would be creating three functions for each component. PROPOSAL: Another would be using the keyword 'union'. RESOLUTION: The first solution allows to keep components values in a private classes table, but in this case, the overloaded operator [] must be used to access values and/or functions per component that is not conform to GLSL specifications. The second respect GLSL rules but components are public. In this case, this is not a real problem so this second solution is kept.
+ STATUE : Closed, 2005-01-15 1) How to consider dedicated functions to fragment shaders and ftransform function ? RESOLUTION: GLSL specifications tell that 'fragment processing functions' are only available for fragment shaders and function ftransform is only available for vertex shaders. The C/C++ program must be considered as a third program type so this functions are not available.
+ STATUE : Closed, 2005-01-12 |
Liens
+ This page lists all the documents that helped to develop OpenGL Mathematics.
+
+ OpenGL's Official site. You would find OpenGL specifications, news and tons of related informations.
+
+ This page contains all OpenGL extensions specifications.
+
+ This page contains OpenGL 2.0 specifications.
+
+ This page contains OpenGL Shading Language Specification.
+
+ This document lists all the conventions for writing GLSL extensions. These rules are the basics of the GLM extensions system.
+ |