@@ -53,29 +55,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
_________________
-
+
+ -
+
+
+
+
+
+
+
+
+
diff --git a/doc/src/util.xsl b/doc/src/util.xsl
index 0d9be52a..d33980f8 100644
--- a/doc/src/util.xsl
+++ b/doc/src/util.xsl
@@ -52,9 +52,42 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -62,7 +95,7 @@
-
+
diff --git a/doc/theme/doxygen.css b/doc/theme/doxygen.css
new file mode 100644
index 00000000..f146cb93
--- /dev/null
+++ b/doc/theme/doxygen.css
@@ -0,0 +1,859 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl
+{
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+body
+{
+ margin:0px;
+ padding:0px;
+ background-color:#000000;
+ background-repeat:no-repeat;
+ background-position:center center;
+ background-attachment:fixed;
+/*
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFF8F0 5%, #FFEEDD 95%, #FFDDBB);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.05,#FFF8F0), color-stop(0.05,#FFF8F0), color-stop(0.95,#FFEEDD), to(#FFDDBB));
+*/
+ min-height:1200px;
+ overflow:auto;
+}
+
+p
+{
+ background-color:#FFFFFF;
+}
+
+/* @group Heading Levels */
+
+h1
+{
+ color:#FF8000;
+ font-family:Century;
+ font-size: 150%;
+}
+
+h2
+{
+ color:#FF8000;
+ font-family:Century;
+ font-size: 120%;
+}
+
+h3 {
+ font-family:Century;
+ font-size: 100%;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #FFF8F0;
+ border: 0px solid #FF8000;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #000000;
+ font-weight: normal;
+ /*text-decoration: none;*/
+}
+
+.contents a:visited {
+ color: #606060;
+}
+
+.contents{
+ background-color: #FFFFFF;
+ margin:0px;
+ margin-left:auto;
+ margin-right:auto;
+ padding:0px;
+ width:1000px;
+}
+
+div.textblock{
+ background-color: #FFFFFF;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ padding-left: 32px;
+ padding-right: 32px;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 0px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+/*
+ font-family: Century;
+ font-size: 150%;
+ color:#FF8000;
+*/
+}
+
+a.elRef {
+}
+
+a.code {
+ color: #4665A2;
+}
+
+a.codeRef {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 0px solid #FF8000;
+ background-color: #FFF8F0;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+td.indexkey {
+ font-weight: bold;
+ border: 0px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 4px 10px;
+}
+
+td.indexvalue {
+ border: 0px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #FFF8F0;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ margin-left:auto;
+ margin-right:auto;
+ width:1000px;
+
+ text-align: right;
+ padding-right: 12px;
+ color: #FFEEDD;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 0px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 0px solid #FF8000;
+}
+
+hr.footer {
+ height: 1px;
+ margin-left:auto;
+ margin-right:auto;
+ width:1000px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #FFFCF8;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #000000;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 4px solid #FFFFFF;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memTemplParams {
+ color: #404040;
+ white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 0px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.memitem {
+ padding: 8px;
+ margin-bottom: 10px;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memproto {
+ border-top: 0px solid #FF8000;
+ border-left: 0px solid #FF8000;
+ border-right: 0px solid #FF8000;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 8px;
+ border-top-left-radius: 8px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 8px;
+ -moz-border-radius-topleft: 8px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 8px;
+ -webkit-border-top-left-radius: 8px;
+ /*background-image:url('nav_f.png');*/
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ background-image: -moz-linear-gradient(center top, #FFF8F0 0%, #FFFFFF 60%, #FFFFFF 95%, #FFFFFF);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFF8F0), color-stop(0.2,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#FFFFFF), to(#FFFFFF));
+}
+
+.memdoc {
+ border-bottom: 0px solid #FF8000;
+ border-left: 0px solid #FF8000;
+ border-right: 0px solid #FF8000;
+ padding: 2px 5px;
+ background-color: #FFFFFF;
+ border-top-width: 0;
+ /* opera specific markup */
+ border-bottom-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #FFF8F0 90%, #FFEEDD);
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.90,#FFF8F0), to(#FFEEDD));
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+.params, .retval, .exception, .tparams {
+ border-spacing: 6px 2px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+
+
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0px;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+ margin: 5px;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+}
+
+address {
+ font-style: normal;
+ color: #804000;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 0px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+}
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ /*background-image: url('tab_b.png');*/
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-color: #FFEEDD;
+ height:30px;
+ line-height:30px;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ /*background-image:url('bc_s.png');*/
+ background-repeat:no-repeat;
+ background-position:right;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#FF8000;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#FFEEDD;
+ font-size: 8pt;
+}
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ padding-left: 5px;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-color:#FFEEDD;
+ background-image: -moz-linear-gradient(center top, #FFEEDD 0%, #FFEEDD 5%, #FFEEDD 80%, #FFFFFF);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFEEDD), color-stop(0.05,#FFEEDD), color-stop(0.05,#FFEEDD), color-stop(0.80,#FFEEDD), to(#FFFFFF));
+
+ padding:0px;
+ margin:0px;
+ margin-left:auto;
+ margin-right:auto;
+ width:1000px;
+ border-bottom: 0px solid #FFC080;
+}
+
+div.headertitle
+{
+ margin: 0px;
+ padding: 5px;
+ padding-bottom:10px;
+ padding-top:10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
+{
+ border-color: #FF8000;
+ border-left:4px solid;
+ padding: 0 0 0 6px;
+}
+
+dl.note
+{
+ border-color: #FFDDBB;
+}
+
+dl.warning, dl.attention
+{
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ border-color: #505050;
+}
+
+dl.todo
+{
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ border-color: #C08050;
+}
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectbrief
+{
+ font: 120% arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 0px solid #FF8000;
+ background-color:#FFFFFF;
+}
+
+#top
+{
+ margin-left:auto;
+ margin-right:auto;
+ width:1000px;
+
+ /*background-color:#000000;*/
+}
diff --git a/doc/theme/tabs.css b/doc/theme/tabs.css
new file mode 100644
index 00000000..636277d9
--- /dev/null
+++ b/doc/theme/tabs.css
@@ -0,0 +1,79 @@
+.tabs, .tabs2, .tabs3 {
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 5%, #FFEEDD 95%, #FFEEDD);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.95,#FFEEDD), to(#FFEEDD));
+
+ /*background-image: url('tab_b.png');*/
+ background-color:#FFF8F0;
+ width: 100%;
+ z-index: 101;
+ font-size: 13px;
+}
+
+.tabs2 {
+ font-size: 10px;
+}
+.tabs3 {
+ font-size: 9px;
+}
+
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
+}
+
+.tablist li {
+ float: left;
+ display: table-cell;
+
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 5%, #FFEEDD 95%, #FFEEDD);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.95,#FFEEDD), to(#FFEEDD));
+
+ /*background-image: url('tab_b.png');*/
+ line-height: 36px;
+ list-style: none;
+}
+
+.tablist a {
+ display: block;
+ padding: 0 20px;
+ font-weight: bold;
+
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 5%, #FFEEDD 95%, #FFEEDD);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.95,#FFEEDD), to(#FFEEDD));
+
+ /*background-image:url('tab_s.png');*/
+ background-repeat:no-repeat;
+ background-position:right;
+ color: #FF8000;
+ /*text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);*/
+ text-decoration: none;
+ outline: none;
+}
+
+.tabs3 .tablist a {
+ padding: 0 10px;
+}
+
+.tablist a:hover {
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 5%, #FFEEDD 95%, #FFEEDD);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.95,#FFEEDD), to(#FFEEDD));
+
+ /*background-image: url('tab_h.png');*/
+ background-color:#FFFEFD;
+ background-repeat:repeat-x;
+ color: #FF8000;
+ /*text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);*/
+ text-decoration:underline;
+}
+
+.tablist li.current a {
+ background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 5%, #FFEEDD 95%, #FFEEDD);
+ background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.05,#FFFFFF), color-stop(0.95,#FFEEDD), to(#FFEEDD));
+
+ /*background-image: url('tab_a.png');*/
+ background-color:#FFFEFD;
+ background-repeat:repeat-x;
+ color: #FF8000;
+ /*text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);*/
+}
diff --git a/doc/virtrevModules.doxy b/doc/virtrevModules.doxy
new file mode 100644
index 00000000..b617cb90
--- /dev/null
+++ b/doc/virtrevModules.doxy
@@ -0,0 +1,14 @@
+/*!
+ \defgroup virtrev VIRTREV Extensions
+
+ \brief Extensions develop and maintain by Mathieu [matrem] Roumillac (http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showprofile&User=22660).
+**/
+
+/*!
+ \defgroup virtrev_xstream GLM_VIRTREV_xstream: xml like output
+ \ingroup virtrev
+
+ \brief Streaming vector and matrix in a xml way.
+
+ Include for this functionality.
+**/
diff --git a/glm/core/func_common.hpp b/glm/core/func_common.hpp
index 2a5f0e92..df3ac062 100644
--- a/glm/core/func_common.hpp
+++ b/glm/core/func_common.hpp
@@ -21,6 +21,9 @@ namespace glm
//! Define common functions from Section 8.3 of GLSL 1.30.8 specification. Included in glm namespace.
namespace common{
+ /// \addtogroup core_funcs
+ ///@{
+
//! Returns x if x >= 0; otherwise, it returns -x.
//! (From GLSL 1.30.08 specification, section 8.3)
template
@@ -262,6 +265,8 @@ namespace glm
template
genType ldexp(genType const & x, genIType const & exp);
+ ///@}
+
}//namespace common
}//namespace function
}//namespace core
diff --git a/glm/core/func_exponential.hpp b/glm/core/func_exponential.hpp
index 2197b0f7..b5a027f0 100644
--- a/glm/core/func_exponential.hpp
+++ b/glm/core/func_exponential.hpp
@@ -21,6 +21,9 @@ namespace glm
//! Define all exponential functions from Section 8.2 of GLSL 1.30.8 specification. Included in glm namespace.
namespace exponential{
+ /// \addtogroup core_funcs
+ ///@{
+
//! Returns x raised to the y power.
//! (From GLSL 1.30.08 specification, section 8.2)
template
@@ -59,6 +62,8 @@ namespace glm
template
genType inversesqrt(genType const & x);
+ ///@}
+
}//namespace exponential
}//namespace function
}//namespace core
diff --git a/glm/core/func_geometric.hpp b/glm/core/func_geometric.hpp
index 24029994..a6bdc37e 100644
--- a/glm/core/func_geometric.hpp
+++ b/glm/core/func_geometric.hpp
@@ -21,6 +21,9 @@ namespace glm
//! Define all geometric functions from Section 8.4 of GLSL 1.30.8 specification. Included in glm namespace.
namespace geometric{
+ /// \addtogroup core_funcs
+ ///@{
+
//! Returns the length of x, i.e., sqrt(x * x).
//! (From GLSL 1.30.08 specification, section 8.4)
template
@@ -80,6 +83,8 @@ namespace glm
genType const & N,
typename genType::value_type const & eta);
+ ///@}
+
}//namespace geometric
}//namespace function
}//namespace core
diff --git a/glm/core/func_integer.hpp b/glm/core/func_integer.hpp
index 03319f36..4c50bb9f 100644
--- a/glm/core/func_integer.hpp
+++ b/glm/core/func_integer.hpp
@@ -21,6 +21,9 @@ namespace glm
//! Define integer functions from Section 8.8 of GLSL 4.00.8 specification.
namespace integer{
+ /// \addtogroup core_funcs
+ ///@{
+
//! Adds 32-bit unsigned integer x and y, returning the sum
//! modulo pow(2, 32). The value carry is set to 0 if the sum was
//! less than pow(2, 32), or to 1 otherwise.
@@ -128,6 +131,8 @@ namespace glm
template class C>
typename C::signed_type findMSB(C const & Value);
+ ///@}
+
}//namespace integer
}//namespace function
}//namespace core
diff --git a/glm/core/func_matrix.hpp b/glm/core/func_matrix.hpp
index 28ef155a..4ea7ce07 100644
--- a/glm/core/func_matrix.hpp
+++ b/glm/core/func_matrix.hpp
@@ -21,6 +21,9 @@ namespace glm
//! Define all matrix functions from Section 8.5 of GLSL 1.30.8 specification. Included in glm namespace.
namespace matrix{
+ /// \addtogroup core_funcs
+ ///@{
+
//! 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].
//! (From GLSL 1.30.08 specification, section 8.5)
@@ -80,6 +83,8 @@ namespace glm
detail::tmat4x4 inverse(
detail::tmat4x4 const & m);
+ ///@}
+
}//namespace matrix
}//namespace function
}//namespace core
diff --git a/glm/core/func_noise.hpp b/glm/core/func_noise.hpp
index 99600bad..4af5f7d4 100644
--- a/glm/core/func_noise.hpp
+++ b/glm/core/func_noise.hpp
@@ -21,6 +21,9 @@ namespace glm
// Define all noise functions from Section 8.9 of GLSL 1.30.8 specification. Included in glm namespace.
namespace noise{
+ /// \addtogroup core_funcs
+ ///@{
+
// Returns a 1D noise value based on the input value x.
// From GLSL 1.30.08 specification, section 8.9.
template
@@ -41,6 +44,8 @@ namespace glm
template
detail::tvec4 noise4(genType const & x);
+ ///@}
+
}//namespace noise
}//namespace function
}//namespace core
diff --git a/glm/core/func_packing.hpp b/glm/core/func_packing.hpp
index 619b9391..9704d70a 100644
--- a/glm/core/func_packing.hpp
+++ b/glm/core/func_packing.hpp
@@ -21,6 +21,9 @@ namespace glm
//! Define packing functions from section 8.4 floating-point pack and unpack functions of GLSL 4.00.8 specification
namespace packing
{
+ /// \addtogroup core_funcs
+ ///@{
+
detail::uint32 packUnorm2x16(detail::tvec2 const & v);
detail::uint32 packUnorm4x8(detail::tvec4 const & v);
detail::uint32 packSnorm4x8(detail::tvec4 const & v);
@@ -32,6 +35,8 @@ namespace glm
double packDouble2x32(detail::tvec2 const & v);
detail::tvec2 unpackDouble2x32(double const & v);
+ ///@}
+
}//namespace packing
}//namespace function
}//namespace core
diff --git a/glm/core/func_trigonometric.hpp b/glm/core/func_trigonometric.hpp
index 47a6e97a..4d147bfb 100644
--- a/glm/core/func_trigonometric.hpp
+++ b/glm/core/func_trigonometric.hpp
@@ -23,6 +23,9 @@ namespace glm
//! Included in glm namespace.
namespace trigonometric{
+ /// \addtogroup core_funcs
+ ///@{
+
//! Converts degrees to radians and returns the result.
//! (From GLSL 1.30.08 specification, section 8.1)
template
@@ -111,6 +114,8 @@ namespace glm
template
genType atanh(genType const & x);
+ ///@}
+
}//namespace trigonometric
}//namespace function
}//namespace core
diff --git a/glm/core/func_vector_relational.hpp b/glm/core/func_vector_relational.hpp
index a6f5047d..66932279 100644
--- a/glm/core/func_vector_relational.hpp
+++ b/glm/core/func_vector_relational.hpp
@@ -24,6 +24,9 @@ namespace glm
//! Included in glm namespace.
namespace vector_relational
{
+ /// \addtogroup core_funcs
+ ///@{
+
//! Returns the component-wise comparison result of x < y.
//! (From GLSL 1.30.08 specification, section 8.6)
template class vecType>
@@ -183,6 +186,8 @@ namespace glm
return Result;
}
+ ///@}
+
}//namespace vector_relational
}//namespace function
}//namespace core
diff --git a/glm/core/type.hpp b/glm/core/type.hpp
index f4d9f042..599163ba 100644
--- a/glm/core/type.hpp
+++ b/glm/core/type.hpp
@@ -80,64 +80,79 @@ namespace type
#else
//! 2 components vector of floating-point numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_vec2 vec2;
//! 3 components vector of floating-point numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_vec3 vec3;
//! 4 components vector of floating-point numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_vec4 vec4;
//! 2 columns of 2 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat2x2 mat2x2;
//! 2 columns of 3 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat2x3 mat2x3;
//! 2 columns of 4 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat2x4 mat2x4;
//! 3 columns of 2 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat3x2 mat3x2;
//! 3 columns of 3 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat3x3 mat3x3;
//! 3 columns of 4 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat3x4 mat3x4;
//! 4 columns of 2 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat4x2 mat4x2;
//! 4 columns of 3 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat4x3 mat4x3;
//! 4 columns of 4 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef precision::mediump_mat4x4 mat4x4;
#endif//GLM_PRECISION
//! 2 columns of 2 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef mat2x2 mat2;
//! 3 columns of 3 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef mat3x3 mat3;
//! 4 columns of 4 components matrix of floating-point numbers.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices)
+ //! \ingroup core_types
typedef mat4x4 mat4;
//////////////////////////
@@ -158,14 +173,17 @@ namespace type
#else
//! 2 components vector of signed integer numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_ivec2 ivec2;
//! 3 components vector of signed integer numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_ivec3 ivec3;
//! 4 components vector of signed integer numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_ivec4 ivec4;
#endif//GLM_PRECISION
@@ -187,14 +205,17 @@ namespace type
#else
//! 2 components vector of unsigned integer numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_uvec2 uvec2;
//! 3 components vector of unsigned integer numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_uvec3 uvec3;
//! 4 components vector of unsigned integer numbers.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef precision::mediump_uvec4 uvec4;
#endif//GLM_PRECISION
@@ -203,14 +224,17 @@ namespace type
//! 2 components vector of boolean.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef detail::tvec2 bvec2;
//! 3 components vector of boolean.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef detail::tvec3 bvec3;
//! 4 components vector of boolean.
//! From GLSL 1.30.8 specification, section 4.1.5 Vectors.
+ //! \ingroup core_types
typedef detail::tvec4 bvec4;
//////////////////////////
@@ -218,62 +242,77 @@ namespace type
//! Vector of 2 double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tvec2 dvec2;
//! Vector of 3 double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tvec3 dvec3;
//! Vector of 4 double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tvec4 dvec4;
//! 2 * 2 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat2x2 dmat2;
//! 3 * 3 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat3x3 dmat3;
//! 4 * 4 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat4x4 dmat4;
//! 2 * 2 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat2x2 dmat2x2;
//! 2 * 3 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat2x3 dmat2x3;
//! 2 * 4 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat2x4 dmat2x4;
//! 3 * 2 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat3x2 dmat3x2;
//! 3 * 3 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat3x3 dmat3x3;
//! 3 * 4 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat3x4 dmat3x4;
//! 4 * 2 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat4x2 dmat4x2;
//! 4 * 3 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat4x3 dmat4x3;
//! 4 * 4 matrix of double-precision floating-point numbers.
//! From GLSL 4.00.8 specification, section 4.1 Basic Types.
+ //! \ingroup core_types
typedef detail::tmat4x4 dmat4x4;
}//namespace type
diff --git a/glm/core/type_float.hpp b/glm/core/type_float.hpp
index a274857d..43aabb41 100644
--- a/glm/core/type_float.hpp
+++ b/glm/core/type_float.hpp
@@ -38,16 +38,19 @@ namespace glm
typedef double highp_float_t;
//! Low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification
+ //! \ingroup core_precision
typedef lowp_float_t lowp_float;
//! Medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification
+ //! \ingroup core_precision
typedef mediump_float_t mediump_float;
//! High precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification
+ //! \ingroup core_precision
typedef highp_float_t highp_float;
}
//namespace precision
diff --git a/glm/core/type_half.hpp b/glm/core/type_half.hpp
index d451e5d8..cc8fed60 100644
--- a/glm/core/type_half.hpp
+++ b/glm/core/type_half.hpp
@@ -27,6 +27,8 @@ namespace glm
float toFloat32(hdata value);
hdata toFloat16(float const & value);
+ ///16-bit floating point type.
+ /// \ingroup gtc_half_float
class thalf
{
public:
diff --git a/glm/core/type_int.hpp b/glm/core/type_int.hpp
index 2d046911..e788d333 100644
--- a/glm/core/type_int.hpp
+++ b/glm/core/type_int.hpp
@@ -63,32 +63,39 @@ namespace glm
namespace core{
namespace type{
+ ///namespace for precision stuff.
namespace precision
{
//! Low precision signed integer.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification.
+ //! \ingroup core_precision
typedef detail::lowp_int_t lowp_int;
//! Medium precision signed integer.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification.
+ //! \ingroup core_precision
typedef detail::mediump_int_t mediump_int;
//! High precision signed integer.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification.
+ //! \ingroup core_precision
typedef detail::highp_int_t highp_int;
//! Low precision unsigned integer.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification.
+ //! \ingroup core_precision
typedef detail::lowp_uint_t lowp_uint;
//! Medium precision unsigned integer.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification.
+ //! \ingroup core_precision
typedef detail::mediump_uint_t mediump_uint;
//! High precision unsigned integer.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification.
+ //! \ingroup core_precision
typedef detail::highp_uint_t highp_uint;
}
//namespace precision
diff --git a/glm/core/type_mat2x2.hpp b/glm/core/type_mat2x2.hpp
index 692ec5e8..aecd36e0 100644
--- a/glm/core/type_mat2x2.hpp
+++ b/glm/core/type_mat2x2.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 2 * 2 matrix of floating-point numbers.
+ //! \brief Template for 2 * 2 matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat2x2
{
@@ -222,16 +223,19 @@ namespace glm
namespace precision
{
//! 2 columns of 2 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat2x2 lowp_mat2x2;
//! 2 columns of 2 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat2x2 mediump_mat2x2;
//! 2 columns of 2 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat2x2 highp_mat2x2;
}
//namespace precision
diff --git a/glm/core/type_mat2x3.hpp b/glm/core/type_mat2x3.hpp
index 81b14ebf..647d1ebe 100644
--- a/glm/core/type_mat2x3.hpp
+++ b/glm/core/type_mat2x3.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 2 columns and 3 rows matrix of floating-point numbers.
+ //! \brief Template for 2 columns and 3 rows matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat2x3
{
@@ -189,16 +190,19 @@ namespace glm
namespace precision
{
//! 2 columns of 3 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat2x3 lowp_mat2x3;
//! 2 columns of 3 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat2x3 mediump_mat2x3;
//! 2 columns of 3 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat2x3 highp_mat2x3;
}
//namespace precision
diff --git a/glm/core/type_mat2x4.hpp b/glm/core/type_mat2x4.hpp
index 5b16b082..e0c00ffb 100644
--- a/glm/core/type_mat2x4.hpp
+++ b/glm/core/type_mat2x4.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 2 columns and 4 rows matrix of floating-point numbers.
+ //! Template for 2 columns and 4 rows matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat2x4
{
@@ -189,15 +190,15 @@ namespace glm
namespace precision
{
//! 2 columns of 4 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat2x4 lowp_mat2x4;
//! 2 columns of 4 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat2x4 mediump_mat2x4;
//! 2 columns of 4 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat2x4 highp_mat2x4;
}
diff --git a/glm/core/type_mat3x2.hpp b/glm/core/type_mat3x2.hpp
index 2fc42c52..5a2bd8f0 100644
--- a/glm/core/type_mat3x2.hpp
+++ b/glm/core/type_mat3x2.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 3 columns and 2 rows matrix of floating-point numbers.
+ //! \brief Template for 3 columns and 2 rows matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat3x2
{
@@ -191,15 +192,15 @@ namespace glm
namespace precision
{
//! 3 columns of 2 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x2 lowp_mat3x2;
//! 3 columns of 2 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x2 mediump_mat3x2;
//! 3 columns of 2 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x2 highp_mat3x2;
}
diff --git a/glm/core/type_mat3x3.hpp b/glm/core/type_mat3x3.hpp
index 30a12676..e5edfaff 100644
--- a/glm/core/type_mat3x3.hpp
+++ b/glm/core/type_mat3x3.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 3 * 3 matrix of floating-point numbers.
+ //! \brief Template for 3 * 3 matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat3x3
{
@@ -221,16 +222,19 @@ namespace glm
namespace precision
{
//! 3 columns of 3 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat3x3 lowp_mat3x3;
//! 3 columns of 3 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat3x3 mediump_mat3x3;
//! 3 columns of 3 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat3x3 highp_mat3x3;
}
//namespace precision
diff --git a/glm/core/type_mat3x4.hpp b/glm/core/type_mat3x4.hpp
index 03b7e5f2..6f68b4cd 100644
--- a/glm/core/type_mat3x4.hpp
+++ b/glm/core/type_mat3x4.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 3 columns and 4 rows matrix of floating-point numbers.
+ //! \brief Template for 3 columns and 4 rows matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat3x4
{
@@ -191,15 +192,15 @@ namespace glm
namespace precision
{
//! 3 columns of 4 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x4 lowp_mat3x4;
//! 3 columns of 4 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x4 mediump_mat3x4;
//! 3 columns of 4 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
typedef detail::tmat3x4 highp_mat3x4;
}
diff --git a/glm/core/type_mat4x2.hpp b/glm/core/type_mat4x2.hpp
index a705d127..3d90e3ac 100644
--- a/glm/core/type_mat4x2.hpp
+++ b/glm/core/type_mat4x2.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 4 columns and 2 rows matrix of floating-point numbers.
+ //! \brief Template for 4 columns and 2 rows matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat4x2
{
@@ -193,16 +194,19 @@ namespace glm
namespace precision
{
//! 4 columns of 2 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x2 lowp_mat4x2;
//! 4 columns of 2 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x2 mediump_mat4x2;
//! 4 columns of 2 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x2 highp_mat4x2;
}
//namespace precision
diff --git a/glm/core/type_mat4x3.hpp b/glm/core/type_mat4x3.hpp
index 2fb7bcef..d9a311ad 100644
--- a/glm/core/type_mat4x3.hpp
+++ b/glm/core/type_mat4x3.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 4 columns and 3 rows matrix of floating-point numbers.
+ //! \brief Template for 4 columns and 3 rows matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat4x3
{
@@ -193,16 +194,19 @@ namespace glm
namespace precision
{
//! 4 columns of 3 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x3 lowp_mat4x3;
//! 4 columns of 3 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x3 mediump_mat4x3;
//! 4 columns of 3 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x3 highp_mat4x3;
}
//namespace precision
diff --git a/glm/core/type_mat4x4.hpp b/glm/core/type_mat4x4.hpp
index 47ca4a91..05325a1e 100644
--- a/glm/core/type_mat4x4.hpp
+++ b/glm/core/type_mat4x4.hpp
@@ -35,7 +35,8 @@ namespace glm
template struct tmat4x3;
template struct tmat4x4;
- //!< \brief Template for 4 * 4 matrix of floating-point numbers.
+ //! \brief Template for 4 * 4 matrix of floating-point numbers.
+ //! \ingroup core_template
template
struct tmat4x4
{
@@ -221,16 +222,19 @@ namespace glm
namespace precision
{
//! 4 columns of 4 components matrix of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x4 lowp_mat4x4;
//! 4 columns of 4 components matrix of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x4 mediump_mat4x4;
//! 4 columns of 4 components matrix of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! (From GLSL 1.30.8 specification, section 4.1.6 Matrices and section 4.5 Precision and Precision Qualifiers)
+ //! \ingroup core_precision
typedef detail::tmat4x4 highp_mat4x4;
}
//namespace precision
diff --git a/glm/core/type_vec2.hpp b/glm/core/type_vec2.hpp
index 91cdbc69..3e212c88 100644
--- a/glm/core/type_vec2.hpp
+++ b/glm/core/type_vec2.hpp
@@ -32,6 +32,8 @@ namespace glm
template struct tvec3;
template struct tvec4;
+ //! The basic 2D vector type.
+ //! \ingroup core_template
template
struct tvec2
{
@@ -203,42 +205,51 @@ namespace glm
namespace precision
{
//! 2 components vector of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 highp_vec2;
//! 2 components vector of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 mediump_vec2;
//! 2 components vector of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 lowp_vec2;
//! 2 components vector of high precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 highp_ivec2;
//! 2 components vector of medium precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 mediump_ivec2;
//! 2 components vector of low precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 lowp_ivec2;
//! 2 components vector of high precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 highp_uvec2;
//! 2 components vector of medium precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 mediump_uvec2;
//! 2 components vector of low precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec2 lowp_uvec2;
}
//namespace precision
diff --git a/glm/core/type_vec3.hpp b/glm/core/type_vec3.hpp
index 2a3025db..189950ab 100644
--- a/glm/core/type_vec3.hpp
+++ b/glm/core/type_vec3.hpp
@@ -31,6 +31,8 @@ namespace glm
template struct tvec2;
template struct tvec4;
+ //! Basic 3D vector type.
+ //! \ingroup core_template
template
struct tvec3
{
@@ -208,42 +210,51 @@ namespace glm
namespace precision
{
//! 3 components vector of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 highp_vec3;
//! 3 components vector of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 mediump_vec3;
//! 3 components vector of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 lowp_vec3;
//! 3 components vector of high precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 highp_ivec3;
//! 3 components vector of medium precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 mediump_ivec3;
//! 3 components vector of low precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 lowp_ivec3;
//! 3 components vector of high precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 highp_uvec3;
//! 3 components vector of medium precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 mediump_uvec3;
//! 3 components vector of low precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec3 lowp_uvec3;
}
//namespace precision
diff --git a/glm/core/type_vec4.hpp b/glm/core/type_vec4.hpp
index 02d88817..803bf685 100644
--- a/glm/core/type_vec4.hpp
+++ b/glm/core/type_vec4.hpp
@@ -32,6 +32,8 @@ namespace glm
template struct tvec2;
template struct tvec3;
+ ///Basic 4D vector type.
+ //! \ingroup core_template
template
struct tvec4
{
@@ -225,42 +227,51 @@ namespace glm
namespace precision
{
//! 4 components vector of high precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 highp_vec4;
//! 4 components vector of medium precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 mediump_vec4;
//! 4 components vector of low precision floating-point numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.5.2 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 lowp_vec4;
//! 4 components vector of high precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 highp_ivec4;
//! 4 components vector of medium precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 mediump_ivec4;
//! 4 components vector of low precision signed integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 lowp_ivec4;
//! 4 components vector of high precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 highp_uvec4;
//! 4 components vector of medium precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 mediump_uvec4;
//! 4 components vector of low precision unsigned integer numbers.
- //! There is no garanty on the actual precision.
+ //! There is no guarantee on the actual precision.
//! From GLSL 1.30.8 specification, section 4.1.5 Precision Qualifiers.
+ //! \ingroup core_precision
typedef detail::tvec4 lowp_uvec4;
}
//namespace precision
diff --git a/glm/glm.hpp b/glm/glm.hpp
index 0dc9b3e5..a587e78c 100644
--- a/glm/glm.hpp
+++ b/glm/glm.hpp
@@ -7,26 +7,6 @@
// File : glm/glm.hpp
///////////////////////////////////////////////////////////////////////////////////////////////////
-/*! \mainpage OpenGL Mathematics
- *
- * OpenGL Mathematics (GLM) is a C++ mathematics library for 3D applications based on the OpenGL Shading Language (GLSL) specification.
- *
- * GLM provides 3D programmers with math classes and functions that are similar to GLSL or any high level GPU programming language. The idea is to have a library that has identical naming conventions and functionalities than GLSL so that when developers know GLSL, they know how to use GLM.
- *
- * However, this project isn't limited by GLSL features. An extension system, based on the GLSL extension conventions, allows extended capabilities.
- *
- * This library can be used with OpenGL but also for software rendering (Raytracing / Rasterisation), image processing and as much contexts as a simple math library could be used for.
- *
- * GLM is written as a platform independent library and supports the following compilers:
- * - GNU GCC 3.4 and higher
- * - Microsoft Visual Studio 8.0 and higher
- *
- * The source code is under the MIT licence.
- *
- * Any feedback is welcome and can be sent to glm@g-truc.net.
- *
- */
-
#ifndef glm_glm
#define glm_glm
@@ -42,8 +22,8 @@
//! TODO: to delete
#define GLMvalType typename genType::value_type
-#define GLMcolType typename genType::col_type
-#define GLMrowType typename genType::row_type
+//#define GLMcolType typename genType::col_type
+//#define GLMrowType typename genType::row_type
#include
#include
@@ -65,7 +45,7 @@ namespace glm
bool main_core();
}//namespace test
- //! GLM core. Namespace that includes all the feature define by GLSL 1.30.8 specification. This namespace is included in glm namespace.
+ //! GLM core. Namespace that includes all the feature define by GLSL 4.10.6 specification. This namespace is included in glm namespace.
namespace core
{
//! Scalar, vectors and matrices
@@ -87,9 +67,6 @@ namespace glm
//! The interface could change between releases.
namespace gtx{}
- //! IMG extensions.
- namespace img{}
-
//! VIRTREV extensions.
namespace img{}
diff --git a/glm/gtc/half_float.hpp b/glm/gtc/half_float.hpp
index 1d78d995..9c9d81e1 100644
--- a/glm/gtc/half_float.hpp
+++ b/glm/gtc/half_float.hpp
@@ -326,6 +326,9 @@ namespace glm
//! GLM_GTC_half_float extension: Add support for half precision floating-point types
namespace half_float
{
+ /// \addtogroup gtc_half_float
+ ///@{
+
//! Type for half-precision floating-point numbers.
//! From GLM_GTC_half_float extension.
typedef detail::thalf half;
@@ -354,6 +357,8 @@ namespace glm
//! From GLM_GTC_half_float extension.
typedef detail::tmat4x4 hmat4;
+ ///@}
+
}//namespace half_float
}//namespace gtc
}//namespace glm
diff --git a/glm/gtc/matrix_access.hpp b/glm/gtc/matrix_access.hpp
index 28fe3fa2..d5c54655 100644
--- a/glm/gtc/matrix_access.hpp
+++ b/glm/gtc/matrix_access.hpp
@@ -25,6 +25,9 @@ namespace gtc{
//! GLM_GTC_matrix_access extension: Set a column or a row of a matrix
namespace matrix_access
{
+ /// \addtogroup gtc_matrix_access
+ ///@{
+
//! Get a specific row of a matrix.
//! From GLM_GTC_matrix_access extension.
template
@@ -55,6 +58,8 @@ namespace matrix_access
int index,
typename genType::col_type const & x);
+ ///@}
+
}//namespace matrix_access
}//namespace gtc
}//namespace glm
diff --git a/glm/gtc/matrix_integer.hpp b/glm/gtc/matrix_integer.hpp
index 9c1c455c..079dafc8 100644
--- a/glm/gtc/matrix_integer.hpp
+++ b/glm/gtc/matrix_integer.hpp
@@ -30,6 +30,9 @@ namespace glm
//! GLM_GTC_matrix_integer extension: Add integer matrices
namespace matrix_integer
{
+ /// \addtogroup gtc_matrix_integer
+ ///@{
+
typedef detail::tmat2x2 highp_imat2; //!< \brief High-precision signed integer 2x2 matrix. (from GLM_GTC_matrix_integer extension)
typedef detail::tmat3x3 highp_imat3; //!< \brief High-precision signed integer 3x3 matrix. (from GLM_GTC_matrix_integer extension)
typedef detail::tmat4x4 highp_imat4; //!< \brief High-precision signed integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
@@ -201,6 +204,8 @@ namespace glm
typedef mediump_umat4x4 umat4x4; //!< \brief Unsigned integer 4x4 matrix. (from GLM_GTC_matrix_integer extension)
#endif//GLM_PRECISION
+ ///@}
+
}//namespace matrix_integer
}//namespace gtc
}//namespace glm
diff --git a/glm/gtc/matrix_inverse.hpp b/glm/gtc/matrix_inverse.hpp
index c2c6ecfd..32fac849 100644
--- a/glm/gtc/matrix_inverse.hpp
+++ b/glm/gtc/matrix_inverse.hpp
@@ -25,6 +25,9 @@ namespace gtc{
//! GLM_GTC_matrix_inverse extension: Inverse matrix functions
namespace matrix_inverse
{
+ /// \addtogroup gtc_matrix_inverse
+ ///@{
+
//! Fast matrix inverse for affine matrix.
//! From GLM_GTC_matrix_inverse extension.
template
@@ -36,6 +39,8 @@ namespace matrix_inverse
inline typename genType::value_type inverseTranspose(
genType const & m);
+ ///@}
+
}//namespace matrix_inverse
}//namespace gtc
}//namespace glm
diff --git a/glm/gtc/matrix_transform.hpp b/glm/gtc/matrix_transform.hpp
index f7d466f8..241bb3ac 100644
--- a/glm/gtc/matrix_transform.hpp
+++ b/glm/gtc/matrix_transform.hpp
@@ -31,6 +31,9 @@ namespace glm
//! GLM_GTC_matrix_transform extension: Add transformation matrices
namespace matrix_transform
{
+ /// \addtogroup gtc_matrix_transform
+ ///@{
+
//! Builds a translation 4 * 4 matrix created from a vector of 3 components.
//! From GLM_GTC_matrix_transform extension.
template
@@ -149,6 +152,7 @@ namespace glm
detail::tvec3 const & center,
detail::tvec3 const & up);
+ ///@}
}//namespace matrix_transform
}//namespace gtc
}//namespace glm
diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp
index df475421..bc4890fd 100644
--- a/glm/gtc/quaternion.hpp
+++ b/glm/gtc/quaternion.hpp
@@ -36,6 +36,7 @@ namespace glm
{
//! \brief Template for quaternion.
//! From GLM_GTC_quaternion extension.
+ /// \ingroup gtc_quaternion
template
struct tquat// : public genType
{
@@ -124,6 +125,9 @@ namespace glm
//! GLM_GTC_quaternion extension: Quaternion types and functions
namespace quaternion
{
+ /// \addtogroup gtc_quaternion
+ ///@{
+
//! Returns the length of the quaternion x.
//! From GLM_GTC_quaternion extension.
template
@@ -218,6 +222,8 @@ namespace glm
//! From GLM_GTC_quaternion extension.
typedef detail::tquat dquat;
+ ///@}
+
}//namespace quaternion
}//namespace gtc
} //namespace glm
diff --git a/glm/gtc/type_precision.hpp b/glm/gtc/type_precision.hpp
index 5c51f280..ab307277 100644
--- a/glm/gtc/type_precision.hpp
+++ b/glm/gtc/type_precision.hpp
@@ -43,6 +43,9 @@ namespace glm
///////////////////////////
// Signed int vector types
+ /// \addtogroup gtc_type_precision
+ ///@{
+
typedef detail::int8 int8; //!< \brief 8bit signed integer. (from GLM_GTC_type_precision extension)
typedef detail::int16 int16; //!< \brief 16bit signed integer. (from GLM_GTC_type_precision extension)
typedef detail::int32 int32; //!< \brief 32bit signed integer. (from GLM_GTC_type_precision extension)
@@ -210,6 +213,8 @@ namespace glm
typedef detail::tquat f32quat; //!< \brief Single-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
typedef detail::tquat f64quat; //!< \brief Double-precision floating-point quaternion. (from GLM_GTC_type_precision extension)
+ ///@}
+
}//namespace type_precision
}//namespace gtc
}//namespace glm
diff --git a/glm/gtc/type_ptr.hpp b/glm/gtc/type_ptr.hpp
index 887fcdfc..5aeea5af 100644
--- a/glm/gtc/type_ptr.hpp
+++ b/glm/gtc/type_ptr.hpp
@@ -30,6 +30,9 @@ namespace glm
//! GLM_GTC_type_ptr extension: Get access to vectors & matrices value type address.
namespace type_ptr{
+ /// \addtogroup gtc_type_ptr
+ ///@{
+
//! Get the const address of the vector content.
//! From GLM_GTC_type_ptr extension.
template
@@ -291,6 +294,8 @@ namespace glm
return &(mat[0].x);
}
+ ///@}
+
}//namespace type_ptr
}//namespace gtc
}//namespace glm
diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp
index 285be5e7..15c74c34 100644
--- a/glm/gtx/associated_min_max.hpp
+++ b/glm/gtx/associated_min_max.hpp
@@ -32,6 +32,9 @@ namespace glm
//! GLM_GTX_associated_min_max extension: Min and max functions that return associated values not the compared onces.
namespace associated_min_max
{
+ /// \addtogroup gtx_associated_min_max
+ ///@{
+
//! \brief Min comparison between 2 variables
template