Browse Source

Improved man pages

Christophe Riccio 14 years ago
parent
commit
e65267468a
4 changed files with 582 additions and 247 deletions
  1. 126 43
      doc/man.doxy
  2. 1 33
      doc/src/data.xml
  3. 16 16
      glm/gtc/half_float.hpp
  4. 439 155
      glm/gtc/matrix_integer.hpp

+ 126 - 43
doc/man.doxy

@@ -1,4 +1,4 @@
-# Doxyfile 1.7.3
+# Doxyfile 1.7.6
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project
@@ -22,8 +22,9 @@
 
 DOXYFILE_ENCODING      = UTF-8
 
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
+# The PROJECT_NAME tag is a single word (or sequence of words) that should 
+# identify the project. Note that if you do not use Doxywizard you need 
+# to put quotes around the project name if it contains spaces.
 
 PROJECT_NAME           = 
 
@@ -33,8 +34,8 @@ PROJECT_NAME           =
 
 PROJECT_NUMBER         = 0.9.3
 
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
+# Using the PROJECT_BRIEF tag one can provide an optional one line description 
+# for a project that appears at the top of each page and should give viewer 
 # a quick idea about the purpose of the project. Keep the description short.
 
 PROJECT_BRIEF          = 
@@ -204,6 +205,13 @@ TAB_SIZE               = 8
 
 ALIASES                = 
 
+# This tag can be used to specify a number of word-keyword mappings (TCL only). 
+# A mapping has the form "name=value". For example adding 
+# "class=itcl::class" will allow you to use the command class in the 
+# itcl::class meaning.
+
+TCL_SUBST              = 
+
 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
 # sources only. Doxygen will then generate output that is more tailored for C. 
 # For instance, some of the names that are used will be different. The list 
@@ -286,6 +294,22 @@ DISTRIBUTE_GROUP_DOC   = NO
 
 SUBGROUPING            = NO
 
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
+# unions are shown inside the group in which they are included (e.g. using 
+# @ingroup) instead of on a separate page (for HTML and Man pages) or 
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
+# unions with only public data fields will be shown inline in the documentation 
+# of the scope in which they are defined (i.e. file, namespace, or group 
+# documentation), provided this scope is documented. If set to NO (the default), 
+# structs, classes, and unions are shown on a separate page (for HTML and Man 
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS  = NO
+
 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
 # is documented as struct, union, or enum with the name of the typedef. So 
 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
@@ -461,10 +485,10 @@ SORT_GROUP_NAMES       = NO
 
 SORT_BY_SCOPE_NAME     = YES
 
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
 # do proper type resolution of all parameters of a function it will reject a 
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
+# match between the prototype and the implementation of a member function even 
+# if there is only one candidate or it is obvious which candidate to choose 
 # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
 # will still accept a match between prototype and implementation in such cases.
 
@@ -552,6 +576,16 @@ FILE_VERSION_FILTER    =
 
 LAYOUT_FILE            = 
 
+# The CITE_BIB_FILES tag can be used to specify one or more bib files 
+# containing the references data. This must be a list of .bib files. The 
+# .bib extension is automatically appended if omitted. Using this command 
+# requires the bibtex tool to be installed. See also 
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
+# feature you need bibtex and perl available in the search path.
+
+CITE_BIB_FILES         = 
+
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -640,13 +674,15 @@ FILE_PATTERNS          = *.hpp \
 
 RECURSIVE              = YES
 
-# The EXCLUDE tag can be used to specify files and/or directories that should 
+# The EXCLUDE tag can be used to specify files and/or directories that should be 
 # excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# subdirectory from a directory tree whose root is specified with the INPUT tag. 
+# Note that relative paths are relative to the directory from which doxygen is 
+# run.
 
 EXCLUDE                = 
 
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
 # directories that are symbolic links (a Unix file system feature) are excluded 
 # from the input.
 
@@ -828,7 +864,14 @@ HTML_FILE_EXTENSION    = .html
 
 # The HTML_HEADER tag can be used to specify a personal HTML header for 
 # each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
+# standard header. Note that when using a custom header you are responsible  
+# for the proper inclusion of any scripts and style sheets that doxygen 
+# needs, which is dependent on the configuration options used. 
+# It is advised to generate a default header using "doxygen -w html 
+# header.html footer.html stylesheet.css YourConfigFile" and then modify 
+# that header. Note that the header is subject to change so you typically 
+# have to redo this when upgrading to a newer version of doxygen or when 
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
 
 HTML_HEADER            = 
 
@@ -843,12 +886,21 @@ HTML_FOOTER            =
 # fine-tune the look of the HTML output. If the tag is left blank doxygen 
 # will generate a default style sheet. Note that doxygen will try to copy 
 # the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
+# style sheet in the HTML output directory as well, or it will be erased!
 
 HTML_STYLESHEET        = 
 
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
+# other source files which should be copied to the HTML output directory. Note 
+# that these files will be copied to the base HTML output directory. Use the 
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that 
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES       = 
+
 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
-# Doxygen will adjust the colors in the stylesheet and background images 
+# Doxygen will adjust the colors in the style sheet and background images 
 # according to this color. Hue is specified as an angle on a colorwheel, 
 # see http://en.wikipedia.org/wiki/Hue for more information. 
 # For instance the value 0 represents red, 60 is yellow, 120 is green, 
@@ -1043,29 +1095,33 @@ GENERATE_ECLIPSEHELP   = NO
 
 ECLIPSE_DOC_ID         = org.doxygen.Project
 
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
+# at top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it. Since the tabs have the same information as the 
+# navigation tree you can set this option to NO if you already set 
+# GENERATE_TREEVIEW to YES.
 
 DISABLE_INDEX          = NO
 
-# This tag can be used to set the number of enum values (range [0,1..20]) 
-# that doxygen will group on one line in the generated HTML documentation. 
-# Note that a value of 0 will completely suppress the enum values from
-# appearing in the overview section.
-
-ENUM_VALUES_PER_LINE   = 4
-
 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
 # structure should be generated to display hierarchical information. 
 # If the tag value is set to YES, a side panel will be generated 
 # containing a tree-like index structure (just like the one that 
 # is generated for HTML Help). For this to work a browser that supports 
 # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
-# Windows users are probably better off using the HTML help feature.
+# Windows users are probably better off using the HTML help feature. 
+# Since the tree basically has the same information as the tab index you 
+# could consider to set DISABLE_INDEX to NO when enabling this option.
 
 GENERATE_TREEVIEW      = NO
 
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML 
+# documentation. Note that a value of 0 will completely suppress the enum 
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE   = 4
+
 # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
 # and Class Hierarchy pages using a tree view instead of an ordered list.
 
@@ -1111,13 +1167,18 @@ USE_MATHJAX            = NO
 # HTML output directory using the MATHJAX_RELPATH option. The destination 
 # directory should contain the MathJax.js script. For instance, if the mathjax 
 # directory is located at the same level as the HTML output directory, then 
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the 
 # mathjax.org site, so you can quickly see the result without installing 
 # MathJax, but it is strongly recommended to install a local copy of MathJax 
 # before deployment.
 
 MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
 
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS     = 
+
 # When the SEARCHENGINE tag is enabled doxygen will generate a search box 
 # for the HTML output. The underlying search engine uses javascript 
 # and DHTML and should work on any modern browser. Note that when using 
@@ -1191,6 +1252,13 @@ EXTRA_PACKAGES         =
 
 LATEX_HEADER           = 
 
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
+# the generated latex document. The footer should contain everything after 
+# the last chapter. If it is left blank doxygen will generate a 
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER           = 
+
 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
 # is prepared for conversion to pdf (using ps2pdf). The pdf file will 
 # contain links (just like the HTML output) instead of page references 
@@ -1224,6 +1292,12 @@ LATEX_HIDE_INDICES     = NO
 
 LATEX_SOURCE_CODE      = NO
 
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE        = plain
+
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -1255,7 +1329,7 @@ COMPACT_RTF            = NO
 
 RTF_HYPERLINKS         = YES
 
-# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# Load style sheet definitions from file. Syntax is similar to doxygen's 
 # config file, i.e. a series of assignments. You only have to provide 
 # replacements, missing definitions are set to their default value.
 
@@ -1398,7 +1472,7 @@ MACRO_EXPANSION        = NO
 EXPAND_ONLY_PREDEF     = NO
 
 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
 
 SEARCH_INCLUDES        = YES
 
@@ -1428,7 +1502,7 @@ PREDEFINED             =
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
 # this tag can be used to specify a list of macro names that should be expanded. 
 # The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition that
+# Use the PREDEFINED tag if you want to use a different macro definition that 
 # overrules the definition found in the source code.
 
 EXPAND_AS_DEFINED      = 
@@ -1525,13 +1599,12 @@ HAVE_DOT               = NO
 
 DOT_NUM_THREADS        = 0
 
-# By default doxygen will write a font called Helvetica to the output 
-# directory and reference it in all dot files that doxygen generates. 
-# When you want a differently looking font you can specify the font name 
-# using DOT_FONTNAME. You need to make sure dot is able to find the font, 
-# which can be done by putting it in a standard location or by setting the 
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory 
-# containing the font.
+# By default doxygen will use the Helvetica font for all dot files that 
+# doxygen generates. When you want a differently looking font you can specify 
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find 
+# the font, which can be done by putting it in a standard location or by setting 
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
+# directory containing the font.
 
 DOT_FONTNAME           = FreeSans
 
@@ -1540,17 +1613,16 @@ DOT_FONTNAME           = FreeSans
 
 DOT_FONTSIZE           = 10
 
-# By default doxygen will tell dot to use the output directory to look for the 
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
-# different font using DOT_FONTNAME you can set the path where dot 
-# can find it using this tag.
+# By default doxygen will tell dot to use the Helvetica font. 
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
+# set the path where dot can find it.
 
 DOT_FONTPATH           = 
 
 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
 # will generate a graph for each documented class showing the direct and 
 # indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
+# CLASS_DIAGRAMS tag to NO.
 
 CLASS_GRAPH            = YES
 
@@ -1620,11 +1692,22 @@ GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = YES
 
 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, svg, gif or svg. 
-# If left blank png will be used.
+# generated by dot. Possible values are svg, png, jpg, or gif. 
+# If left blank png will be used. If you choose svg you need to set 
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
+# visible in IE 9+ (other browsers do not have this requirement).
 
 DOT_IMAGE_FORMAT       = png
 
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
+# enable generation of interactive SVG images that allow zooming and panning. 
+# Note that this requires a modern browser other than Internet Explorer. 
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG        = NO
+
 # The tag DOT_PATH can be used to specify the path where the dot tool can be 
 # found. If left blank, it is assumed the dot tool can be found in the path.
 

+ 1 - 33
doc/src/data.xml

@@ -170,39 +170,7 @@
   <page_news>
     <news index="0074" date="06/12/2011" title="GLM 0.9.3 beta released" image="goodies/logo.png" image-mini="image/logo-mini.png">
       <paragraph>
-        GLM 0.9.3 is making progress which is illustrated by the release of this first alpha.
-      </paragraph>
-      <list name="Changelog:">
-        <list-element>
-          Improved doxygen documentation
-        </list-element>
-        <list-element>
-          Added new swizzle operators for C++11 compilers
-        </list-element>
-        <list-element>
-          Added new swizzle operators declared as functions
-        </list-element>
-        <list-element>
-          Added GLSL 4.20 length for vector and matrix types
-        </list-element>
-        <list-element>
-          Added GLSL core noise functions
-        </list-element>
-        <list-element>
-          Promoted GLM_GTC_noise extension: simplex, perlin, periodic noise functions
-        </list-element>
-        <list-element>
-          Promoted GLM_GTC_random extension: linear, gaussian and various random number generation distribution
-        </list-element>
-        <list-element>
-          Added GLM_GTX_constants: provides usefull constants
-        </list-element>
-        <list-element>
-          Fixed half based type contructors
-        </list-element>
-      </list>
-      <paragraph>
-
+        GLM 0.9.3 beta fixes various bugs and add support for <link href="http://code.google.com/chrome/nativeclient/">Chrome Native Client</link>
       </paragraph>
 
       <source type="Download" href="https://sourceforge.net/projects/ogl-math/files/glm-0.9.3.B/glm-0.9.3.B.zip/download">GLM 0.9.3.B (zip)</source>

+ 16 - 16
glm/gtc/half_float.hpp

@@ -353,67 +353,67 @@ namespace detail
 	/// @{
 
 	/// Type for half-precision floating-point numbers. 
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::thalf					half;
 
 	/// Vector of 2 half-precision floating-point numbers. 
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tvec2<detail::thalf>	hvec2;
 
 	/// Vector of 3 half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tvec3<detail::thalf>	hvec3;
 
 	/// Vector of 4 half-precision floating-point numbers. 
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tvec4<detail::thalf>	hvec4;
 
 	/// 2 * 2 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat2x2<detail::thalf>	hmat2;
     
 	/// 3 * 3 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat3x3<detail::thalf>	hmat3;
 
 	/// 4 * 4 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat4x4<detail::thalf>	hmat4;
 
 	/// 2 * 2 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat2x2<detail::thalf>	hmat2x2;
     
 	/// 2 * 3 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat2x3<detail::thalf>	hmat2x3;
     
 	/// 2 * 4 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat2x4<detail::thalf>	hmat2x4;
 
 	/// 3 * 2 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat3x2<detail::thalf>	hmat3x2;
     
 	/// 3 * 3 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat3x3<detail::thalf>	hmat3x3;
     
 	/// 3 * 4 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat3x4<detail::thalf>	hmat3x4;
 
 	/// 4 * 2 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat4x2<detail::thalf>	hmat4x2;    
 
 	/// 4 * 3 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat4x3<detail::thalf>	hmat4x3;
     
 	/// 4 * 4 matrix of half-precision floating-point numbers.
-	/// From GLM_GTC_half_float extension.
+	/// @see - gtc_half_float
 	typedef detail::tmat4x4<detail::thalf>	hmat4x4;
     
 	/// @}

+ 439 - 155
glm/gtc/matrix_integer.hpp

@@ -49,170 +49,454 @@ namespace glm
 	/// @addtogroup gtc_matrix_integer
 	/// @{
 
-	typedef detail::tmat2x2<highp_int>				highp_imat2;	//!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<highp_int>				highp_imat3;	//!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<highp_int>				highp_imat4;	//!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<highp_int>				highp_imat2x2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x3<highp_int>				highp_imat2x3; //!< \brief High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x4<highp_int>				highp_imat2x4; //!< \brief High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x2<highp_int>				highp_imat3x2; //!< \brief High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<highp_int>				highp_imat3x3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x4<highp_int>				highp_imat3x4; //!< \brief High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x2<highp_int>				highp_imat4x2; //!< \brief High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x3<highp_int>				highp_imat4x3; //!< \brief High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<highp_int>				highp_imat4x4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<mediump_int>			mediump_imat2;	//!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<mediump_int>			mediump_imat3;	//!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<mediump_int>			mediump_imat4;	//!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<mediump_int>			mediump_imat2x2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x3<mediump_int>			mediump_imat2x3; //!< \brief Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x4<mediump_int>			mediump_imat2x4; //!< \brief Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x2<mediump_int>			mediump_imat3x2; //!< \brief Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<mediump_int>			mediump_imat3x3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x4<mediump_int>			mediump_imat3x4; //!< \brief Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x2<mediump_int>			mediump_imat4x2; //!< \brief Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x3<mediump_int>			mediump_imat4x3; //!< \brief Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<mediump_int>			mediump_imat4x4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<lowp_int>				lowp_imat2;	//!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<lowp_int>				lowp_imat3;	//!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<lowp_int>				lowp_imat4;	//!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<lowp_int>				lowp_imat2x2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x3<lowp_int>				lowp_imat2x3; //!< \brief Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x4<lowp_int>				lowp_imat2x4; //!< \brief Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x2<lowp_int>				lowp_imat3x2; //!< \brief Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<lowp_int>				lowp_imat3x3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x4<lowp_int>				lowp_imat3x4; //!< \brief Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x2<lowp_int>				lowp_imat4x2; //!< \brief Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x3<lowp_int>				lowp_imat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<lowp_int>				lowp_imat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<highp_uint>				highp_umat2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<highp_uint>				highp_umat3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<highp_uint>				highp_umat4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<highp_uint>				highp_umat2x2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x3<highp_uint>				highp_umat2x3; //!< \brief High-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x4<highp_uint>				highp_umat2x4; //!< \brief High-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x2<highp_uint>				highp_umat3x2; //!< \brief High-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<highp_uint>				highp_umat3x3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x4<highp_uint>				highp_umat3x4; //!< \brief High-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x2<highp_uint>				highp_umat4x2; //!< \brief High-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x3<highp_uint>				highp_umat4x3; //!< \brief High-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<highp_uint>				highp_umat4x4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<mediump_uint>			mediump_umat2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<mediump_uint>			mediump_umat3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<mediump_uint>			mediump_umat4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<mediump_uint>			mediump_umat2x2; //!< \brief Medium-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x3<mediump_uint>			mediump_umat2x3; //!< \brief Medium-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x4<mediump_uint>			mediump_umat2x4; //!< \brief Medium-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x2<mediump_uint>			mediump_umat3x2; //!< \brief Medium-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<mediump_uint>			mediump_umat3x3; //!< \brief Medium-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x4<mediump_uint>			mediump_umat3x4; //!< \brief Medium-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x2<mediump_uint>			mediump_umat4x2; //!< \brief Medium-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x3<mediump_uint>			mediump_umat4x3; //!< \brief Medium-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<mediump_uint>			mediump_umat4x4; //!< \brief Medium-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<lowp_uint>				lowp_umat2;	//!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<lowp_uint>				lowp_umat3;	//!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<lowp_uint>				lowp_umat4;	//!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-
-	typedef detail::tmat2x2<lowp_uint>				lowp_umat2x2; //!< \brief Low-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x3<lowp_uint>				lowp_umat2x3; //!< \brief Low-precision signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat2x4<lowp_uint>				lowp_umat2x4; //!< \brief Low-precision signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x2<lowp_uint>				lowp_umat3x2; //!< \brief Low-precision signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x3<lowp_uint>				lowp_umat3x3; //!< \brief Low-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat3x4<lowp_uint>				lowp_umat3x4; //!< \brief Low-precision signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x2<lowp_uint>				lowp_umat4x2; //!< \brief Low-precision signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x3<lowp_uint>				lowp_umat4x3; //!< \brief Low-precision signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef detail::tmat4x4<lowp_uint>				lowp_umat4x4; //!< \brief Low-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+	/// High-precision signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<highp_int>				highp_imat2;	
+
+	/// High-precision signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<highp_int>				highp_imat3;
+
+	/// High-precision signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<highp_int>				highp_imat4;
+
+	/// High-precision signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<highp_int>				highp_imat2x2;
+
+	/// High-precision signed integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x3<highp_int>				highp_imat2x3;
+
+	/// High-precision signed integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x4<highp_int>				highp_imat2x4;
+
+	/// High-precision signed integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x2<highp_int>				highp_imat3x2;
+
+	/// High-precision signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<highp_int>				highp_imat3x3;
+
+	/// High-precision signed integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x4<highp_int>				highp_imat3x4;
+
+	/// High-precision signed integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x2<highp_int>				highp_imat4x2;
+
+	/// High-precision signed integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x3<highp_int>				highp_imat4x3;
+
+	/// High-precision signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<highp_int>				highp_imat4x4;
+
+
+	/// Medium-precision signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<mediump_int>			mediump_imat2;
+
+	/// Medium-precision signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<mediump_int>			mediump_imat3;
+
+	/// Medium-precision signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<mediump_int>			mediump_imat4;
+
+
+	/// Medium-precision signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<mediump_int>			mediump_imat2x2;
+
+	/// Medium-precision signed integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x3<mediump_int>			mediump_imat2x3;
+
+	/// Medium-precision signed integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x4<mediump_int>			mediump_imat2x4;
+
+	/// Medium-precision signed integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x2<mediump_int>			mediump_imat3x2;
+
+	/// Medium-precision signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<mediump_int>			mediump_imat3x3;
+
+	/// Medium-precision signed integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x4<mediump_int>			mediump_imat3x4;
+
+	/// Medium-precision signed integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x2<mediump_int>			mediump_imat4x2;
+
+	/// Medium-precision signed integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x3<mediump_int>			mediump_imat4x3;
+
+	/// Medium-precision signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<mediump_int>			mediump_imat4x4;
+
+
+	/// Low-precision signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<lowp_int>				lowp_imat2;
+	
+	/// Low-precision signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<lowp_int>				lowp_imat3;
+
+	/// Low-precision signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<lowp_int>				lowp_imat4;
+
+
+	/// Low-precision signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<lowp_int>				lowp_imat2x2;
+
+	/// Low-precision signed integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x3<lowp_int>				lowp_imat2x3;
+
+	/// Low-precision signed integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x4<lowp_int>				lowp_imat2x4;
+
+	/// Low-precision signed integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x2<lowp_int>				lowp_imat3x2;
+
+	/// Low-precision signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<lowp_int>				lowp_imat3x3;
+
+	/// Low-precision signed integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x4<lowp_int>				lowp_imat3x4;
+
+	/// Low-precision signed integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x2<lowp_int>				lowp_imat4x2;
+
+	/// Low-precision signed integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x3<lowp_int>				lowp_imat4x3;
+
+	/// Low-precision signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<lowp_int>				lowp_imat4x4;
+
+
+	/// High-precision unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<highp_uint>				highp_umat2;	
+
+	/// High-precision unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<highp_uint>				highp_umat3;
+
+	/// High-precision unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<highp_uint>				highp_umat4;
+
+	/// High-precision unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<highp_uint>				highp_umat2x2;
+
+	/// High-precision unsigned integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x3<highp_uint>				highp_umat2x3;
+
+	/// High-precision unsigned integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x4<highp_uint>				highp_umat2x4;
+
+	/// High-precision unsigned integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x2<highp_uint>				highp_umat3x2;
+
+	/// High-precision unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<highp_uint>				highp_umat3x3;
+
+	/// High-precision unsigned integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x4<highp_uint>				highp_umat3x4;
+
+	/// High-precision unsigned integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x2<highp_uint>				highp_umat4x2;
+
+	/// High-precision unsigned integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x3<highp_uint>				highp_umat4x3;
+
+	/// High-precision unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<highp_uint>				highp_umat4x4;
+
+
+	/// Medium-precision unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<mediump_uint>			mediump_umat2;
+
+	/// Medium-precision unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<mediump_uint>			mediump_umat3;
+
+	/// Medium-precision unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<mediump_uint>			mediump_umat4;
+
+
+	/// Medium-precision unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<mediump_uint>			mediump_umat2x2;
+
+	/// Medium-precision unsigned integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x3<mediump_uint>			mediump_umat2x3;
+
+	/// Medium-precision unsigned integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x4<mediump_uint>			mediump_umat2x4;
+
+	/// Medium-precision unsigned integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x2<mediump_uint>			mediump_umat3x2;
+
+	/// Medium-precision unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<mediump_uint>			mediump_umat3x3;
+
+	/// Medium-precision unsigned integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x4<mediump_uint>			mediump_umat3x4;
+
+	/// Medium-precision unsigned integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x2<mediump_uint>			mediump_umat4x2;
+
+	/// Medium-precision unsigned integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x3<mediump_uint>			mediump_umat4x3;
+
+	/// Medium-precision unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<mediump_uint>			mediump_umat4x4;
+
+
+	/// Low-precision unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<lowp_uint>				lowp_umat2;
+	
+	/// Low-precision unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<lowp_uint>				lowp_umat3;
+
+	/// Low-precision unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<lowp_uint>				lowp_umat4;
+
+
+	/// Low-precision unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x2<lowp_uint>				lowp_umat2x2;
+
+	/// Low-precision unsigned integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x3<lowp_uint>				lowp_umat2x3;
+
+	/// Low-precision unsigned integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat2x4<lowp_uint>				lowp_umat2x4;
+
+	/// Low-precision unsigned integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x2<lowp_uint>				lowp_umat3x2;
+
+	/// Low-precision unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x3<lowp_uint>				lowp_umat3x3;
+
+	/// Low-precision unsigned integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat3x4<lowp_uint>				lowp_umat3x4;
+
+	/// Low-precision unsigned integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x2<lowp_uint>				lowp_umat4x2;
+
+	/// Low-precision unsigned integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x3<lowp_uint>				lowp_umat4x3;
+
+	/// Low-precision unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef detail::tmat4x4<lowp_uint>				lowp_umat4x4;
 
 #if(defined(GLM_PRECISION_HIGHP_INT))
-	typedef highp_imat2								imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat3								imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat4								imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat2x2							imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat2x3							imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat2x4							imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat3x2							imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat3x3							imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat3x4							imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat4x2							imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat4x3							imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_imat4x4							imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+	typedef highp_imat2								imat2;
+	typedef highp_imat3								imat3;
+	typedef highp_imat4								imat4;
+	typedef highp_imat2x2							imat2x2;
+	typedef highp_imat2x3							imat2x3;
+	typedef highp_imat2x4							imat2x4;
+	typedef highp_imat3x2							imat3x2;
+	typedef highp_imat3x3							imat3x3;
+	typedef highp_imat3x4							imat3x4;
+	typedef highp_imat4x2							imat4x2;
+	typedef highp_imat4x3							imat4x3;
+	typedef highp_imat4x4							imat4x4;
 #elif(defined(GLM_PRECISION_LOWP_INT))
-	typedef lowp_imat2								imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat3								imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat4								imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat2x2							imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat2x3							imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat2x4							imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat3x2							imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat3x3							imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat3x4							imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat4x2							imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat4x3							imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_imat4x4							imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+	typedef lowp_imat2								imat2;
+	typedef lowp_imat3								imat3;
+	typedef lowp_imat4								imat4;
+	typedef lowp_imat2x2							imat2x2;
+	typedef lowp_imat2x3							imat2x3;
+	typedef lowp_imat2x4							imat2x4;
+	typedef lowp_imat3x2							imat3x2;
+	typedef lowp_imat3x3							imat3x3;
+	typedef lowp_imat3x4							imat3x4;
+	typedef lowp_imat4x2							imat4x2;
+	typedef lowp_imat4x3							imat4x3;
+	typedef lowp_imat4x4							imat4x4;
 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
-	typedef mediump_imat2							imat2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat3							imat3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat4							imat4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat2x2							imat2x2; //!< \brief Signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat2x3							imat2x3; //!< \brief Signed integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat2x4							imat2x4; //!< \brief Signed integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat3x2							imat3x2; //!< \brief Signed integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat3x3							imat3x3; //!< \brief Signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat3x4							imat3x4; //!< \brief Signed integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat4x2							imat4x2; //!< \brief Signed integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat4x3							imat4x3; //!< \brief Signed integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_imat4x4							imat4x4; //!< \brief Signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+
+	/// Signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat2							imat2;
+
+	/// Signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat3							imat3;
+
+	/// Signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat4							imat4;
+
+	/// Signed integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat2x2							imat2x2;
+
+	/// Signed integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat2x3							imat2x3;
+
+	/// Signed integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat2x4							imat2x4;
+
+	/// Signed integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat3x2							imat3x2;
+
+	/// Signed integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat3x3							imat3x3;
+
+	/// Signed integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat3x4							imat3x4;
+
+	/// Signed integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat4x2							imat4x2;
+
+	/// Signed integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat4x3							imat4x3;
+
+	/// Signed integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_imat4x4							imat4x4;
 #endif//GLM_PRECISION
 
 #if(defined(GLM_PRECISION_HIGHP_UINT))
-	typedef highp_umat2								umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat3								umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat4								umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat2x2							umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat2x3							umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat2x4							umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat3x2							umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat3x3							umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat3x4							umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat4x2							umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat4x3							umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef highp_umat4x4							umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+	typedef highp_umat2								umat2;
+	typedef highp_umat3								umat3;
+	typedef highp_umat4								umat4;
+	typedef highp_umat2x2							umat2x2;
+	typedef highp_umat2x3							umat2x3;
+	typedef highp_umat2x4							umat2x4;
+	typedef highp_umat3x2							umat3x2;
+	typedef highp_umat3x3							umat3x3;
+	typedef highp_umat3x4							umat3x4;
+	typedef highp_umat4x2							umat4x2;
+	typedef highp_umat4x3							umat4x3;
+	typedef highp_umat4x4							umat4x4;
 #elif(defined(GLM_PRECISION_LOWP_UINT))
-	typedef lowp_umat2								umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat3								umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat4								umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat2x2							umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat2x3							umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat2x4							umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat3x2							umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat3x3							umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat3x4							umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat4x2							umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat4x3							umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef lowp_umat4x4							umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+	typedef lowp_umat2								umat2;
+	typedef lowp_umat3								umat3;
+	typedef lowp_umat4								umat4;
+	typedef lowp_umat2x2							umat2x2;
+	typedef lowp_umat2x3							umat2x3;
+	typedef lowp_umat2x4							umat2x4;
+	typedef lowp_umat3x2							umat3x2;
+	typedef lowp_umat3x3							umat3x3;
+	typedef lowp_umat3x4							umat3x4;
+	typedef lowp_umat4x2							umat4x2;
+	typedef lowp_umat4x3							umat4x3;
+	typedef lowp_umat4x4							umat4x4;
 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
-	typedef mediump_umat2							umat2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat3							umat3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat4							umat4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat2x2							umat2x2; //!< \brief Unsigned integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat2x3							umat2x3; //!< \brief Unsigned integer 2x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat2x4							umat2x4; //!< \brief Unsigned integer 2x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat3x2							umat3x2; //!< \brief Unsigned integer 3x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat3x3							umat3x3; //!< \brief Unsigned integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat3x4							umat3x4; //!< \brief Unsigned integer 3x4 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat4x2							umat4x2; //!< \brief Unsigned integer 4x2 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat4x3							umat4x3; //!< \brief Unsigned integer 4x3 matrix. (from GLM_GTC_matrix_integer extension)
-	typedef mediump_umat4x4							umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
+	/// Unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat2							umat2;
+
+	/// Unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat3							umat3;
+
+	/// Unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat4							umat4;
+
+	/// Unsigned integer 2x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat2x2							umat2x2;
+
+	/// Unsigned integer 2x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat2x3							umat2x3;
+
+	/// Unsigned integer 2x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat2x4							umat2x4;
+
+	/// Unsigned integer 3x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat3x2							umat3x2;
+
+	/// Unsigned integer 3x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat3x3							umat3x3;
+
+	/// Unsigned integer 3x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat3x4							umat3x4;
+
+	/// Unsigned integer 4x2 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat4x2							umat4x2;
+
+	/// Unsigned integer 4x3 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat4x3							umat4x3;
+
+	/// Unsigned integer 4x4 matrix.
+	/// @see - gtc_matrix_integer
+	typedef mediump_umat4x4							umat4x4;
 #endif//GLM_PRECISION
 
 	/// @}