Import Cobalt 4.11837
diff --git a/src/base/platform_file_starboard.cc b/src/base/platform_file_starboard.cc
index c28fd65..cc116c6 100644
--- a/src/base/platform_file_starboard.cc
+++ b/src/base/platform_file_starboard.cc
@@ -161,21 +161,7 @@
 
 int ReadPlatformFileAtCurrentPos(PlatformFile file, char *data, int size) {
   base::ThreadRestrictions::AssertIOAllowed();
-  if (file < 0 || size < 0)
-    return -1;
-
-  int bytes_read = 0;
-  int rv;
-  do {
-    rv = SbFileRead(file, data, size);
-    if (rv <= 0) {
-      break;
-    }
-
-    bytes_read += rv;
-  } while (bytes_read < size);
-
-  return bytes_read ? bytes_read : rv;
+  return SbFileReadAll(file, data, size);
 }
 
 int ReadPlatformFileNoBestEffort(PlatformFile file,
@@ -251,22 +237,7 @@
                                   const char* data,
                                   int size) {
   base::ThreadRestrictions::AssertIOAllowed();
-  if (size < 0) {
-    return -1;
-  }
-
-  int bytes_written = 0;
-  int result;
-  do {
-    result = SbFileWrite(file, data, size);
-    if (result <= 0) {
-      break;
-    }
-
-    bytes_written += result;
-  } while (bytes_written < size);
-
-  return bytes_written ? bytes_written : result;
+  return SbFileWriteAll(file, data, size);
 }
 
 int WritePlatformFileCurPosNoBestEffort(PlatformFile file,
diff --git a/src/cobalt/base/tokens.h b/src/cobalt/base/tokens.h
index b2e24cd..cae31dd 100644
--- a/src/cobalt/base/tokens.h
+++ b/src/cobalt/base/tokens.h
@@ -83,6 +83,7 @@
     MacroOpWithNameAndValue(class_selector_prefix, ".")                 \
     MacroOpWithNameAndValue(comment_node_name, "#comment")              \
     MacroOpWithNameAndValue(document_name, "#document")                 \
+    MacroOpWithNameAndValue(domcontentloaded, "DOMContentLoaded")       \
     MacroOpWithNameAndValue(empty_pseudo_class_selector, "empty")       \
     MacroOpWithNameAndValue(focus_pseudo_class_selector, "focus")       \
     MacroOpWithNameAndValue(hover_pseudo_class_selector, "hover")       \
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsSingleOperationInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsSingleOperationInterface.cc
index aaf933d..2bd13c6 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsSingleOperationInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsSingleOperationInterface.cc
@@ -58,13 +58,13 @@
     bool* had_exception) const {
   bool success = false;
   base::optional<int32_t > cobalt_return_value;
+  JSAutoRequest auto_request(context_);
   JSExceptionState* previous_exception_state = JS_SaveExceptionState(context_);
 
   // This could be set to NULL if it was garbage collected.
   JS::RootedObject implementing_object(context_, implementing_object_.Get());
   DLOG_IF(WARNING, !implementing_object) << "Implementing object is NULL.";
   if (implementing_object) {
-    JSAutoRequest auto_request(context_);
     JSAutoCompartment auto_compartment(context_, implementing_object);
 
     // Get callable object.
diff --git a/src/cobalt/bindings/mozjs/templates/callback-interface.cc.template b/src/cobalt/bindings/mozjs/templates/callback-interface.cc.template
index f307bbc..115f228 100644
--- a/src/cobalt/bindings/mozjs/templates/callback-interface.cc.template
+++ b/src/cobalt/bindings/mozjs/templates/callback-interface.cc.template
@@ -56,13 +56,13 @@
 {% if overload.type != 'void' %}
   {{overload.type}} cobalt_return_value;
 {% endif %}
+  JSAutoRequest auto_request(context_);
   JSExceptionState* previous_exception_state = JS_SaveExceptionState(context_);
 
   // This could be set to NULL if it was garbage collected.
   JS::RootedObject implementing_object(context_, implementing_object_.Get());
   DLOG_IF(WARNING, !implementing_object) << "Implementing object is NULL.";
   if (implementing_object) {
-    JSAutoRequest auto_request(context_);
     JSAutoCompartment auto_compartment(context_, implementing_object);
 
     // Get callable object.
diff --git a/src/cobalt/bindings/testing/global_interface_bindings_test.cc b/src/cobalt/bindings/testing/global_interface_bindings_test.cc
index 5f8b90c..5f50d61 100644
--- a/src/cobalt/bindings/testing/global_interface_bindings_test.cc
+++ b/src/cobalt/bindings/testing/global_interface_bindings_test.cc
@@ -38,7 +38,9 @@
 }  // namespace
 
 TEST_F(GlobalInterfaceBindingsTest, GlobalWindowIsThis) {
-  EXPECT_TRUE(EvaluateScript("window === this;", NULL));
+  std::string result;
+  EXPECT_TRUE(EvaluateScript("window === this;", &result));
+  EXPECT_STREQ("true", result.c_str());
 }
 
 TEST_F(GlobalInterfaceBindingsTest, GlobalOperation) {
diff --git a/src/cobalt/browser/cobalt.gyp b/src/cobalt/browser/cobalt.gyp
index 4f73099..f5bcfe9 100644
--- a/src/cobalt/browser/cobalt.gyp
+++ b/src/cobalt/browser/cobalt.gyp
@@ -94,4 +94,17 @@
     },
 
   ],
+  'conditions': [
+    ['final_executable_type == "shared_library"', {
+      'targets': [
+        {
+          'target_name': 'cobalt_bin',
+          'type': 'executable',
+          'dependencies': [
+            'cobalt',
+          ],
+        },
+      ],
+    }],
+  ],
 }
diff --git a/src/cobalt/build/build.id b/src/cobalt/build/build.id
index deb3c7d..70cae86 100644
--- a/src/cobalt/build/build.id
+++ b/src/cobalt/build/build.id
@@ -1 +1 @@
-11565
\ No newline at end of file
+11837
\ No newline at end of file
diff --git a/src/cobalt/build/config/base.gypi b/src/cobalt/build/config/base.gypi
index 7170bcb..02d4c04 100644
--- a/src/cobalt/build/config/base.gypi
+++ b/src/cobalt/build/config/base.gypi
@@ -128,6 +128,7 @@
     #   - scratch_surface_cache_size_in_bytes
     #   - surface_cache_size_in_bytes
     #   - image_cache_size_in_bytes
+    #   - skia_glyph_atlas_width * skia_glyph_atlas_height
     #
     # The other caches affect CPU memory usage.
 
@@ -168,6 +169,15 @@
     #     image_cache_capacity_multiplier_when_playing_video.
     'image_cache_capacity_multiplier_when_playing_video%': '1.0f',
 
+    # Determines the size in pixels of the glyph atlas where rendered glyphs are
+    # cached. The resulting memory usage is 2 bytes of GPU memory per pixel.
+    # When a value is used that is too small, thrashing may occur that will
+    # result in visible stutter. Such thrashing is more likely to occur when CJK
+    # language glyphs are rendered and when the size of the glyphs in pixels is
+    # larger, such as for higher resolution displays.
+    'skia_glyph_atlas_width%': '2048',
+    'skia_glyph_atlas_height%': '2048',
+
     # Compiler configuration.
 
     # The following variables are used to specify compiler and linker
@@ -268,13 +278,25 @@
     'include_dirs': [ '<(DEPTH)' ],
     'libraries': [ '<@(platform_libraries)' ],
 
-    # TODO: This is needed to support the option to include
-    # posix_emulation.h to all compiled source files. This dependency should
-    # be refactored and removed.
-    'include_dirs_target': [
-      '<(DEPTH)/lbshell/src',
-    ],
     'conditions': [
+      ['final_executable_type=="shared_library"', {
+        'target_conditions': [
+          ['_toolset=="target"', {
+            'defines': [
+              # Rewrite main() functions into StarboardMain. TODO: This is a
+              # hack, it would be better to be more surgical, here.
+              'main=StarboardMain',
+            ],
+            'cflags': [
+              # To link into a shared library on Linux and similar platforms,
+              # the compiler must be told to generate Position Independent Code.
+              # This appears to cause errors when linking the code statically,
+              # however.
+              '-fPIC',
+            ],
+          }],
+        ],
+      }],
       ['posix_emulation_target_type == "shared_library"', {
         'defines': [
           '__LB_BASE_SHARED__=1',
@@ -294,6 +316,10 @@
           '<(DEPTH)/lbshell/src/platform/<(target_arch)/posix_emulation/lb_shell',
           # headers that we don't need, but should exist somewhere in the path:
           '<(DEPTH)/lbshell/src/platform/<(target_arch)/posix_emulation/place_holders',
+          # TODO: This is needed to support the option to include
+          # posix_emulation.h to all compiled source files. This dependency
+          # should be refactored and removed.
+          '<(DEPTH)/lbshell/src',
         ],
       }],  # OS == "lb_shell"
       ['OS == "starboard"', {
diff --git a/src/cobalt/dom/event_target.cc b/src/cobalt/dom/event_target.cc
index 87553ff..39175e3 100644
--- a/src/cobalt/dom/event_target.cc
+++ b/src/cobalt/dom/event_target.cc
@@ -107,6 +107,9 @@
 void EventTarget::PostToDispatchEventAndRunCallback(
     const tracked_objects::Location& location, base::Token event_name,
     const base::Closure& callback) {
+  if (!MessageLoop::current()) {
+    return;
+  }
   MessageLoop::current()->PostTask(
       location,
       base::Bind(base::IgnoreResult(&EventTarget::DispatchEventAndRunCallback),
diff --git a/src/cobalt/dom/event_target.h b/src/cobalt/dom/event_target.h
index 462d7a6..3fc4df9 100644
--- a/src/cobalt/dom/event_target.h
+++ b/src/cobalt/dom/event_target.h
@@ -68,12 +68,14 @@
   void DispatchEventAndRunCallback(base::Token event_name,
                                    const base::Closure& dispatched_callback);
 
-  // Posts a task on the current message loop to dispatch event.
+  // Posts a task on the current message loop to dispatch event. It does nothing
+  // if there is no current message loop.
   void PostToDispatchEvent(const tracked_objects::Location& location,
                            base::Token event_name);
 
   // Posts a task on the current message loop to dispatch event, and runs
-  // dispatched_callback after finish.
+  // dispatched_callback after finish.  It does nothing if there is no current
+  // message loop.
   void PostToDispatchEventAndRunCallback(
       const tracked_objects::Location& location, base::Token event_name,
       const base::Closure& dispatched_callback);
diff --git a/src/cobalt/dom/media_error.h b/src/cobalt/dom/media_error.h
index 339c386..124b437 100644
--- a/src/cobalt/dom/media_error.h
+++ b/src/cobalt/dom/media_error.h
@@ -44,7 +44,7 @@
 
   // Web API: MediaError
   //
-  Code code() const { return code_; }
+  uint32 code() const { return code_; }
 
   DEFINE_WRAPPABLE_TYPE(MediaError);
 
diff --git a/src/cobalt/dom_parser/libxml_html_parser_wrapper.cc b/src/cobalt/dom_parser/libxml_html_parser_wrapper.cc
index e65ef8f..75e760b 100644
--- a/src/cobalt/dom_parser/libxml_html_parser_wrapper.cc
+++ b/src/cobalt/dom_parser/libxml_html_parser_wrapper.cc
@@ -110,9 +110,7 @@
     return;
   }
 
-  if (!IsStringUTF8(std::string(data, size))) {
-    static const char* kWarningNotUTF8 = "Ignoring non-UTF8 HTML input.";
-    OnParsingIssue(kWarning, kWarningNotUTF8);
+  if (CheckInputAndUpdateSeverity(data, size) >= kError) {
     return;
   }
 
@@ -127,7 +125,7 @@
         NULL /*filename*/, XML_CHAR_ENCODING_UTF8);
 
     if (!html_parser_context_) {
-      static const char* kErrorUnableCreateParser =
+      static const char kErrorUnableCreateParser[] =
           "Unable to create the libxml2 parser.";
       OnParsingIssue(kFatal, kErrorUnableCreateParser);
     } else {
@@ -149,12 +147,8 @@
   }
 
   if (html_parser_context_) {
-    // TODO: The check on issue level is a workaround for the fact that libxml
-    // doesn't recover fully from error related to encoding.
-    if (issue_level() <= kWarning) {
-      htmlParseChunk(html_parser_context_, NULL, 0,
-                     1 /*terminate*/);  // Triggers EndDocument
-    }
+    htmlParseChunk(html_parser_context_, NULL, 0,
+                   1 /*terminate*/);  // Triggers EndDocument
     if (IsFullDocument()) {
       document()->DecreaseLoadingCounterAndMaybeDispatchLoadEvent();
     }
diff --git a/src/cobalt/dom_parser/libxml_parser_wrapper.cc b/src/cobalt/dom_parser/libxml_parser_wrapper.cc
index 3acaf88..67521c2 100644
--- a/src/cobalt/dom_parser/libxml_parser_wrapper.cc
+++ b/src/cobalt/dom_parser/libxml_parser_wrapper.cc
@@ -19,6 +19,7 @@
 #include "base/logging.h"
 #include "base/string_util.h"
 #include "base/stringprintf.h"
+#include "cobalt/base/tokens.h"
 #include "cobalt/dom/cdata_section.h"
 #include "cobalt/dom/comment.h"
 #include "cobalt/dom/element.h"
@@ -150,6 +151,10 @@
   if (!node_stack_.empty() && !error_callback_.is_null()) {
     error_callback_.Run("Node stack not empty at end of document.");
   }
+
+  if (IsFullDocument()) {
+    document_->PostToDispatchEvent(FROM_HERE, base::Tokens::domcontentloaded());
+  }
 }
 
 void LibxmlParserWrapper::OnStartElement(
@@ -214,8 +219,8 @@
 
 void LibxmlParserWrapper::OnParsingIssue(IssueSeverity severity,
                                          const std::string& message) {
-  if (severity > issue_level_) {
-    issue_level_ = severity;
+  if (severity > max_severity_) {
+    max_severity_ = severity;
   }
   if (severity < LibxmlParserWrapper::kFatal) {
     LOG(WARNING) << message;
@@ -230,5 +235,31 @@
   node_stack_.top()->AppendChild(new dom::CDATASection(document_, value));
 }
 
+LibxmlParserWrapper::IssueSeverity
+LibxmlParserWrapper::CheckInputAndUpdateSeverity(const char* data,
+                                                 size_t size) {
+  if (max_severity_ >= kError) {
+    return max_severity_;
+  }
+
+  // Check the total input size.
+  total_input_size_ += size;
+  if (total_input_size_ > kMaxTotalInputSize) {
+    static const char kErrorTooLong[] = "Parser input is too long.";
+    OnParsingIssue(kError, kErrorTooLong);
+    return max_severity_;
+  }
+
+  // Check the encoding of the input.
+  if (!IsStringUTF8(std::string(data, size))) {
+    static const char kErrorNotUTF8[] =
+        "Parser input contains non-UTF8 characters.";
+    OnParsingIssue(kError, kErrorNotUTF8);
+    return max_severity_;
+  }
+
+  return max_severity_;
+}
+
 }  // namespace dom_parser
 }  // namespace cobalt
diff --git a/src/cobalt/dom_parser/libxml_parser_wrapper.h b/src/cobalt/dom_parser/libxml_parser_wrapper.h
index 61f3d04..bbeb21a 100644
--- a/src/cobalt/dom_parser/libxml_parser_wrapper.h
+++ b/src/cobalt/dom_parser/libxml_parser_wrapper.h
@@ -92,7 +92,8 @@
         first_chunk_location_(first_chunk_location),
         error_callback_(error_callback),
         depth_limit_exceeded_(false),
-        issue_level_(kNoIssue) {}
+        max_severity_(kNoIssue),
+        total_input_size_(0) {}
   virtual ~LibxmlParserWrapper() {}
 
   // These functions are for Libxml interface, calls are forwarded here by
@@ -120,6 +121,9 @@
   // Returns true when the input is a full document, false when it's a fragment.
   bool IsFullDocument() { return document_ == parent_node_; }
 
+  // Checks the input, updates and returns the maximum issue severity.
+  IssueSeverity CheckInputAndUpdateSeverity(const char* data, size_t size);
+
   const scoped_refptr<dom::Document>& document() { return document_; }
   const base::SourceLocation& first_chunk_location() {
     return first_chunk_location_;
@@ -128,13 +132,14 @@
     return error_callback_;
   }
 
-  IssueSeverity issue_level() const { return issue_level_; }
-
   const std::stack<scoped_refptr<dom::Node> >& node_stack() {
     return node_stack_;
   }
 
  private:
+  // Maximum total input size, 1MB.
+  static const size_t kMaxTotalInputSize = 1 * 1024 * 1024;
+
   const scoped_refptr<dom::Document> document_;
   const scoped_refptr<dom::Node> parent_node_;
   const scoped_refptr<dom::Node> reference_node_;
@@ -145,7 +150,8 @@
   const base::Callback<void(const std::string&)> error_callback_;
 
   bool depth_limit_exceeded_;
-  IssueSeverity issue_level_;
+  IssueSeverity max_severity_;
+  size_t total_input_size_;
 
   std::stack<scoped_refptr<dom::Node> > node_stack_;
 
diff --git a/src/cobalt/dom_parser/libxml_xml_parser_wrapper.cc b/src/cobalt/dom_parser/libxml_xml_parser_wrapper.cc
index edab9f0..c933f5e 100644
--- a/src/cobalt/dom_parser/libxml_xml_parser_wrapper.cc
+++ b/src/cobalt/dom_parser/libxml_xml_parser_wrapper.cc
@@ -79,9 +79,7 @@
     return;
   }
 
-  if (!IsStringUTF8(std::string(data, size))) {
-    static const char* kWarningNotUTF8 = "Ignoring non-UTF8 XML input.";
-    OnParsingIssue(kWarning, kWarningNotUTF8);
+  if (CheckInputAndUpdateSeverity(data, size) >= kError) {
     return;
   }
 
diff --git a/src/cobalt/layout/render_tree_animations.h b/src/cobalt/layout/render_tree_animations.h
index 0c8a862..e2087ab 100644
--- a/src/cobalt/layout/render_tree_animations.h
+++ b/src/cobalt/layout/render_tree_animations.h
@@ -93,11 +93,13 @@
   populate_base_style_function.Run(css_computed_style_declaration.data(),
                                    base_style);
 
+  web_animations::BakedAnimationSet baked_animation_set(
+      *css_computed_style_declaration.animations());
+
   node_animation_map_builder->Add(
       target_node, base::Bind(&ApplyAnimation<T>, apply_style_function,
-                              web_animations::BakedAnimationSet(
-                                  *css_computed_style_declaration.animations()),
-                              base_style));
+                              baked_animation_set, base_style),
+      baked_animation_set.end_time());
 }
 
 }  // namespace layout
diff --git a/src/cobalt/layout_tests/layout_benchmarks.cc b/src/cobalt/layout_tests/layout_benchmarks.cc
index 164741c..bace1ed 100644
--- a/src/cobalt/layout_tests/layout_benchmarks.cc
+++ b/src/cobalt/layout_tests/layout_benchmarks.cc
@@ -45,14 +45,18 @@
   RendererBenchmarkRunner()
       : done_gathering_samples_(true, false),
         system_window_(system_window::CreateSystemWindow(
-            &event_dispatcher_, math::Size(kViewportWidth, kViewportHeight))),
-        renderer_module_(system_window_.get(),
-                         renderer::RendererModule::Options()) {}
+            &event_dispatcher_, math::Size(kViewportWidth, kViewportHeight))) {
+    // Since we'd like to measure the renderer, we force it to rasterize each
+    // frame despite the fact that the render tree may not be changing.
+    renderer::RendererModule::Options renderer_options;
+    renderer_options.submit_even_if_render_tree_is_unchanged = true;
+    renderer_module_.emplace(system_window_.get(), renderer_options);
+  }
 
   // Return the resource provider from the internal renderer so that it can
   // be used during layout.
   render_tree::ResourceProvider* GetResourceProvider() {
-    return renderer_module_.pipeline()->GetResourceProvider();
+    return renderer_module_->pipeline()->GetResourceProvider();
   }
 
   // Run the renderer benchmarks and perform the measurements.
@@ -67,11 +71,11 @@
     submission_with_callback.on_rasterized_callback = base::Bind(
         &RendererBenchmarkRunner::OnSubmitComplete, base::Unretained(this));
 
-    renderer_module_.pipeline()->Submit(submission_with_callback);
+    renderer_module_->pipeline()->Submit(submission_with_callback);
 
     done_gathering_samples_.Wait();
 
-    renderer_module_.pipeline()->Clear();
+    renderer_module_->pipeline()->Clear();
   }
 
  private:
@@ -93,7 +97,7 @@
   base::EventDispatcher event_dispatcher_;
 
   scoped_ptr<system_window::SystemWindow> system_window_;
-  renderer::RendererModule renderer_module_;
+  base::optional<renderer::RendererModule> renderer_module_;
 };
 
 }  // namespace
diff --git a/src/cobalt/layout_tests/testdata/cobalt/100-dynamically-created-nested-elements.html b/src/cobalt/layout_tests/testdata/cobalt/100-dynamically-created-nested-elements.html
index 498e1a7..2c692ea 100644
--- a/src/cobalt/layout_tests/testdata/cobalt/100-dynamically-created-nested-elements.html
+++ b/src/cobalt/layout_tests/testdata/cobalt/100-dynamically-created-nested-elements.html
@@ -16,12 +16,12 @@
   that max element depth is 32. -->
 
 <script>
-  var parent = document.body;
+  var parent_element = document.body;
   for (var i = 1; i <= 100; i++) {
     var new_child = document.createElement("span");
     new_child.textContent = i + " ";
-    parent.appendChild(new_child);
-    parent = new_child;
+    parent_element.appendChild(new_child);
+    parent_element = new_child;
   }
 </script>
 
diff --git a/src/cobalt/media/media_buffer_allocator.h b/src/cobalt/media/media_buffer_allocator.h
new file mode 100644
index 0000000..ef7f620
--- /dev/null
+++ b/src/cobalt/media/media_buffer_allocator.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef COBALT_MEDIA_MEDIA_BUFFER_ALLOCATOR_H_
+#define COBALT_MEDIA_MEDIA_BUFFER_ALLOCATOR_H_
+
+#include "base/optional.h"
+#include "nb/memory_pool.h"
+
+namespace cobalt {
+namespace media {
+
+class MediaBufferAllocator {
+ public:
+  MediaBufferAllocator(void* pool, size_t main_pool_size,
+                       size_t small_allocation_pool_size,
+                       size_t small_allocation_threshold)
+      : pool_(reinterpret_cast<uint8*>(pool)),
+        main_pool_size_(main_pool_size),
+        small_allocation_pool_size_(small_allocation_pool_size),
+        small_allocation_threshold_(small_allocation_threshold),
+        main_pool_(pool_, main_pool_size_, true, /* thread_safe */
+                   true /* verify_full_capacity */) {
+    if (small_allocation_pool_size_ > 0u) {
+      DCHECK_GT(small_allocation_threshold_, 0u);
+      small_allocation_pool_.emplace(pool_ + main_pool_size_,
+                                     small_allocation_pool_size_,
+                                     true, /* thread_safe */
+                                     true /* verify_full_capacity */);
+    } else {
+      DCHECK_EQ(small_allocation_pool_size_, 0u);
+      DCHECK_EQ(small_allocation_threshold_, 0u);
+    }
+  }
+
+  void* Allocate(size_t size, size_t alignment) {
+    void* p = NULL;
+    if (size < small_allocation_threshold_ && small_allocation_pool_) {
+      p = small_allocation_pool_->Allocate(size, alignment);
+    }
+    if (!p) {
+      p = main_pool_.Allocate(size, alignment);
+    }
+    if (!p && small_allocation_pool_) {
+      p = small_allocation_pool_->Allocate(size, alignment);
+    }
+    return p;
+  }
+
+  void Free(void* p) {
+    if (p >= pool_ + main_pool_size_ && small_allocation_pool_) {
+      DCHECK_LT(p, pool_ + main_pool_size_ + small_allocation_pool_size_);
+      small_allocation_pool_->Free(p);
+      return;
+    }
+    DCHECK_GE(p, pool_);
+    DCHECK_LT(p, pool_ + main_pool_size_);
+    main_pool_.Free(p);
+  }
+
+ private:
+  uint8* pool_;
+  size_t main_pool_size_;
+  size_t small_allocation_pool_size_;
+  size_t small_allocation_threshold_;
+
+  nb::MemoryPool main_pool_;
+  base::optional<nb::MemoryPool> small_allocation_pool_;
+
+  DISALLOW_COPY_AND_ASSIGN(MediaBufferAllocator);
+};
+
+}  // namespace media
+}  // namespace cobalt
+
+#endif  // COBALT_MEDIA_MEDIA_BUFFER_ALLOCATOR_H_
diff --git a/src/cobalt/media/shell_media_platform_starboard.cc b/src/cobalt/media/shell_media_platform_starboard.cc
index 096b670..9b9bf31 100644
--- a/src/cobalt/media/shell_media_platform_starboard.cc
+++ b/src/cobalt/media/shell_media_platform_starboard.cc
@@ -38,6 +38,8 @@
 const size_t kGPUMemoryBufferBudget = SB_MEDIA_GPU_BUFFER_BUDGET;
 const size_t kMainMemoryBufferBudget = SB_MEDIA_MAIN_BUFFER_BUDGET;
 
+const size_t kSmallAllocationThreshold = 768U;
+
 }  // namespace
 
 ShellMediaPlatformStarboard::ShellMediaPlatformStarboard(
@@ -58,7 +60,7 @@
     gpu_memory_pool_.reset(new nb::MemoryPool(
         gpu_memory_buffer_space_->GetMemory(),
         gpu_memory_buffer_space_->GetSizeInBytes(), true, /* thread_safe */
-        true /* verify_full_capacity */));
+        true /* verify_full_capacity */, kSmallAllocationThreshold));
   }
 
   DCHECK_LE(0, kMainMemoryBufferBudget > 0);
@@ -68,7 +70,8 @@
   main_memory_pool_.reset(new nb::MemoryPool(main_memory_buffer_space_.get(),
                                              kMainMemoryBufferBudget,
                                              true, /* thread_safe */
-                                             true /* verify_full_capacity */));
+                                             true, /* verify_full_capacity */
+                                             kSmallAllocationThreshold));
 
   ShellBufferFactory::Initialize();
   ShellAudioStreamer::Initialize();
diff --git a/src/cobalt/render_tree/animations/animate_node.cc b/src/cobalt/render_tree/animations/animate_node.cc
index d51732a..6363ec9 100644
--- a/src/cobalt/render_tree/animations/animate_node.cc
+++ b/src/cobalt/render_tree/animations/animate_node.cc
@@ -16,6 +16,8 @@
 
 #include "cobalt/render_tree/animations/animate_node.h"
 
+#include <algorithm>
+
 #include "base/debug/trace_event.h"
 #include "cobalt/base/enable_if.h"
 #include "cobalt/base/polymorphic_downcast.h"
@@ -63,7 +65,9 @@
  public:
   TraverseListBuilder(const AnimateNode::Builder::InternalMap& animation_map,
                       TraverseList* traverse_list)
-      : animation_map_(animation_map), traverse_list_(traverse_list) {}
+      : animation_map_(animation_map),
+        traverse_list_(traverse_list),
+        expiry_(-base::TimeDelta::Max()) {}
 
   void Visit(animations::AnimateNode* animate) OVERRIDE;
   void Visit(CompositionNode* composition) OVERRIDE { VisitNode(composition); }
@@ -108,6 +112,9 @@
   // this visitor's associated node with in its list of child nodes.
   scoped_refptr<Node> replace_with_;
 
+  // The time after which all animations will have completed and be constant.
+  base::TimeDelta expiry_;
+
   friend class AnimateNode;
 };
 
@@ -134,6 +141,9 @@
   // maintain the invariant that an AnimateNode does not contain any
   // AnimateNode descendants.
   replace_with_ = animate->source_;
+
+  // Update our expiry in accordance with the sub-AnimateNode's expiry.
+  expiry_ = std::max(expiry_, animate->expiry());
 }
 
 template <typename T>
@@ -197,6 +207,7 @@
     Node* node, AnimateNode::Builder::InternalMap::const_iterator found) {
   if (found != animation_map_.end()) {
     traverse_list_->push_back(TraverseListEntry(node, found->second));
+    expiry_ = std::max(expiry_, found->second->GetExpiry());
   } else {
     traverse_list_->push_back(TraverseListEntry(node));
   }
@@ -394,6 +405,8 @@
     std::reverse(traverse_list_.begin(), traverse_list_.end());
     DCHECK(source_.get() == traverse_list_.begin()->node);
   }
+
+  expiry_ = traverse_list_builder.expiry_;
 }
 
 }  // namespace animations
diff --git a/src/cobalt/render_tree/animations/animate_node.h b/src/cobalt/render_tree/animations/animate_node.h
index 4b9bfae..b5a11e1 100644
--- a/src/cobalt/render_tree/animations/animate_node.h
+++ b/src/cobalt/render_tree/animations/animate_node.h
@@ -73,9 +73,19 @@
     // Convenience method to attach a single animation to a target node.
     template <typename T>
     void Add(const scoped_refptr<T>& target_node,
+             const typename Animation<T>::Function& single_animation,
+             base::TimeDelta expiry) {
+      AddInternal(target_node,
+                  scoped_refptr<AnimationListBase>(
+                      new AnimationList<T>(single_animation, expiry)));
+    }
+
+    template <typename T>
+    void Add(const scoped_refptr<T>& target_node,
              const typename Animation<T>::Function& single_animation) {
-      AddInternal(target_node, scoped_refptr<AnimationListBase>(
-                                   new AnimationList<T>(single_animation)));
+      AddInternal(target_node,
+                  scoped_refptr<AnimationListBase>(new AnimationList<T>(
+                      single_animation, base::TimeDelta::Max())));
     }
 
     // Merge all mappings from another AnimateNode::Builder into this one.
@@ -137,6 +147,12 @@
   // Returns the sub-tree for which the animations apply to.
   const scoped_refptr<Node> source() const { return source_; }
 
+  // Returns the time at which all animations will have completed, or
+  // base::TimeDelta::Max() if they will never complete.
+  // It will be true that AnimateNode::Apply(x) == AnimateNode::Apply(y) for
+  // all x, y >= expiry().
+  const base::TimeDelta& expiry() const { return expiry_; }
+
  private:
   // A helper render tree visitor class used to compile sub render-tree
   // animations.
@@ -168,6 +184,7 @@
   // that guides us towards all nodes that need to be animated.
   TraverseList traverse_list_;
   scoped_refptr<Node> source_;
+  base::TimeDelta expiry_;
 };
 
 }  // namespace animations
diff --git a/src/cobalt/render_tree/animations/animation_list.h b/src/cobalt/render_tree/animations/animation_list.h
index a37bd3f..89c12fd 100644
--- a/src/cobalt/render_tree/animations/animation_list.h
+++ b/src/cobalt/render_tree/animations/animation_list.h
@@ -77,6 +77,9 @@
 // letting us collect animation lists in a single collection, at the cost of
 // needing to type cast in a few places.
 class AnimationListBase : public base::RefCountedThreadSafe<AnimationListBase> {
+ public:
+  virtual base::TimeDelta GetExpiry() const = 0;
+
  protected:
   virtual ~AnimationListBase() {}
   friend class base::RefCountedThreadSafe<AnimationListBase>;
@@ -99,24 +102,33 @@
   struct Builder {
     DECLARE_AS_MOVABLE(Builder);
 
-    Builder() {}
+    Builder() : expiry(base::TimeDelta::Max()) {}
     explicit Builder(Moved moved) { animations.swap(moved->animations); }
-    explicit Builder(const typename Animation<T>::Function& single_animation) {
+    explicit Builder(const typename Animation<T>::Function& single_animation,
+                     base::TimeDelta expiry)
+        : expiry(expiry) {
       animations.push_back(single_animation);
     }
 
     InternalList animations;
+    // When do the animations expire?  base::TimeDelta::Max() implies that they
+    // never expire.
+    base::TimeDelta expiry;
   };
 
   explicit AnimationList(typename Builder::Moved builder) : data_(builder) {}
   // Convenience constructor to allow for easy construction of AnimationLists
-  // containing a single Animation.
+  // containing a single Animation.  |expiry| indicates the time at which the
+  // animation ceases, or base::TimeDelta::Max() if that never occurs.
   explicit AnimationList(
-      const typename Animation<T>::Function& single_animation)
-      : data_(single_animation) {}
+      const typename Animation<T>::Function& single_animation,
+      base::TimeDelta expiry)
+      : data_(single_animation, expiry) {}
 
   const Builder& data() const { return data_; }
 
+  base::TimeDelta GetExpiry() const OVERRIDE { return data_.expiry; }
+
  private:
   ~AnimationList() OVERRIDE {}
 
diff --git a/src/cobalt/renderer/animations_test.cc b/src/cobalt/renderer/animations_test.cc
index 033a78f..b46c59e 100644
--- a/src/cobalt/renderer/animations_test.cc
+++ b/src/cobalt/renderer/animations_test.cc
@@ -1,4 +1,4 @@
-/*
+  /*
  * Copyright 2015 Google Inc. All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -171,7 +171,7 @@
     Pipeline pipeline(
         base::Bind(render_module_options.create_rasterizer_function,
                    graphics_context.get(), render_module_options),
-        dummy_output_surface, NULL);
+        dummy_output_surface, NULL, true);
 
     // Our test render tree will consist of only a single ImageNode.
     scoped_refptr<ImageNode> test_node = new ImageNode(
diff --git a/src/cobalt/renderer/pipeline.cc b/src/cobalt/renderer/pipeline.cc
index a1c5aba..9974067 100644
--- a/src/cobalt/renderer/pipeline.cc
+++ b/src/cobalt/renderer/pipeline.cc
@@ -65,12 +65,15 @@
 
 Pipeline::Pipeline(const CreateRasterizerFunction& create_rasterizer_function,
                    const scoped_refptr<backend::RenderTarget>& render_target,
-                   backend::GraphicsContext* graphics_context)
+                   backend::GraphicsContext* graphics_context,
+                   bool submit_even_if_render_tree_is_unchanged)
     : rasterizer_created_event_(true, false),
       render_target_(render_target),
       graphics_context_(graphics_context),
       rasterizer_thread_("Rasterizer"),
       submission_disposal_thread_("Rasterizer Submission Disposal"),
+      submit_even_if_render_tree_is_unchanged_(
+          submit_even_if_render_tree_is_unchanged),
       rasterize_current_tree_interval_timer_(
           "Renderer.Rasterize.Interval",
           kRasterizeCurrentTreeTimerTimeIntervalInMs),
@@ -121,6 +124,11 @@
                             base::Unretained(&submission_queue_shutdown)));
   submission_queue_shutdown.Wait();
 
+  // This potential reference to a render tree whose animations may have ended
+  // must be destroyed before we shutdown the rasterizer thread since it may
+  // contain references to render tree nodes and resources.
+  last_rendered_expired_render_tree_ = NULL;
+
   // Submit a shutdown task to the rasterizer thread so that it can shutdown
   // anything that must be shutdown from that thread.
   rasterizer_thread_.message_loop()->PostTask(
@@ -190,11 +198,11 @@
 
   // Start the rasterization timer if it is not yet started.
   if (!rasterize_timer_) {
-    // We submit render trees as fast as the rasterizer can consume them.
-    // Practically, this will result in the rate being limited to the
-    // display's refresh rate.
+    // We artificially limit the period between submissions to 15ms, in case
+    // a platform does not rate limit itself during swaps.  This limit may need
+    // to be reduced if we wish to support 120 FPS animations.
     rasterize_timer_.emplace(
-        FROM_HERE, base::TimeDelta(),
+        FROM_HERE, base::TimeDelta::FromMilliseconds(15),
         base::Bind(&Pipeline::RasterizeCurrentTree, base::Unretained(this)),
         true, true);
     rasterize_timer_->Reset();
@@ -219,14 +227,37 @@
   TRACE_EVENT0("cobalt::renderer", "Pipeline::RasterizeCurrentTree()");
 
   base::TimeTicks now = base::TimeTicks::Now();
+  Submission submission = submission_queue_->GetCurrentSubmission(now);
+
+  // If our render tree hasn't changed from the one that was previously rendered
+  // and the animations on the previously rendered tree have expired, and it's
+  // okay on this system to not flip the display buffer frequently, then we
+  // can just not do anything here.
+  if (!submit_even_if_render_tree_is_unchanged_ &&
+      submission.render_tree == last_rendered_expired_render_tree_) {
+    return;
+  }
+
   rasterize_current_tree_interval_timer_.Start(now);
   rasterize_current_tree_timer_.Start(now);
 
   // Rasterize the last submitted render tree.
-  RasterizeSubmissionToRenderTarget(
-      submission_queue_->GetCurrentSubmission(now), render_target_);
+  RasterizeSubmissionToRenderTarget(submission, render_target_);
 
   rasterize_current_tree_timer_.Stop();
+
+  // Check whether the animations in the render tree that was just rasterized
+  // have expired or not, and if so, mark that down so that if we see it in
+  // the future we don't spend the time re-rendering it.
+  if (!submit_even_if_render_tree_is_unchanged_) {
+    render_tree::animations::AnimateNode* animate_node =
+        base::polymorphic_downcast<render_tree::animations::AnimateNode*>(
+            submission.render_tree.get());
+    last_rendered_expired_render_tree_ =
+        animate_node->expiry() <= submission.time_offset
+            ? submission.render_tree
+            : NULL;
+  }
 }
 
 void Pipeline::RasterizeSubmissionToRenderTarget(
diff --git a/src/cobalt/renderer/pipeline.h b/src/cobalt/renderer/pipeline.h
index ad05b29..975f593 100644
--- a/src/cobalt/renderer/pipeline.h
+++ b/src/cobalt/renderer/pipeline.h
@@ -59,7 +59,8 @@
   // thread safe objects.
   Pipeline(const CreateRasterizerFunction& create_rasterizer_function,
            const scoped_refptr<backend::RenderTarget>& render_target,
-           backend::GraphicsContext* graphics_context);
+           backend::GraphicsContext* graphics_context,
+           bool submit_even_if_render_tree_is_unchanged);
   ~Pipeline();
 
   // Submit a new render tree to the renderer pipeline.  After calling this
@@ -166,6 +167,15 @@
   // the future.
   base::optional<SubmissionQueue> submission_queue_;
 
+  // Keep track of the last render tree we rendered whose animations have
+  // expired so that if we see that we are asked to rasterize that render tree
+  // again, we know that we do not have to do anything.
+  scoped_refptr<render_tree::Node> last_rendered_expired_render_tree_;
+
+  // If true, we will submit the current render tree to the rasterizer every
+  // frame, even if it hasn't changed.
+  const bool submit_even_if_render_tree_is_unchanged_;
+
   // Timers for tracking how frequently |RasterizeCurrentTree| is called and
   // the amount of time spent in |RasterizeCurrentTree| each call.
   base::CValTimeIntervalTimer<base::CValPublic>
diff --git a/src/cobalt/renderer/pipeline_test.cc b/src/cobalt/renderer/pipeline_test.cc
index db7585a..c258641 100644
--- a/src/cobalt/renderer/pipeline_test.cc
+++ b/src/cobalt/renderer/pipeline_test.cc
@@ -88,15 +88,30 @@
     submission_count_ = 0;
     start_time_ = base::TimeTicks::Now();
     pipeline_.reset(new Pipeline(
-        base::Bind(&CreateMockRasterizer, &submission_count_), NULL, NULL));
-
-    // We create a render tree here composed of only a single, empty
-    // CompositionNode that is meant to act as a dummy/placeholder.
-    dummy_render_tree_ = scoped_refptr<cobalt::render_tree::Node>(
-        new cobalt::render_tree::CompositionNode(
-            cobalt::render_tree::CompositionNode::Builder()));
+        base::Bind(&CreateMockRasterizer, &submission_count_), NULL, NULL,
+                   true));
   }
 
+  static void DummyAnimateFunction(
+      cobalt::render_tree::CompositionNode::Builder* composition_node_builder,
+      base::TimeDelta time) {}
+
+  // We create a render tree composed of only a single, empty CompositionNode
+  // that is meant to act as a dummy/placeholder.  It is animated to ensure that
+  // it changes every frame and so the Pipeline must rasterize it each frame.
+  scoped_refptr<cobalt::render_tree::Node> MakeDummyAnimatedRenderTree() {
+    scoped_refptr<cobalt::render_tree::CompositionNode> dummy_node(
+        new cobalt::render_tree::CompositionNode(
+            cobalt::render_tree::CompositionNode::Builder()));
+
+    cobalt::render_tree::animations::AnimateNode::Builder animate_builder;
+    animate_builder.Add(dummy_node, base::Bind(&DummyAnimateFunction));
+    scoped_refptr<cobalt::render_tree::animations::AnimateNode> animate_node(
+        new cobalt::render_tree::animations::AnimateNode(animate_builder,
+                                                         dummy_node));
+
+    return animate_node;
+  }
   // Checks that Submit() was called on mock_rasterizer_ the expect number of
   // times given the refresh rate and lower/upper bounds for how long the
   // pipeline was active.
@@ -131,7 +146,6 @@
 
   base::TimeTicks start_time_;  // Record the time that we started the pipeline.
   scoped_ptr<Pipeline> pipeline_;
-  scoped_refptr<cobalt::render_tree::Node> dummy_render_tree_;
   int submission_count_;
 };
 
@@ -146,7 +160,8 @@
 TEST_F(
     RendererPipelineTest,
     FLAKY_RasterizerSubmitCalledAtExpectedFrequencyAfterSinglePipelineSubmit) {
-  pipeline_->Submit(cobalt::renderer::Submission(dummy_render_tree_));
+  pipeline_->Submit(
+      cobalt::renderer::Submission(MakeDummyAnimatedRenderTree()));
 
   // Wait a little bit to give the pipeline some time to rasterize the submitted
   // render tree.
@@ -179,7 +194,8 @@
       break;
     }
 
-    pipeline_->Submit(cobalt::renderer::Submission(dummy_render_tree_));
+    pipeline_->Submit(
+        cobalt::renderer::Submission(MakeDummyAnimatedRenderTree()));
 
     const base::TimeDelta kSubmitDelay(base::TimeDelta::FromMilliseconds(1));
     // While we want to submit faster than the rasterizer is rasterizing,
diff --git a/src/cobalt/renderer/rasterizer/skia/skia/skia_library.gypi b/src/cobalt/renderer/rasterizer/skia/skia/skia_library.gypi
index 49aee75..dba75b6 100644
--- a/src/cobalt/renderer/rasterizer/skia/skia/skia_library.gypi
+++ b/src/cobalt/renderer/rasterizer/skia/skia/skia_library.gypi
@@ -151,6 +151,9 @@
     '<(DEPTH)/third_party/skia/src/fonts/SkGScalerContext.h',
     '<(DEPTH)/third_party/skia/src/fonts/SkTestScalerContext.cpp',
     '<(DEPTH)/third_party/skia/src/fonts/SkTestScalerContext.h',
+
+    # Conflicts with cobalt implementation.
+    '<(DEPTH)/third_party/skia/src/gpu/gl/GrGLCreateNativeInterface_none.cpp',
   ],
 
   # Exclude Skia OpenGL backend source files.
diff --git a/src/cobalt/renderer/renderer_module.cc b/src/cobalt/renderer/renderer_module.cc
index 5806add..ebe8531 100644
--- a/src/cobalt/renderer/renderer_module.cc
+++ b/src/cobalt/renderer/renderer_module.cc
@@ -62,7 +62,8 @@
     pipeline_ = make_scoped_ptr(new renderer::Pipeline(
         base::Bind(options.create_rasterizer_function, graphics_context_.get(),
                    options),
-        display_->GetRenderTarget(), graphics_context_.get()));
+        display_->GetRenderTarget(), graphics_context_.get(),
+        options.submit_even_if_render_tree_is_unchanged));
   }
 }
 
diff --git a/src/cobalt/renderer/renderer_module.h b/src/cobalt/renderer/renderer_module.h
index f60a29d..fab4b63 100644
--- a/src/cobalt/renderer/renderer_module.h
+++ b/src/cobalt/renderer/renderer_module.h
@@ -60,6 +60,12 @@
     // nodes that are most CPU-expensive to render into surfaces.
     int surface_cache_size_in_bytes;
 
+    // If this flag is set to true, the pipeline will not re-submit a render
+    // tree if it has not changed from the previous submission.  This can save
+    // CPU time so long as there's no problem with the fact that the display
+    // buffer will not be frequently swapped.
+    bool submit_even_if_render_tree_is_unchanged;
+
    private:
     // Implemented per-platform, and allows each platform to customize
     // the renderer options.
diff --git a/src/cobalt/renderer/renderer_module_default_options_starboard.cc b/src/cobalt/renderer/renderer_module_default_options_starboard.cc
index db5086b..7a00bd5 100644
--- a/src/cobalt/renderer/renderer_module_default_options_starboard.cc
+++ b/src/cobalt/renderer/renderer_module_default_options_starboard.cc
@@ -71,6 +71,12 @@
   scratch_surface_cache_size_in_bytes =
       COBALT_SCRATCH_SURFACE_CACHE_SIZE_IN_BYTES;
 
+  // If there is no need to frequently flip the display buffer, then enable
+  // support for an optimization where the scene is not re-rasterized each frame
+  // if it has not changed from the last frame.
+  submit_even_if_render_tree_is_unchanged =
+      SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER;
+
   create_rasterizer_function = base::Bind(&CreateRasterizer);
 }
 
diff --git a/src/cobalt/renderer/renderer_module_default_options_win.cc b/src/cobalt/renderer/renderer_module_default_options_win.cc
index 6b08fc9..b96c5f0 100644
--- a/src/cobalt/renderer/renderer_module_default_options_win.cc
+++ b/src/cobalt/renderer/renderer_module_default_options_win.cc
@@ -47,6 +47,8 @@
   scratch_surface_cache_size_in_bytes =
       COBALT_SCRATCH_SURFACE_CACHE_SIZE_IN_BYTES;
 
+  submit_even_if_render_tree_is_unchanged = true;
+
   create_rasterizer_function = base::Bind(&CreateRasterizer);
 }
 
diff --git a/src/cobalt/script/mozjs/conversion_helpers.h b/src/cobalt/script/mozjs/conversion_helpers.h
index 19a8ec8..6166bfa 100644
--- a/src/cobalt/script/mozjs/conversion_helpers.h
+++ b/src/cobalt/script/mozjs/conversion_helpers.h
@@ -368,6 +368,10 @@
       context,
       global_environment->wrapper_factory()->GetWrapperProxy(in_object));
   DCHECK(object);
+  JS::RootedObject proxy_target(context, js::GetProxyTargetObject(object));
+  if (JS_IsGlobalObject(proxy_target)) {
+    object = proxy_target;
+  }
 
   out_value.set(OBJECT_TO_JSVAL(object));
 }
diff --git a/src/cobalt/script/mozjs/mozjs_callback_function.h b/src/cobalt/script/mozjs/mozjs_callback_function.h
index a2714de..cb3abc6 100644
--- a/src/cobalt/script/mozjs/mozjs_callback_function.h
+++ b/src/cobalt/script/mozjs/mozjs_callback_function.h
@@ -58,12 +58,12 @@
   CallbackResult<R> Run()
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -111,12 +111,12 @@
       typename base::internal::CallbackParamTraits<A1>::ForwardType a1)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -170,12 +170,12 @@
       typename base::internal::CallbackParamTraits<A2>::ForwardType a2)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -231,12 +231,12 @@
       typename base::internal::CallbackParamTraits<A3>::ForwardType a3)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -294,12 +294,12 @@
       typename base::internal::CallbackParamTraits<A4>::ForwardType a4)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -360,12 +360,12 @@
       typename base::internal::CallbackParamTraits<A5>::ForwardType a5)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -428,12 +428,12 @@
       typename base::internal::CallbackParamTraits<A6>::ForwardType a6)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
@@ -498,12 +498,12 @@
       typename base::internal::CallbackParamTraits<A7>::ForwardType a7)
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
diff --git a/src/cobalt/script/mozjs/mozjs_callback_function.h.pump b/src/cobalt/script/mozjs/mozjs_callback_function.h.pump
index 810dcc5..14067e9 100644
--- a/src/cobalt/script/mozjs/mozjs_callback_function.h.pump
+++ b/src/cobalt/script/mozjs/mozjs_callback_function.h.pump
@@ -77,12 +77,12 @@
       typename base::internal::CallbackParamTraits<A$(ARG)>::ForwardType a$(ARG)]])
       const OVERRIDE {
     CallbackResult<R> callback_result;
+    JSAutoRequest auto_request(context_);
     JS::RootedObject function(context_, weak_function_.Get());
     if (!function) {
       DLOG(WARNING) << "Function was garbage collected.";
       callback_result.exception = true;
     } else {
-      JSAutoRequest auto_request(context_);
       JSAutoCompartment auto_compartment(context_, function);
       JSExceptionState* previous_exception_state =
           JS_SaveExceptionState(context_);
diff --git a/src/cobalt/script/mozjs/mozjs_user_object_holder.h b/src/cobalt/script/mozjs/mozjs_user_object_holder.h
index 2ee384f..c70ad1a 100644
--- a/src/cobalt/script/mozjs/mozjs_user_object_holder.h
+++ b/src/cobalt/script/mozjs/mozjs_user_object_holder.h
@@ -51,6 +51,7 @@
         wrapper_factory_(wrapper_factory) {}
 
   void RegisterOwner(Wrappable* owner) OVERRIDE {
+    JSAutoRequest auto_request(context_);
     JS::RootedObject owned_object(context_, js_object());
     DLOG_IF(WARNING, !owned_object)
         << "Owned object has been garbage collected.";
@@ -65,6 +66,7 @@
 
   void DeregisterOwner(Wrappable* owner) OVERRIDE {
     // |owner| may be in the process of being destructed, so don't use it.
+    JSAutoRequest auto_request(context_);
     JS::RootedObject owned_object(context_, js_object());
     if (owned_object) {
       MozjsGlobalEnvironment* global_environment =
@@ -82,6 +84,7 @@
 
   scoped_ptr<BaseClass> MakeCopy() const OVERRIDE {
     DCHECK(object_handle_);
+    JSAutoRequest auto_request(context_);
     JS::RootedObject rooted_object(context_, js_object());
     return make_scoped_ptr<BaseClass>(
         new MozjsUserObjectHolder(rooted_object, context_, wrapper_factory_));
diff --git a/src/cobalt/script/mozjs/opaque_root_tracker.cc b/src/cobalt/script/mozjs/opaque_root_tracker.cc
index 1ae8d32..dfc405e 100644
--- a/src/cobalt/script/mozjs/opaque_root_tracker.cc
+++ b/src/cobalt/script/mozjs/opaque_root_tracker.cc
@@ -20,6 +20,7 @@
 #include <vector>
 
 #include "cobalt/script/mozjs/weak_heap_object.h"
+#include "third_party/mozjs/js/src/jsapi.h"
 
 namespace cobalt {
 namespace script {
@@ -45,6 +46,7 @@
   }
 
   ~OpaqueRootStateImpl() {
+    JSAutoRequest auto_request(context_);
     for (ReferencedObjectPairVector::iterator it = referenced_objects_.begin();
          it != referenced_objects_.end(); ++it) {
       if (it->second.Get()) {
diff --git a/src/cobalt/script/mozjs/util/exception_helpers.cc b/src/cobalt/script/mozjs/util/exception_helpers.cc
index 030f45a..ce0ca06 100644
--- a/src/cobalt/script/mozjs/util/exception_helpers.cc
+++ b/src/cobalt/script/mozjs/util/exception_helpers.cc
@@ -20,6 +20,7 @@
 
 #include "cobalt/script/mozjs/conversion_helpers.h"
 #include "cobalt/script/mozjs/mozjs_exception_state.h"
+#include "third_party/mozjs/js/src/jsapi.h"
 #include "third_party/mozjs/js/src/jsdbgapi.h"
 #include "third_party/mozjs/js/src/jsscript.h"
 
@@ -28,6 +29,7 @@
 namespace mozjs {
 namespace util {
 std::vector<StackFrame> GetStackTrace(JSContext* context, int max_frames) {
+  JSAutoRequest auto_request(context);
   JS::StackDescription* stack_description =
       JS::DescribeStack(context, max_frames);
   if (max_frames == 0) {
diff --git a/src/cobalt/storage/storage.gyp b/src/cobalt/storage/storage.gyp
index 599f95a..ca9bc16 100644
--- a/src/cobalt/storage/storage.gyp
+++ b/src/cobalt/storage/storage.gyp
@@ -32,13 +32,17 @@
         'savegame_fake.cc',
         'storage_manager.cc',
         'storage_manager.h',
+        'upgrade/upgrade_reader.cc',
+        'upgrade/upgrade_reader.h',
         'virtual_file.cc',
         'virtual_file.h',
         'virtual_file_system.cc',
         'virtual_file_system.h',
       ],
       'dependencies': [
+        '<(DEPTH)/base/base.gyp:base',
         '<(DEPTH)/cobalt/base/base.gyp:base',
+        '<(DEPTH)/net/net.gyp:net',
         '<(DEPTH)/sql/sql.gyp:sql',
       ],
       'conditions': [
@@ -70,6 +74,7 @@
       'sources': [
         'savegame_test.cc',
         'storage_manager_test.cc',
+        'upgrade/storage_upgrade_test.cc',
         'virtual_file_system_test.cc',
       ],
       'dependencies': [
@@ -78,6 +83,7 @@
         '<(DEPTH)/testing/gmock.gyp:gmock',
         '<(DEPTH)/testing/gtest.gyp:gtest',
         'storage',
+        'storage_upgrade_copy_test_data',
       ],
     },
     {
@@ -91,5 +97,21 @@
       },
       'includes': [ '../../starboard/build/deploy.gypi' ],
     },
+    {
+      'target_name': 'storage_upgrade_copy_test_data',
+      'type': 'none',
+      'actions': [
+        {
+          'action_name': 'storage_upgrade_copy_test_data',
+          'variables': {
+            'input_files': [
+              '<(DEPTH)/cobalt/storage/upgrade/testdata/',
+            ],
+            'output_dir': 'cobalt/storage/upgrade/testdata/',
+          },
+          'includes': [ '../build/copy_test_data.gypi' ],
+        },
+      ],
+    },
   ],
 }
diff --git a/src/cobalt/storage/upgrade/schema_v1.proto b/src/cobalt/storage/upgrade/schema_v1.proto
new file mode 100644
index 0000000..6907806
--- /dev/null
+++ b/src/cobalt/storage/upgrade/schema_v1.proto
@@ -0,0 +1,83 @@
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// File schema for "upgrade" save data.
+//
+// A platform migrating to Cobalt from a pre-existing HTML5 container may need
+// to load save data in the legacy format into Cobalt. In this case, it is
+// expected the platform implementation will return the legacy save data in the
+// format described by this schema (JSON-encoded data prefixed by a fixed
+// identifier), which will then be detected by Cobalt and upgraded to the
+// current save data format.
+
+// The first 4 bytes of the data must be the ASCII characters: "UPG0".
+// The remainder of the data must be JSON-encoded according to the schema below.
+// For details of how the proto3 syntax used here maps to JSON, see:
+// https://developers.google.com/protocol-buffers/docs/proto3#json
+
+syntax = "proto3";
+
+message SaveData {
+  // Array (possibly empty) of Cookie objects, defined below.
+  repeated Cookie cookies = 1;
+
+  // Array (possibly empty) of LocalStorageEntry objects, defined below.
+  repeated LocalStorageEntry local_storage_entries = 2;
+
+  // A single cookie.
+  mesage Cookie {
+    // URL in canonical form, e.g. "https://www.youtube.com/". Must be provided
+    // or the cookie will be ignored.
+    string url = 1;
+
+    // Application-defined key. Must be provided or the cookie will be ignored.
+    string name = 2;
+
+    // Application-defined value, treated opaquely by Cobalt. Must be provided
+    // or the cookie will be ignored.
+    string value = 3;
+
+    // Domain, e.g. ".youtube.com". Defaults to the domain of the "url" field.
+    string domain = 4;
+
+    // Optional virtual path, defaults to "/".
+    string path = 5;
+
+    // Microseconds since Windows epoch (1601-01-01 00:00:00 UTC), as ASCII
+    // decimal string. Defaults to now.
+    int64 creation = 6;
+
+    // Microseconds since Windows epoch (1601-01-01 00:00:00 UTC), as ASCII
+    // decimal string. Defaults to maximum expiration period from now.
+    int64 expiration = 7;
+
+    // Microseconds since Windows epoch (1601-01-01 00:00:00 UTC), as ASCII
+    // decimal string. Defaults to now.
+    int64 last_access = 8;
+
+    // Whether this is an HTTP-only cookie. Defaults to false.
+    bool http_only = 9;
+  }
+
+  // A single local storage entry.
+  message LocalStorageEntry {
+    // Application-defined key. Must be provided or the local storage entry will
+    // be ignored.
+    string key = 1;
+
+    // Application-defined value, treated opaquely by Cobalt. Must be provided
+    // or the local storage entry will be ignored.
+    string value = 2;
+  }
+}
diff --git a/src/cobalt/storage/upgrade/storage_upgrade_test.cc b/src/cobalt/storage/upgrade/storage_upgrade_test.cc
new file mode 100644
index 0000000..e7b64f0
--- /dev/null
+++ b/src/cobalt/storage/upgrade/storage_upgrade_test.cc
@@ -0,0 +1,229 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <cstring>
+
+#include "base/base_paths.h"
+#include "base/file_util.h"
+#include "base/logging.h"
+#include "base/path_service.h"
+#include "base/platform_file.h"
+#include "base/time.h"
+#include "cobalt/storage/upgrade/upgrade_reader.h"
+#include "googleurl/src/gurl.h"
+#include "net/cookies/canonical_cookie.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace cobalt {
+namespace storage {
+namespace upgrade {
+
+namespace {
+
+const int kHeaderSize = 4;
+const char kHeader[] = "UPG0";
+
+void ReadFileToString(const char* pathname, std::string* string_out) {
+  EXPECT_TRUE(pathname);
+  EXPECT_TRUE(string_out);
+  FilePath file_path;
+  EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &file_path));
+  file_path = file_path.Append(pathname);
+  EXPECT_TRUE(file_util::ReadFileToString(file_path, string_out));
+  EXPECT_GT(string_out->length(), static_cast<size_t>(kHeaderSize));
+  EXPECT_LE(string_out->length(), static_cast<size_t>(10 * 1024 * 1024));
+  EXPECT_EQ(string_out->find(kHeader), 0);
+}
+
+void ValidateCookie(const net::CanonicalCookie* cookie, const std::string& url,
+                    const std::string& name, const std::string& value,
+                    const std::string domain, const std::string& path,
+                    const base::Time& creation, const base::Time expiration,
+                    bool http_only) {
+  EXPECT_TRUE(cookie);
+  EXPECT_EQ(cookie->Source(),
+            net::CanonicalCookie::GetCookieSourceFromURL(GURL(url)));
+  EXPECT_EQ(cookie->Name(), name);
+  EXPECT_EQ(cookie->Value(), value);
+  EXPECT_EQ(cookie->Domain(), domain);
+  EXPECT_EQ(cookie->Path(), path);
+  EXPECT_EQ((cookie->CreationDate() - creation).InSeconds(), 0);
+  EXPECT_EQ((cookie->ExpiryDate() - expiration).InSeconds(), 0);
+  EXPECT_EQ((cookie->LastAccessDate() - base::Time::Now()).InSeconds(), 0);
+  EXPECT_EQ(cookie->IsSecure(), true);
+  EXPECT_EQ(cookie->IsHttpOnly(), http_only);
+}
+
+void ValidateCookie(const net::CanonicalCookie* cookie, const std::string& url,
+                    const std::string& name, const std::string& value) {
+  const std::string host = GURL(url).host();
+  const std::string domain = host.empty() ? "" : host.substr(host.find("."));
+  const std::string path = "/";
+  const base::Time creation = base::Time::Now();
+  const base::Time expiration = creation;
+  const bool http_only = false;
+  ValidateCookie(cookie, url, name, value, domain, path, creation, expiration,
+                 http_only);
+}
+
+void ValidateLocalStorageEntry(
+    const UpgradeReader::LocalStorageEntry* local_storage_entry,
+    const std::string& key, const std::string& value) {
+  EXPECT_TRUE(local_storage_entry);
+  EXPECT_EQ(local_storage_entry->key, key);
+  EXPECT_EQ(local_storage_entry->value, value);
+}
+
+}  // namespace
+
+TEST(StorageUpgradeTest, UpgradeMinimalCookie) {
+  std::string file_contents;
+  ReadFileToString("cobalt/storage/upgrade/testdata/minimal_cookie_v1.json",
+                   &file_contents);
+  UpgradeReader upgrade_reader(
+      file_contents.c_str() + kHeaderSize,
+      static_cast<int>(file_contents.length()) - kHeaderSize);
+
+  // 1 cookie.
+  EXPECT_EQ(upgrade_reader.GetNumCookies(), 1);
+  const net::CanonicalCookie* cookie = upgrade_reader.GetCookie(0);
+  ValidateCookie(cookie, "https://www.youtube.com/", "cookie_name",
+                 "cookie_value");
+  EXPECT_FALSE(upgrade_reader.GetCookie(1));
+
+  // 0 local storage entries.
+  EXPECT_EQ(upgrade_reader.GetNumLocalStorageEntries(), 0);
+  EXPECT_FALSE(upgrade_reader.GetLocalStorageEntry(0));
+}
+
+TEST(StorageUpgradeTest, UpgradeMinimalLocalStorageEntry) {
+  std::string file_contents;
+  ReadFileToString(
+      "cobalt/storage/upgrade/testdata/minimal_local_storage_entry_v1.json",
+      &file_contents);
+  UpgradeReader upgrade_reader(
+      file_contents.c_str() + kHeaderSize,
+      static_cast<int>(file_contents.length()) - kHeaderSize);
+
+  // 0 cookies.
+  EXPECT_EQ(upgrade_reader.GetNumCookies(), 0);
+  EXPECT_FALSE(upgrade_reader.GetCookie(0));
+
+  // 1 local storage entry.
+  EXPECT_EQ(upgrade_reader.GetNumLocalStorageEntries(), 1);
+  const UpgradeReader::LocalStorageEntry* local_storage_entry =
+      upgrade_reader.GetLocalStorageEntry(0);
+  ValidateLocalStorageEntry(local_storage_entry, "key-1", "value-1");
+  EXPECT_FALSE(upgrade_reader.GetLocalStorageEntry(1));
+}
+
+TEST(StorageUpgradeTest, UpgradeFullData) {
+  std::string file_contents;
+  ReadFileToString("cobalt/storage/upgrade/testdata/full_data_v1.json",
+                   &file_contents);
+  UpgradeReader upgrade_reader(
+      file_contents.c_str() + kHeaderSize,
+      static_cast<int>(file_contents.length()) - kHeaderSize);
+
+  // 2 cookies.
+  EXPECT_EQ(upgrade_reader.GetNumCookies(), 2);
+  const net::CanonicalCookie* cookie = upgrade_reader.GetCookie(0);
+  base::Time creation = base::Time::FromInternalValue(13119668760000000L);
+  base::Time expiration = base::Time::FromInternalValue(13120000000000000L);
+  ValidateCookie(cookie, "https://www.youtube.com/", "cookie_name",
+                 "cookie_value", "cookie.domain", "cookie/path", creation,
+                 expiration, true);
+  cookie = upgrade_reader.GetCookie(1);
+  creation = base::Time::FromInternalValue(13109668760000000L);
+  expiration = base::Time::FromInternalValue(13110000000000000L);
+  ValidateCookie(cookie, "https://www.somewhere.com/", "cookie_name_2",
+                 "cookie_value_2", "cookie.domain2", "cookie/path/2", creation,
+                 expiration, true);
+  EXPECT_FALSE(upgrade_reader.GetCookie(2));
+
+  // 2 local storage entries.
+  EXPECT_EQ(upgrade_reader.GetNumLocalStorageEntries(), 2);
+  const UpgradeReader::LocalStorageEntry* local_storage_entry =
+      upgrade_reader.GetLocalStorageEntry(0);
+  ValidateLocalStorageEntry(local_storage_entry, "key-1", "value-1");
+  local_storage_entry = upgrade_reader.GetLocalStorageEntry(1);
+  ValidateLocalStorageEntry(local_storage_entry, "key-2", "value-2");
+  EXPECT_FALSE(upgrade_reader.GetLocalStorageEntry(2));
+}
+
+TEST(StorageUpgradeTest, UpgradeMissingFields) {
+  std::string file_contents;
+  ReadFileToString("cobalt/storage/upgrade/testdata/missing_fields_v1.json",
+                   &file_contents);
+  UpgradeReader upgrade_reader(
+      file_contents.c_str() + kHeaderSize,
+      static_cast<int>(file_contents.length()) - kHeaderSize);
+
+  // 1 cookie with missing fields, 2 local storage entries with missing fields,
+  // 1 valid local storage entry.
+  EXPECT_EQ(upgrade_reader.GetNumCookies(), 0);
+  EXPECT_FALSE(upgrade_reader.GetCookie(0));
+  EXPECT_EQ(upgrade_reader.GetNumLocalStorageEntries(), 1);
+  const UpgradeReader::LocalStorageEntry* local_storage_entry =
+      upgrade_reader.GetLocalStorageEntry(0);
+  ValidateLocalStorageEntry(local_storage_entry, "key-3", "value-3");
+  EXPECT_FALSE(upgrade_reader.GetLocalStorageEntry(1));
+}
+
+TEST(StorageUpgradeTest, UpgradeMalformed) {
+  std::string file_contents;
+  ReadFileToString("cobalt/storage/upgrade/testdata/malformed_v1.json",
+                   &file_contents);
+  UpgradeReader upgrade_reader(
+      file_contents.c_str() + kHeaderSize,
+      static_cast<int>(file_contents.length()) - kHeaderSize);
+
+  // No cookies or local storage entries available in malformed data.
+  EXPECT_EQ(upgrade_reader.GetNumCookies(), 0);
+  EXPECT_FALSE(upgrade_reader.GetCookie(0));
+  EXPECT_EQ(upgrade_reader.GetNumLocalStorageEntries(), 0);
+  EXPECT_FALSE(upgrade_reader.GetLocalStorageEntry(0));
+}
+
+TEST(StorageUpgradeTest, UpgradeExtraFields) {
+  std::string file_contents;
+  ReadFileToString("cobalt/storage/upgrade/testdata/extra_fields_v1.json",
+                   &file_contents);
+  UpgradeReader upgrade_reader(
+      file_contents.c_str() + kHeaderSize,
+      static_cast<int>(file_contents.length()) - kHeaderSize);
+
+  // 1 cookie, extra fields should be ignored.
+  EXPECT_EQ(upgrade_reader.GetNumCookies(), 1);
+  const net::CanonicalCookie* cookie = upgrade_reader.GetCookie(0);
+  ValidateCookie(cookie, "https://www.youtube.com/", "cookie_name",
+                 "cookie_value");
+  EXPECT_FALSE(upgrade_reader.GetCookie(1));
+
+  // 2 local storage entries, extra fields should be ignored.
+  EXPECT_EQ(upgrade_reader.GetNumLocalStorageEntries(), 2);
+  const UpgradeReader::LocalStorageEntry* local_storage_entry =
+      upgrade_reader.GetLocalStorageEntry(0);
+  ValidateLocalStorageEntry(local_storage_entry, "key-1", "value-1");
+  local_storage_entry = upgrade_reader.GetLocalStorageEntry(1);
+  ValidateLocalStorageEntry(local_storage_entry, "key-2", "value-2");
+  EXPECT_FALSE(upgrade_reader.GetLocalStorageEntry(2));
+}
+
+}  // namespace upgrade
+}  // namespace storage
+}  // namespace cobalt
diff --git a/src/cobalt/storage/upgrade/testdata/extra_fields_v1.json b/src/cobalt/storage/upgrade/testdata/extra_fields_v1.json
new file mode 100644
index 0000000..7709e50
--- /dev/null
+++ b/src/cobalt/storage/upgrade/testdata/extra_fields_v1.json
@@ -0,0 +1,22 @@
+UPG0
+{
+  "cookies": [
+    {
+      "url": "https://www.youtube.com",
+      "name": "cookie_name",
+      "value": "cookie_value",
+      "unexpected": "dummy_value"
+    }
+  ],
+  "local_storage_entries": [
+    {
+      "key": "key-1",
+      "value": "value-1",
+      "unexpected": "dummy_value"
+    },
+    {
+      "key": "key-2",
+      "value": "value-2"
+    }
+  ]
+}
diff --git a/src/cobalt/storage/upgrade/testdata/full_data_v1.json b/src/cobalt/storage/upgrade/testdata/full_data_v1.json
new file mode 100644
index 0000000..c5a039f
--- /dev/null
+++ b/src/cobalt/storage/upgrade/testdata/full_data_v1.json
@@ -0,0 +1,37 @@
+UPG0
+{
+  "cookies": [
+    {
+      "url": "https://www.youtube.com",
+      "name": "cookie_name",
+      "value": "cookie_value",
+      "domain": "cookie.domain",
+      "path": "cookie/path",
+      "creation": "13119668760000000",
+      "expiration": "13120000000000000",
+      "last_acess": "13119668770000000",
+      "http_only": true
+    },
+    {
+      "url": "http://www.somewhere.com",
+      "name": "cookie_name_2",
+      "value": "cookie_value_2",
+      "domain": "cookie.domain2",
+      "path": "cookie/path/2",
+      "creation": "13109668760000000",
+      "expiration": "13110000000000000",
+      "last_acess": "13109668770000000",
+      "http_only": true
+    }
+  ],
+  "local_storage_entries": [
+    {
+      "key": "key-1",
+      "value": "value-1"
+    },
+    {
+      "key": "key-2",
+      "value": "value-2"
+    }
+  ]
+}
diff --git a/src/cobalt/storage/upgrade/testdata/malformed_v1.json b/src/cobalt/storage/upgrade/testdata/malformed_v1.json
new file mode 100644
index 0000000..6d87bf0
--- /dev/null
+++ b/src/cobalt/storage/upgrade/testdata/malformed_v1.json
@@ -0,0 +1,36 @@
+UPG0
+{
+  "cookies": [
+    {
+      "url": "https://www.youtube.com",
+      "name": "cookie_name",
+      "value": "cookie_value"
+      "domain": "cookie.domain",
+      "path": "cookie/path",
+      "creation": "13119668760000000",
+      "expiration": "13120000000000000",
+      "last_acess": "13119668770000000",
+      "http_only": true
+    },
+    {
+      "url": "http://www.somewhere.com",
+      "name": "cookie_name_2",
+      "value": "cookie_value_2",
+      "domain": "cookie.domain2",
+      "path": "cookie/path/2",
+      "creation": "13109668760000000",
+      "expiration": "13110000000000000",
+      "last_acess": "13109668770000000",
+      "http_only": true
+  ],
+  "local_storage_entries":
+    {
+      "key": "key-1",
+      "value": "value-1"
+    },
+    {
+      "key": "key-2",
+      "value": "value-2"
+    }
+  ]
+}
diff --git a/src/cobalt/storage/upgrade/testdata/minimal_cookie_v1.json b/src/cobalt/storage/upgrade/testdata/minimal_cookie_v1.json
new file mode 100644
index 0000000..7dbd209
--- /dev/null
+++ b/src/cobalt/storage/upgrade/testdata/minimal_cookie_v1.json
@@ -0,0 +1,10 @@
+UPG0
+{
+  "cookies": [
+    {
+      "url": "https://www.youtube.com",
+      "name": "cookie_name",
+      "value": "cookie_value"
+    }
+  ]
+}
diff --git a/src/cobalt/storage/upgrade/testdata/minimal_local_storage_entry_v1.json b/src/cobalt/storage/upgrade/testdata/minimal_local_storage_entry_v1.json
new file mode 100644
index 0000000..555e62d
--- /dev/null
+++ b/src/cobalt/storage/upgrade/testdata/minimal_local_storage_entry_v1.json
@@ -0,0 +1,9 @@
+UPG0
+{
+  "local_storage_entries": [
+    {
+      "key": "key-1",
+      "value": "value-1"
+    }
+  ]
+}
diff --git a/src/cobalt/storage/upgrade/testdata/missing_fields_v1.json b/src/cobalt/storage/upgrade/testdata/missing_fields_v1.json
new file mode 100644
index 0000000..52a2a4e
--- /dev/null
+++ b/src/cobalt/storage/upgrade/testdata/missing_fields_v1.json
@@ -0,0 +1,21 @@
+UPG0
+{
+  "cookies": [
+    {
+      "name": "cookie_name",
+      "value": "cookie_value"
+    }
+  ],
+  "local_storage_entries": [
+    {
+      "key": "key-1"
+    },
+    {
+      "value": "value-2"
+    },
+    {
+      "key": "key-3",
+      "value": "value-3"
+    }
+  ]
+}
diff --git a/src/cobalt/storage/upgrade/upgrade_reader.cc b/src/cobalt/storage/upgrade/upgrade_reader.cc
new file mode 100644
index 0000000..35fdb53
--- /dev/null
+++ b/src/cobalt/storage/upgrade/upgrade_reader.cc
@@ -0,0 +1,227 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "cobalt/storage/upgrade/upgrade_reader.h"
+
+#include <string>
+
+#include "base/json/json_reader.h"
+#include "base/logging.h"
+#include "base/memory/scoped_ptr.h"
+#include "base/string_number_conversions.h"
+#include "googleurl/src/gurl.h"
+
+namespace cobalt {
+namespace storage {
+namespace upgrade {
+
+namespace {
+
+// Used as a sanity check.
+const int kMaxUpgradeDataSize = 10 * 1024 * 1024;
+
+// Deseralize a time value encoded as a possibly empty ASCII decimal string.
+base::Time StringToTime(const std::string& time_as_string) {
+  if (!time_as_string.empty()) {
+    int64 time_as_int64;
+    if (base::StringToInt64(time_as_string, &time_as_int64)) {
+      return base::Time::FromInternalValue(time_as_int64);
+    }
+  }
+
+  // Default value.
+  return base::Time::Now();
+}
+
+base::Time GetSerializedTime(const base::DictionaryValue* dictionary,
+                             const std::string& field_name) {
+  std::string time_string;
+  dictionary->GetString(field_name, &time_string);
+  return StringToTime(time_string);
+}
+
+// Get a list contained in a dictionary.
+const base::ListValue* GetList(const base::DictionaryValue* dictionary,
+                               const std::string& list_name) {
+  if (!dictionary) {
+    return NULL;
+  }
+
+  const base::ListValue* list = NULL;
+  if (!dictionary->GetList(list_name, &list)) {
+    return NULL;
+  }
+
+  return list;
+}
+
+// Get the size of a list contained in a dictionary.
+int GetListSize(const base::DictionaryValue* dictionary,
+                const std::string& list_name) {
+  const base::ListValue* list = GetList(dictionary, list_name);
+  if (!list) {
+    return 0;
+  }
+
+  return static_cast<int>(list->GetSize());
+}
+
+// Get a dictionary in a list contained in a dictionary.
+const base::DictionaryValue* GetListItem(
+    const base::DictionaryValue* dictionary, const std::string& list_name,
+    int index) {
+  const base::ListValue* list = GetList(dictionary, list_name);
+  if (!list) {
+    return NULL;
+  }
+
+  if (index < 0 || index >= static_cast<int>(list->GetSize())) {
+    return NULL;
+  }
+
+  const base::DictionaryValue* list_item = NULL;
+  if (!list->GetDictionary(static_cast<size_t>(index), &list_item)) {
+    return NULL;
+  }
+
+  return list_item;
+}
+
+}  // namespace
+
+UpgradeReader::UpgradeReader(const char* data, int size) {
+  DCHECK(data);
+  DCHECK_GT(size, 0);
+  DCHECK_LE(size, kMaxUpgradeDataSize);
+
+  base::JSONReader json_reader;
+  scoped_ptr<base::Value> parsed(
+      json_reader.ReadToValue(std::string(data, static_cast<size_t>(size))));
+  base::DictionaryValue* valid_dictionary = NULL;
+  if (parsed) {
+    parsed->GetAsDictionary(&valid_dictionary);
+  }
+
+  if (valid_dictionary) {
+    ProcessValues(valid_dictionary);
+  } else {
+    DLOG(ERROR) << "Cannot parse upgrade save data: "
+                << base::JSONReader::ErrorCodeToString(
+                       json_reader.error_code());
+  }
+}
+
+int UpgradeReader::GetNumCookies() const {
+  return static_cast<int>(cookies_.size());
+}
+
+int UpgradeReader::GetNumLocalStorageEntries() const {
+  return static_cast<int>(local_storage_entries_.size());
+}
+
+const net::CanonicalCookie* UpgradeReader::GetCookie(int index) const {
+  if (index >= 0 && index < static_cast<int>(cookies_.size())) {
+    return &cookies_[static_cast<size_t>(index)];
+  } else {
+    return static_cast<const net::CanonicalCookie*>(NULL);
+  }
+}
+
+void UpgradeReader::AddCookieIfValid(const base::DictionaryValue* cookie) {
+  DCHECK(cookie);
+
+  // Required attributes.
+  std::string url;
+  std::string name;
+  std::string value;
+  cookie->GetString("url", &url);
+  cookie->GetString("name", &name);
+  cookie->GetString("value", &value);
+  if (url.empty() || name.empty() || value.empty()) {
+    return;
+  }
+
+  // Optional attributes with default values.
+  const GURL gurl(url);
+  const std::string host = gurl.host();
+  std::string domain = host.empty() ? "" : host.substr(host.find("."));
+  cookie->GetString("domain", &domain);
+  std::string path = "/";
+  cookie->GetString("path", &path);
+  base::Time creation = GetSerializedTime(cookie, "creation");
+  base::Time expiration = GetSerializedTime(cookie, "expiration");
+  base::Time last_access = GetSerializedTime(cookie, "last_access");
+  bool http_only = false;
+  cookie->GetBoolean("http_only", &http_only);
+
+  // Attributes not defined in upgrade data.
+  const std::string mac_key;
+  const std::string mac_algorithm;
+  const bool secure = true;
+
+  cookies_.push_back(net::CanonicalCookie(
+      gurl, name, value, domain, path, mac_key, mac_algorithm, creation,
+      expiration, last_access, secure, http_only));
+}
+
+const UpgradeReader::LocalStorageEntry* UpgradeReader::GetLocalStorageEntry(
+    int index) const {
+  if (index >= 0 && index < static_cast<int>(local_storage_entries_.size())) {
+    return &local_storage_entries_[static_cast<size_t>(index)];
+  } else {
+    return static_cast<const LocalStorageEntry*>(NULL);
+  }
+}
+
+void UpgradeReader::AddLocalStorageEntryIfValid(
+    const base::DictionaryValue* local_storage_entry) {
+  DCHECK(local_storage_entry);
+  std::string key;
+  std::string value;
+  if (!local_storage_entry->GetString("key", &key) ||
+      !local_storage_entry->GetString("value", &value) || key.empty() ||
+      value.empty()) {
+    return;
+  }
+
+  local_storage_entries_.push_back(LocalStorageEntry(key, value));
+}
+
+void UpgradeReader::ProcessValues(const base::DictionaryValue* dictionary) {
+  DCHECK(dictionary);
+
+  const int num_cookies = GetListSize(dictionary, "cookies");
+  for (int n = 0; n < num_cookies; n++) {
+    const base::DictionaryValue* cookie = GetListItem(dictionary, "cookies", n);
+    if (cookie) {
+      AddCookieIfValid(cookie);
+    }
+  }
+
+  const int num_local_storage_entries =
+      GetListSize(dictionary, "local_storage_entries");
+  for (int n = 0; n < num_local_storage_entries; n++) {
+    const base::DictionaryValue* local_storage_entry =
+        GetListItem(dictionary, "local_storage_entries", n);
+    if (local_storage_entry) {
+      AddLocalStorageEntryIfValid(local_storage_entry);
+    }
+  }
+}
+
+}  // namespace upgrade
+}  // namespace storage
+}  // namespace cobalt
diff --git a/src/cobalt/storage/upgrade/upgrade_reader.h b/src/cobalt/storage/upgrade/upgrade_reader.h
new file mode 100644
index 0000000..00d1462
--- /dev/null
+++ b/src/cobalt/storage/upgrade/upgrade_reader.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef COBALT_STORAGE_UPGRADE_UPGRADE_READER_H_
+#define COBALT_STORAGE_UPGRADE_UPGRADE_READER_H_
+
+#include <string>
+#include <vector>
+
+#include "base/values.h"
+#include "net/cookies/canonical_cookie.h"
+
+namespace cobalt {
+namespace storage {
+namespace upgrade {
+
+// Class description goes here.
+class UpgradeReader {
+ public:
+  struct LocalStorageEntry {
+    LocalStorageEntry(const std::string& key, const std::string& value)
+        : key(key), value(value) {}
+    std::string key;
+    std::string value;
+  };
+
+  // Parse |data| in JSON-encoded legacy save data upgrade format.
+  UpgradeReader(const char* data, int size);
+
+  // The number of valid cookies found in the parsed data. May be zero.
+  int GetNumCookies() const;
+
+  // The number of valid local storage entries found in the parsed  data. May be
+  // zero.
+  int GetNumLocalStorageEntries() const;
+
+  // Get one of the cookies found in the parsed data, specified by |index|
+  // between 0 and |GetNumCookies| - 1. If the cookie doesn't exist, return
+  // NULL.
+  const net::CanonicalCookie* GetCookie(int index) const;
+
+  // Get one of the local storage entries found in the parsed data, specified
+  // by |index| between 0 and |GetNumLocalStorageEntries| - 1. If the local
+  // storage entry doesn't exist, return NULL.
+  const LocalStorageEntry* GetLocalStorageEntry(int index) const;
+
+ private:
+  // Process the parsed values and populate |cookies_| and
+  // |local_storage_entries_|.
+  void ProcessValues(const base::DictionaryValue* dictionary);
+
+  // Add an entry to |cookies_| if |cookie| encodes a valid cookie.
+  void AddCookieIfValid(const base::DictionaryValue* cookie);
+
+  // Add an entry to |local_storage_entries_| if |local_storage_entry| encodes a
+  // valid local storage entry.
+  void AddLocalStorageEntryIfValid(
+      const base::DictionaryValue* local_storage_entry);
+
+  std::vector<net::CanonicalCookie> cookies_;
+  std::vector<LocalStorageEntry> local_storage_entries_;
+};
+
+}  // namespace upgrade
+}  // namespace storage
+}  // namespace cobalt
+
+#endif  // COBALT_STORAGE_UPGRADE_UPGRADE_READER_H_
diff --git a/src/cobalt/web_animations/animation.cc b/src/cobalt/web_animations/animation.cc
index 0c8a578..16c7d30 100644
--- a/src/cobalt/web_animations/animation.cc
+++ b/src/cobalt/web_animations/animation.cc
@@ -65,14 +65,18 @@
   UpdatePendingTasks();
 }
 
-// https://www.w3.org/TR/2015/WD-web-animations-1-20150707/#the-current-time-of-an-animation
-base::optional<double> Animation::current_time() const {
+base::optional<base::TimeDelta> Animation::current_time_as_time_delta() const {
   if (!timeline_) {
     return base::nullopt;
   }
 
-  base::optional<base::TimeDelta> current_time =
-      data_.ComputeLocalTimeFromTimelineTime(timeline_->current_time());
+  return data_.ComputeLocalTimeFromTimelineTime(
+      timeline_->current_time_as_time_delta());
+}
+
+// https://www.w3.org/TR/2015/WD-web-animations-1-20150707/#the-current-time-of-an-animation
+base::optional<double> Animation::current_time() const {
+  base::optional<base::TimeDelta> current_time = current_time_as_time_delta();
   return current_time ? base::optional<double>(current_time->InMillisecondsF())
                       : base::nullopt;
 }
@@ -86,16 +90,27 @@
 // https://www.w3.org/TR/2015/WD-web-animations-1-20150707/#the-current-time-of-an-animation
 base::optional<base::TimeDelta>
 Animation::Data::ComputeLocalTimeFromTimelineTime(
-    const base::optional<double>& timeline_time_in_milliseconds) const {
+    const base::optional<base::TimeDelta>& timeline_time) const {
   // TODO: Take into account the hold time.
-  if (!timeline_time_in_milliseconds || !start_time_) {
+  if (!timeline_time || !start_time_) {
     return base::nullopt;
   }
 
-  return ScaleTime(
-      base::TimeDelta::FromMillisecondsD(*timeline_time_in_milliseconds) -
-          *start_time_,
-      playback_rate_);
+  return ScaleTime(*timeline_time - *start_time_, playback_rate_);
+}
+
+base::optional<base::TimeDelta>
+Animation::Data::ComputeTimelineTimeFromLocalTime(
+    const base::optional<base::TimeDelta>& local_time) const {
+  if (!start_time_ || !local_time) {
+    return base::nullopt;
+  }
+
+  if (local_time == base::TimeDelta::Max()) {
+    return base::TimeDelta::Max();
+  }
+
+  return ScaleTime(*local_time, 1.0 / playback_rate_) + *start_time_;
 }
 
 // https://www.w3.org/TR/2015/WD-web-animations-1-20150707/#setting-the-current-time-of-an-animation
@@ -116,35 +131,29 @@
 }
 
 void Animation::UpdatePendingTasks() {
-  base::optional<double> local_time_in_ms = current_time();
+  if (!effect_) {
+    return;
+  }
 
-  if (!local_time_in_ms) {
-    // If the local time is unresolved, then we cannot know when we will enter
-    // the "after phase".
-    on_enter_after_phase_.reset();
+  base::TimeDelta end_time_local =
+      effect_->timing()->data().time_until_after_phase(base::TimeDelta());
+
+  base::optional<base::TimeDelta> end_time_timeline =
+      data_.ComputeTimelineTimeFromLocalTime(end_time_local);
+
+  // If the local time is unresolved, then we cannot know when we will enter
+  // the "after phase".
+  if (end_time_timeline &&
+      *end_time_timeline >= *timeline_->current_time_as_time_delta() &&
+      *end_time_timeline != base::TimeDelta::Max()) {
+    // Setup the "upon entering the after phase" event to fire at the
+    // specified timeline time.
+    on_enter_after_phase_ = timeline_->QueueTask(
+        *end_time_timeline,
+        base::Bind(&Animation::OnEnterAfterPhase, base::Unretained(this)));
   } else {
-    if (!effect_) {
-      return;
-    }
-
-    base::TimeDelta local_time =
-        base::TimeDelta::FromMillisecondsD(*local_time_in_ms);
-
-    base::TimeDelta time_to_after_phase =
-        effect_->timing()->data().time_until_after_phase(local_time);
-    if (time_to_after_phase >= base::TimeDelta() &&
-        time_to_after_phase != base::TimeDelta::Max()) {
-      // Setup the "upon entering the after phase" event to fire at the
-      // specified timeline time.
-      if (timeline_) {
-        on_enter_after_phase_ = timeline_->QueueTask(
-            *data_.start_time() + time_to_after_phase,
-            base::Bind(&Animation::OnEnterAfterPhase, base::Unretained(this)));
-      }
-    } else {
-      // We are already in the after phase, so clear this task.
-      on_enter_after_phase_.reset();
-    }
+    // We are already in the after phase, so clear this task.
+    on_enter_after_phase_.reset();
   }
 }
 
diff --git a/src/cobalt/web_animations/animation.h b/src/cobalt/web_animations/animation.h
index f7eb113..3240dbe 100644
--- a/src/cobalt/web_animations/animation.h
+++ b/src/cobalt/web_animations/animation.h
@@ -69,7 +69,9 @@
     // Converts the animation's timeline's time into the animation's local
     // time, which takes into account this animation's start_time().
     base::optional<base::TimeDelta> ComputeLocalTimeFromTimelineTime(
-        const base::optional<double>& timeline_time_in_milliseconds) const;
+        const base::optional<base::TimeDelta>& timeline_time) const;
+    base::optional<base::TimeDelta> ComputeTimelineTimeFromLocalTime(
+        const base::optional<base::TimeDelta>& local_time) const;
 
    private:
     base::optional<base::TimeDelta> start_time_;
@@ -128,6 +130,8 @@
   }
 
   base::optional<double> current_time() const;
+  base::optional<base::TimeDelta> current_time_as_time_delta() const;
+
   void set_current_time(const base::optional<double>& current_time);
 
   double playback_rate() const { return data_.playback_rate(); }
diff --git a/src/cobalt/web_animations/animation_test.cc b/src/cobalt/web_animations/animation_test.cc
index f07a57a..c4bba2b 100644
--- a/src/cobalt/web_animations/animation_test.cc
+++ b/src/cobalt/web_animations/animation_test.cc
@@ -32,7 +32,8 @@
 TEST(AnimationDataTests, LocalTimeIsUnresolvedIfStartTimeIsUnresolved) {
   Animation::Data animation;
   base::optional<base::TimeDelta> local_time =
-      animation.ComputeLocalTimeFromTimelineTime(3000.0);
+      animation.ComputeLocalTimeFromTimelineTime(
+          base::TimeDelta::FromMilliseconds(3000));
 
   EXPECT_FALSE(local_time);
 }
@@ -41,7 +42,8 @@
   Animation::Data animation;
   animation.set_start_time(base::TimeDelta::FromSeconds(2));
   base::optional<base::TimeDelta> local_time =
-      animation.ComputeLocalTimeFromTimelineTime(3000.0);
+      animation.ComputeLocalTimeFromTimelineTime(
+          base::TimeDelta::FromMilliseconds(3000));
 
   ASSERT_TRUE(local_time);
   EXPECT_EQ(1.0, local_time->InSecondsF());
@@ -52,7 +54,8 @@
   animation.set_start_time(base::TimeDelta::FromSeconds(2));
   animation.set_playback_rate(2.0);
   base::optional<base::TimeDelta> local_time =
-      animation.ComputeLocalTimeFromTimelineTime(3000.0);
+      animation.ComputeLocalTimeFromTimelineTime(
+          base::TimeDelta::FromMilliseconds(3000));
 
   ASSERT_TRUE(local_time);
   EXPECT_EQ(2.0, local_time->InSecondsF());
diff --git a/src/cobalt/web_animations/animation_timeline.cc b/src/cobalt/web_animations/animation_timeline.cc
index c006496..04adc73 100644
--- a/src/cobalt/web_animations/animation_timeline.cc
+++ b/src/cobalt/web_animations/animation_timeline.cc
@@ -41,7 +41,7 @@
 // Returns the current time for the document.  This is based off of the last
 // sampled time.
 // https://www.w3.org/TR/web-animations-1/#the-animationtimeline-interface
-base::optional<double> AnimationTimeline::current_time() {
+base::optional<double> AnimationTimeline::current_time() const {
   if (sampled_clock_time_) {
     return sampled_clock_time_->InMillisecondsF();
   } else {
diff --git a/src/cobalt/web_animations/animation_timeline.h b/src/cobalt/web_animations/animation_timeline.h
index 57e0f57..3225f6f 100644
--- a/src/cobalt/web_animations/animation_timeline.h
+++ b/src/cobalt/web_animations/animation_timeline.h
@@ -39,10 +39,16 @@
 
   // Returns the current sample time of the timeline, in milliseconds.  If the
   // returned optional is not engaged, this timeline is 'unresolved'.
-  base::optional<double> current_time();
+  base::optional<double> current_time() const;
 
   // Custom, not in any spec.
 
+  // Helper class to return the current time as a base::TimeDelta instead of a
+  // double.
+  const base::optional<base::TimeDelta>& current_time_as_time_delta() const {
+    return sampled_clock_time_;
+  }
+
   // The owner of this timeline should call Sample() each time a new sample
   // time is ready.
   void Sample();
diff --git a/src/cobalt/web_animations/baked_animation_set.cc b/src/cobalt/web_animations/baked_animation_set.cc
index 63fce67..02d5f28 100644
--- a/src/cobalt/web_animations/baked_animation_set.cc
+++ b/src/cobalt/web_animations/baked_animation_set.cc
@@ -16,6 +16,8 @@
 
 #include "cobalt/web_animations/baked_animation_set.h"
 
+#include <algorithm>
+
 #include "cobalt/web_animations/animation_effect_read_only.h"
 
 namespace cobalt {
@@ -33,8 +35,7 @@
                            cssom::CSSComputedStyleData* in_out_style) const {
   // Get the animation's local time from the Animation::Data object.
   base::optional<base::TimeDelta> local_time =
-      animation_data_.ComputeLocalTimeFromTimelineTime(
-          timeline_time.InMillisecondsF());
+      animation_data_.ComputeLocalTimeFromTimelineTime(timeline_time);
 
   // Obtain the iteration progress from the AnimationEffectTimingReadOnly::Data
   // object.
@@ -52,6 +53,13 @@
                                 *iteration_progress.current_iteration);
 }
 
+base::TimeDelta BakedAnimation::end_time() const {
+  base::TimeDelta end_time_local =
+      effect_timing_data_.time_until_after_phase(base::TimeDelta());
+
+  return *animation_data_.ComputeTimelineTimeFromLocalTime(end_time_local);
+}
+
 BakedAnimationSet::BakedAnimationSet(const AnimationSet& animation_set) {
   for (AnimationSet::InternalSet::const_iterator iter =
            animation_set.animations().begin();
@@ -77,5 +85,15 @@
   }
 }
 
+base::TimeDelta BakedAnimationSet::end_time() const {
+  base::TimeDelta max_end_time = -base::TimeDelta::Max();
+  for (AnimationList::const_iterator iter = animations_.begin();
+       iter != animations_.end(); ++iter) {
+    base::TimeDelta animation_end_time = (*iter)->end_time();
+    max_end_time = std::max(animation_end_time, max_end_time);
+  }
+  return max_end_time;
+}
+
 }  // namespace web_animations
 }  // namespace cobalt
diff --git a/src/cobalt/web_animations/baked_animation_set.h b/src/cobalt/web_animations/baked_animation_set.h
index 4bdb083..b414aeb 100644
--- a/src/cobalt/web_animations/baked_animation_set.h
+++ b/src/cobalt/web_animations/baked_animation_set.h
@@ -49,6 +49,10 @@
   void Apply(const base::TimeDelta& timeline_time,
              cssom::CSSComputedStyleData* in_out_style) const;
 
+  // Returns the timeline time at which this animation will end.  If the
+  // animation has no ending, base::TimeDelta::Max() will be returned.
+  base::TimeDelta end_time() const;
+
  private:
   const Animation::Data animation_data_;
   const AnimationEffectTimingReadOnly::Data effect_timing_data_;
@@ -67,6 +71,10 @@
   void Apply(const base::TimeDelta& timeline_time,
              cssom::CSSComputedStyleData* in_out_style) const;
 
+  // Returns the timeline time at which point all animations in the set are
+  // ended, or base::TimeDelta::Max() if at leats one animation will never end.
+  base::TimeDelta end_time() const;
+
  private:
   typedef ScopedVector<BakedAnimation> AnimationList;
   AnimationList animations_;
diff --git a/src/media/base/sbplayer_pipeline.cc b/src/media/base/sbplayer_pipeline.cc
index 971f574..9c09927 100644
--- a/src/media/base/sbplayer_pipeline.cc
+++ b/src/media/base/sbplayer_pipeline.cc
@@ -111,6 +111,18 @@
   }
 }
 
+// Used to post parameters to SbPlayerPipeline::StartTask() as the number of
+// parameters exceed what base::Bind() can support.
+struct StartTaskParameters {
+  scoped_refptr<Demuxer> demuxer;
+  SetDecryptorReadyCB decryptor_ready_cb;
+  PipelineStatusCB ended_cb;
+  PipelineStatusCB error_cb;
+  PipelineStatusCB seek_cb;
+  Pipeline::BufferingStateCB buffering_state_cb;
+  base::Closure duration_change_cb;
+};
+
 class SetBoundsCaller : public base::RefCountedThreadSafe<SetBoundsCaller> {
  public:
   SetBoundsCaller() : player_(kSbPlayerInvalid) {}
@@ -180,7 +192,10 @@
   typedef std::map<const void*, std::pair<scoped_refptr<DecoderBuffer>, int> >
       DecodingBuffers;
 
-  void StartTask();
+  void StartTask(const StartTaskParameters& parameters);
+  void SetVolumeTask(float volume);
+  void SetPlaybackRateTask(float volume);
+  void SetDurationTask(TimeDelta duration);
 
   // DataSourceHost (by way of DemuxerHost) implementation.
   void SetTotalBytes(int64 total_bytes) OVERRIDE;
@@ -222,20 +237,18 @@
 
   void UpdateDecoderConfig(const scoped_refptr<DemuxerStream>& stream);
 
-  // Message loop used to execute pipeline tasks.
+  // Message loop used to execute pipeline tasks.  It is thread-safe.
   scoped_refptr<base::MessageLoopProxy> message_loop_;
 
-  // MediaLog to which to log events.
-  scoped_refptr<MediaLog> media_log_;
-
-  // Lock used to serialize access for the following data members.
-  mutable base::Lock lock_;
-
-  // The window this player associates with.
+  // The window this player associates with.  It should only be assigned in the
+  // dtor and accesed once by SbPlayerCreate().
   PipelineWindow window_;
 
-  // Whether or not the pipeline is running.
-  bool running_;
+  // The current ticket associated with the |player_|.
+  int ticket_;
+
+  // Lock used to serialize access for the following member variables.
+  mutable base::Lock lock_;
 
   // Amount of available buffered data.  Set by filters.
   Ranges<int64> buffered_byte_ranges_;
@@ -261,12 +274,6 @@
   // the filters.
   float playback_rate_;
 
-  // Status of the pipeline.  Initialized to PIPELINE_OK which indicates that
-  // the pipeline is operating correctly. Any other value indicates that the
-  // pipeline is stopped or is stopping.  Clients can call the Stop() method to
-  // reset the pipeline state, and restore this to PIPELINE_OK.
-  PipelineStatus status_;
-
   // Whether the media contains rendered audio and video streams.
   // TODO(fischman,scherkus): replace these with checks for
   // {audio,video}_decoder_ once extraction of {Audio,Video}Decoder from the
@@ -274,15 +281,10 @@
   bool has_audio_;
   bool has_video_;
 
-  int ticket_;
+  mutable PipelineStatistics statistics_;
 
-  // The following data members are only accessed by tasks posted to
+  // The following member variables are only accessed by tasks posted to
   // |message_loop_|.
-  scoped_ptr<FilterCollection> filter_collection_;
-
-  // Temporary callback used for Start() and Seek().
-  PipelineStatusCB seek_cb_;
-  SbMediaTime seek_time_;
 
   // Temporary callback used for Stop().
   base::Closure stop_cb_;
@@ -300,14 +302,20 @@
   bool video_read_in_progress_;
   TimeDelta duration_;
 
-  mutable PipelineStatistics statistics_;
-
-  SbPlayer player_;
-
   DecodingBuffers decoding_buffers_;
-
   scoped_refptr<SetBoundsCaller> set_bounds_caller_;
 
+  // The following member variables can be accessed from WMPI thread but all
+  // modifications to them happens on the pipeline thread.  So any access of
+  // them from the WMPI thread and any modification to them on the pipeline
+  // thread has to guarded by lock.  Access to them from the pipeline thread
+  // needn't to be guarded.
+
+  // Temporary callback used for Start() and Seek().
+  PipelineStatusCB seek_cb_;
+  SbMediaTime seek_time_;
+  SbPlayer player_;
+
   DISALLOW_COPY_AND_ASSIGN(SbPlayerPipeline);
 };
 
@@ -316,19 +324,19 @@
     const scoped_refptr<base::MessageLoopProxy>& message_loop,
     MediaLog* media_log)
     : window_(window),
+      ticket_(SB_PLAYER_INITIAL_TICKET),
       message_loop_(message_loop),
-      media_log_(media_log),
       total_bytes_(0),
       natural_size_(0, 0),
       volume_(1.f),
       playback_rate_(0.f),
       has_audio_(false),
       has_video_(false),
-      ticket_(SB_PLAYER_INITIAL_TICKET),
       audio_read_in_progress_(false),
       video_read_in_progress_(false),
-      player_(kSbPlayerInvalid),
-      set_bounds_caller_(new SetBoundsCaller) {}
+      set_bounds_caller_(new SetBoundsCaller),
+      seek_time_(0),
+      player_(kSbPlayerInvalid) {}
 
 SbPlayerPipeline::~SbPlayerPipeline() {
   DCHECK(player_ == kSbPlayerInvalid);
@@ -341,24 +349,19 @@
                              const PipelineStatusCB& seek_cb,
                              const BufferingStateCB& buffering_state_cb,
                              const base::Closure& duration_change_cb) {
-  DCHECK(!filter_collection_);
   DCHECK(filter_collection);
 
-  // Assign the parameters here instead of posting it to StartTask() as the
-  // number of parameters exceeds the maximum number of parameters that Bind
-  // supports.
-  filter_collection_ = filter_collection.Pass();
-  decryptor_ready_cb_ = decryptor_ready_cb;
-  ended_cb_ = ended_cb;
-  error_cb_ = error_cb;
-  seek_cb_ = seek_cb;
-  buffering_state_cb_ = buffering_state_cb;
-  duration_change_cb_ = duration_change_cb;
+  StartTaskParameters parameters;
+  parameters.demuxer = filter_collection->GetDemuxer();
+  parameters.decryptor_ready_cb = decryptor_ready_cb;
+  parameters.ended_cb = ended_cb;
+  parameters.error_cb = error_cb;
+  parameters.seek_cb = seek_cb;
+  parameters.buffering_state_cb = buffering_state_cb;
+  parameters.duration_change_cb = duration_change_cb;
 
-  demuxer_ = filter_collection_->GetDemuxer();
-
-  message_loop_->PostTask(FROM_HERE,
-                          base::Bind(&SbPlayerPipeline::StartTask, this));
+  message_loop_->PostTask(
+      FROM_HERE, base::Bind(&SbPlayerPipeline::StartTask, this, parameters));
 }
 
 void SbPlayerPipeline::Stop(const base::Closure& stop_cb) {
@@ -373,11 +376,17 @@
 
   if (SbPlayerIsValid(player_)) {
     set_bounds_caller_->SetPlayer(kSbPlayerInvalid);
+    SbPlayer player = player_;
+    {
+      base::AutoLock auto_lock(lock_);
+      player_ = kSbPlayerInvalid;
+    }
+
     DLOG(INFO) << "Destroying SbPlayer.";
-    SbPlayerDestroy(player_);
+    SbPlayerDestroy(player);
     DLOG(INFO) << "SbPlayer destroyed.";
-    player_ = kSbPlayerInvalid;
   }
+
   // When Stop() is in progress, we no longer need to call |error_cb_|.
   error_cb_.Reset();
   if (demuxer_) {
@@ -405,8 +414,11 @@
   // Increase |ticket_| so all upcoming need data requests from the SbPlayer
   // are ignored.
   ++ticket_;
-  seek_cb_ = seek_cb;
-  seek_time_ = TimeDeltaToSbMediaTime(time);
+  {
+    base::AutoLock auto_lock(lock_);
+    seek_cb_ = seek_cb;
+    seek_time_ = TimeDeltaToSbMediaTime(time);
+  }
   demuxer_->Seek(time, BindToCurrentLoop(base::Bind(
                            &SbPlayerPipeline::OnDemuxerSeeked, this)));
 }
@@ -432,9 +444,9 @@
 
   base::AutoLock auto_lock(lock_);
   playback_rate_ = playback_rate;
-  if (SbPlayerIsValid(player_)) {
-    SbPlayerSetPause(player_, playback_rate_ == 0.0);
-  }
+  message_loop_->PostTask(
+      FROM_HERE,
+      base::Bind(&SbPlayerPipeline::SetPlaybackRateTask, this, playback_rate));
 }
 
 float SbPlayerPipeline::GetVolume() const {
@@ -448,9 +460,8 @@
 
   base::AutoLock auto_lock(lock_);
   volume_ = volume;
-  if (SbPlayerIsValid(player_)) {
-    // SbPlayerSetVolume(player_, volume_);
-  }
+  message_loop_->PostTask(
+      FROM_HERE, base::Bind(&SbPlayerPipeline::SetVolumeTask, this, volume));
 }
 
 TimeDelta SbPlayerPipeline::GetMediaTime() const {
@@ -526,14 +537,50 @@
 #endif  // SB_IS(PLAYER_PUNCHED_OUT)
 }
 
-void SbPlayerPipeline::StartTask() {
+void SbPlayerPipeline::StartTask(const StartTaskParameters& parameters) {
   DCHECK(message_loop_->BelongsToCurrentThread());
 
+  DCHECK(!demuxer_);
+
+  demuxer_ = parameters.demuxer;
+  decryptor_ready_cb_ = parameters.decryptor_ready_cb;
+  ended_cb_ = parameters.ended_cb;
+  error_cb_ = parameters.error_cb;
+  {
+    base::AutoLock auto_lock(lock_);
+    seek_cb_ = parameters.seek_cb;
+  }
+  buffering_state_cb_ = parameters.buffering_state_cb;
+  duration_change_cb_ = parameters.duration_change_cb;
+
   demuxer_->Initialize(
       this, BindToCurrentLoop(
                 base::Bind(&SbPlayerPipeline::OnDemuxerInitialized, this)));
 }
 
+void SbPlayerPipeline::SetVolumeTask(float volume) {
+  DCHECK(message_loop_->BelongsToCurrentThread());
+
+  if (SbPlayerIsValid(player_)) {
+    SbPlayerSetVolume(player_, volume_);
+  }
+}
+
+void SbPlayerPipeline::SetPlaybackRateTask(float volume) {
+  DCHECK(message_loop_->BelongsToCurrentThread());
+
+  if (SbPlayerIsValid(player_)) {
+    SbPlayerSetPause(player_, playback_rate_ == 0.0);
+  }
+}
+
+void SbPlayerPipeline::SetDurationTask(TimeDelta duration) {
+  DCHECK(message_loop_->BelongsToCurrentThread());
+  if (!duration_change_cb_.is_null()) {
+    duration_change_cb_.Run();
+  }
+}
+
 void SbPlayerPipeline::SetTotalBytes(int64 total_bytes) {
   base::AutoLock auto_lock(lock_);
   total_bytes_ = total_bytes;
@@ -542,11 +589,21 @@
 void SbPlayerPipeline::SetDuration(TimeDelta duration) {
   base::AutoLock auto_lock(lock_);
   duration_ = duration;
-  duration_change_cb_.Run();
+  message_loop_->PostTask(
+      FROM_HERE,
+      base::Bind(&SbPlayerPipeline::SetDurationTask, this, duration));
 }
 
 void SbPlayerPipeline::OnDemuxerError(PipelineStatus error) {
-  NOTIMPLEMENTED();
+  if (!message_loop_->BelongsToCurrentThread()) {
+    message_loop_->PostTask(
+        FROM_HERE, base::Bind(&SbPlayerPipeline::OnDemuxerError, this, error));
+    return;
+  }
+
+  if (error != PIPELINE_OK && !error_cb_.is_null()) {
+    base::ResetAndReturn(&error_cb_).Run(error);
+  }
 }
 
 void SbPlayerPipeline::AddBufferedByteRange(int64 start, int64 end) {
@@ -562,6 +619,8 @@
 }
 
 void SbPlayerPipeline::CreatePlayer(SbDrmSystem drm_system) {
+  DCHECK(message_loop_->BelongsToCurrentThread());
+
   const AudioDecoderConfig& audio_config =
       demuxer_->GetStream(DemuxerStream::AUDIO)->audio_decoder_config();
   SbMediaAudioHeader audio_header;
@@ -573,14 +632,23 @@
   audio_header.block_alignment = 4;
   audio_header.bits_per_sample = audio_config.bits_per_channel();
   audio_header.audio_specific_config_size = 0;
-  player_ =
-      SbPlayerCreate(window_, kSbMediaVideoCodecH264, kSbMediaAudioCodecAac,
-                     SB_PLAYER_NO_DURATION, drm_system, &audio_header,
-                     DeallocateSampleCB, DecoderStatusCB, PlayerStatusCB, this);
+
+  {
+    base::AutoLock auto_lock(lock_);
+    player_ = SbPlayerCreate(window_, kSbMediaVideoCodecH264,
+                             kSbMediaAudioCodecAac, SB_PLAYER_NO_DURATION,
+                             drm_system, &audio_header, DeallocateSampleCB,
+                             DecoderStatusCB, PlayerStatusCB, this);
+    SetPlaybackRateTask(playback_rate_);
+    SetVolumeTask(volume_);
+  }
+
   set_bounds_caller_->SetPlayer(player_);
 }
 
 void SbPlayerPipeline::SetDecryptor(Decryptor* decryptor) {
+  DCHECK(message_loop_->BelongsToCurrentThread());
+
   if (!decryptor) {
     return;
   }
@@ -599,28 +667,30 @@
     return;
   }
 
-  base::AutoLock auto_lock(lock_);
-  has_audio_ = demuxer_->GetStream(DemuxerStream::AUDIO) != NULL;
-  DCHECK(has_audio_);
-  has_video_ = demuxer_->GetStream(DemuxerStream::VIDEO) != NULL;
+  {
+    base::AutoLock auto_lock(lock_);
+    has_audio_ = demuxer_->GetStream(DemuxerStream::AUDIO) != NULL;
+    DCHECK(has_audio_);
+    has_video_ = demuxer_->GetStream(DemuxerStream::VIDEO) != NULL;
 
-  buffering_state_cb_.Run(kHaveMetadata);
+    buffering_state_cb_.Run(kHaveMetadata);
 
-  NOTIMPLEMENTED() << "Dynamically determinate codecs";
+    NOTIMPLEMENTED() << "Dynamically determinate codecs";
 
-  const AudioDecoderConfig& audio_config =
-      demuxer_->GetStream(DemuxerStream::AUDIO)->audio_decoder_config();
-  bool is_encrypted = audio_config.is_encrypted();
-  if (has_video_) {
-    const VideoDecoderConfig& video_config =
-        demuxer_->GetStream(DemuxerStream::VIDEO)->video_decoder_config();
-    natural_size_ = video_config.natural_size();
-    is_encrypted |= video_config.is_encrypted();
-  }
-  if (is_encrypted) {
-    decryptor_ready_cb_.Run(
-        BindToCurrentLoop(base::Bind(&SbPlayerPipeline::SetDecryptor, this)));
-    return;
+    const AudioDecoderConfig& audio_config =
+        demuxer_->GetStream(DemuxerStream::AUDIO)->audio_decoder_config();
+    bool is_encrypted = audio_config.is_encrypted();
+    if (has_video_) {
+      const VideoDecoderConfig& video_config =
+          demuxer_->GetStream(DemuxerStream::VIDEO)->video_decoder_config();
+      natural_size_ = video_config.natural_size();
+      is_encrypted |= video_config.is_encrypted();
+    }
+    if (is_encrypted) {
+      decryptor_ready_cb_.Run(
+          BindToCurrentLoop(base::Bind(&SbPlayerPipeline::SetDecryptor, this)));
+      return;
+    }
   }
 
   CreatePlayer(kSbDrmSystemInvalid);
@@ -642,7 +712,12 @@
 }
 
 void SbPlayerPipeline::OnDemuxerStopped() {
-  base::AutoLock auto_lock(lock_);
+  if (!message_loop_->BelongsToCurrentThread()) {
+    message_loop_->PostTask(
+        FROM_HERE, base::Bind(&SbPlayerPipeline::OnDemuxerStopped, this));
+    return;
+  }
+
   base::ResetAndReturn(&stop_cb_).Run();
 }
 
@@ -685,7 +760,12 @@
     }
     if (!seek_cb_.is_null()) {
       buffering_state_cb_.Run(kPrerollCompleted);
-      base::ResetAndReturn(&seek_cb_).Run(PIPELINE_OK);
+      PipelineStatusCB seek_cb;
+      {
+        base::AutoLock auto_lock(lock_);
+        seek_cb = base::ResetAndReturn(&seek_cb_);
+      }
+      seek_cb.Run(PIPELINE_OK);
     }
     return;
   }
@@ -807,7 +887,12 @@
     case kSbPlayerStatePresenting:
       buffering_state_cb_.Run(kPrerollCompleted);
       if (!seek_cb_.is_null()) {
-        base::ResetAndReturn(&seek_cb_).Run(PIPELINE_OK);
+        PipelineStatusCB seek_cb;
+        {
+          base::AutoLock auto_lock(lock_);
+          seek_cb = base::ResetAndReturn(&seek_cb_);
+        }
+        seek_cb.Run(PIPELINE_OK);
       }
       break;
     case kSbPlayerStateEndOfStream:
@@ -816,7 +901,9 @@
     case kSbPlayerStateDestroyed:
       break;
     case kSbPlayerStateError:
-      // TODO: Handle error
+      if (!error_cb_.is_null()) {
+        base::ResetAndReturn(&error_cb_).Run(PIPELINE_ERROR_DECODE);
+      }
       break;
   }
 }
@@ -843,7 +930,6 @@
                                        SbPlayerDecoderState state,
                                        int ticket) {
   SbPlayerPipeline* pipeline = reinterpret_cast<SbPlayerPipeline*>(context);
-  DCHECK_EQ(pipeline->player_, player);
   pipeline->message_loop_->PostTask(
       FROM_HERE, base::Bind(&SbPlayerPipeline::OnDecoderStatus, pipeline, type,
                             state, ticket));
@@ -865,7 +951,6 @@
                                           void* context,
                                           const void* sample_buffer) {
   SbPlayerPipeline* pipeline = reinterpret_cast<SbPlayerPipeline*>(context);
-  DCHECK_EQ(pipeline->player_, player);
   pipeline->message_loop_->PostTask(
       FROM_HERE, base::Bind(&SbPlayerPipeline::OnDeallocateSample, pipeline,
                             sample_buffer));
diff --git a/src/net/socket/tcp_client_socket_starboard.cc b/src/net/socket/tcp_client_socket_starboard.cc
index 042acd7..0a915a5 100644
--- a/src/net/socket/tcp_client_socket_starboard.cc
+++ b/src/net/socket/tcp_client_socket_starboard.cc
@@ -132,6 +132,25 @@
   net_log_.EndEvent(NetLog::TYPE_SOCKET_ALIVE);
 }
 
+int TCPClientSocketStarboard::AdoptSocket(SbSocket socket) {
+  DCHECK(!SbSocketIsValid(socket_));
+
+  int error = SetupSocket(socket);
+  if (error) {
+    return error;
+  }
+
+  socket_ = socket;
+
+  // This is to make GetPeerAddress() work. It's up to the caller to ensure that
+  // |address_| contains a reasonable address for this socket. (i.e. at least
+  // match IPv4 vs IPv6!).
+  current_address_index_ = 0;
+  use_history_.set_was_ever_connected();
+
+  return OK;
+}
+
 int TCPClientSocketStarboard::Connect(const CompletionCallback& callback) {
   DCHECK(CalledOnValidThread());
 
diff --git a/src/net/udp/udp_listen_socket_unittest.cc b/src/net/udp/udp_listen_socket_unittest.cc
index 4f3a077..dddabd2 100644
--- a/src/net/udp/udp_listen_socket_unittest.cc
+++ b/src/net/udp/udp_listen_socket_unittest.cc
@@ -71,6 +71,7 @@
   // Create another socket.
   SocketDescriptor cs = SbSocketCreate(sb_address.type, kSbSocketProtocolUdp);
   SbSocketSendTo(cs, data, size, &sb_address);
+  SbSocketDestroy(cs);
 #else   // defined(OS_STARBOARD)
   // Get the watching address
   SockaddrStorage bind_addr;
diff --git a/src/starboard/atomic.h b/src/starboard/atomic.h
index bdc3ad1..e47391f 100644
--- a/src/starboard/atomic.h
+++ b/src/starboard/atomic.h
@@ -41,23 +41,23 @@
 // Always return the old value of "*ptr"
 //
 // This routine implies no memory barriers.
-SbAtomic32 SbAtomicNoBarrier_CompareAndSwap(volatile SbAtomic32* ptr,
-                                            SbAtomic32 old_value,
-                                            SbAtomic32 new_value);
+static SbAtomic32 SbAtomicNoBarrier_CompareAndSwap(volatile SbAtomic32* ptr,
+                                                   SbAtomic32 old_value,
+                                                   SbAtomic32 new_value);
 
 // Atomically store new_value into *ptr, returning the previous value held in
 // *ptr.  This routine implies no memory barriers.
-SbAtomic32 SbAtomicNoBarrier_Exchange(volatile SbAtomic32* ptr,
-                                      SbAtomic32 new_value);
+static SbAtomic32 SbAtomicNoBarrier_Exchange(volatile SbAtomic32* ptr,
+                                             SbAtomic32 new_value);
 
 // Atomically increment *ptr by "increment".  Returns the new value of
 // *ptr with the increment applied.  This routine implies no memory barriers.
-SbAtomic32 SbAtomicNoBarrier_Increment(volatile SbAtomic32* ptr,
-                                       SbAtomic32 increment);
+static SbAtomic32 SbAtomicNoBarrier_Increment(volatile SbAtomic32* ptr,
+                                              SbAtomic32 increment);
 
 // Same as SbAtomicNoBarrier_Increment, but with a memory barrier.
-SbAtomic32 SbAtomicBarrier_Increment(volatile SbAtomic32* ptr,
-                                     SbAtomic32 increment);
+static SbAtomic32 SbAtomicBarrier_Increment(volatile SbAtomic32* ptr,
+                                            SbAtomic32 increment);
 
 // These following lower-level operations are typically useful only to people
 // implementing higher-level synchronization operations like spinlocks, mutexes,
@@ -68,54 +68,55 @@
 // after the operation.  "Barrier" operations have both "Acquire" and "Release"
 // semantics.  A SbAtomicMemoryBarrier() has "Barrier" semantics, but does no
 // memory access.
-SbAtomic32 SbAtomicAcquire_CompareAndSwap(volatile SbAtomic32* ptr,
-                                          SbAtomic32 old_value,
-                                          SbAtomic32 new_value);
-SbAtomic32 SbAtomicRelease_CompareAndSwap(volatile SbAtomic32* ptr,
-                                          SbAtomic32 old_value,
-                                          SbAtomic32 new_value);
+static SbAtomic32 SbAtomicAcquire_CompareAndSwap(volatile SbAtomic32* ptr,
+                                                 SbAtomic32 old_value,
+                                                 SbAtomic32 new_value);
+static SbAtomic32 SbAtomicRelease_CompareAndSwap(volatile SbAtomic32* ptr,
+                                                 SbAtomic32 old_value,
+                                                 SbAtomic32 new_value);
 
-void SbAtomicMemoryBarrier();
-void SbAtomicNoBarrier_Store(volatile SbAtomic32* ptr, SbAtomic32 value);
-void SbAtomicAcquire_Store(volatile SbAtomic32* ptr, SbAtomic32 value);
-void SbAtomicRelease_Store(volatile SbAtomic32* ptr, SbAtomic32 value);
+static void SbAtomicMemoryBarrier();
+static void SbAtomicNoBarrier_Store(volatile SbAtomic32* ptr, SbAtomic32 value);
+static void SbAtomicAcquire_Store(volatile SbAtomic32* ptr, SbAtomic32 value);
+static void SbAtomicRelease_Store(volatile SbAtomic32* ptr, SbAtomic32 value);
 
-SbAtomic32 SbAtomicNoBarrier_Load(volatile const SbAtomic32* ptr);
-SbAtomic32 SbAtomicAcquire_Load(volatile const SbAtomic32* ptr);
-SbAtomic32 SbAtomicRelease_Load(volatile const SbAtomic32* ptr);
+static SbAtomic32 SbAtomicNoBarrier_Load(volatile const SbAtomic32* ptr);
+static SbAtomic32 SbAtomicAcquire_Load(volatile const SbAtomic32* ptr);
+static SbAtomic32 SbAtomicRelease_Load(volatile const SbAtomic32* ptr);
 
 // 64-bit atomic operations (only available on 64-bit processors).
 #if SB_HAS(64_BIT_ATOMICS)
 typedef int64_t SbAtomic64;
 
-SbAtomic64 SbAtomicNoBarrier_CompareAndSwap64(volatile SbAtomic64* ptr,
-                                              SbAtomic64 old_value,
-                                              SbAtomic64 new_value);
-SbAtomic64 SbAtomicNoBarrier_Exchange64(volatile SbAtomic64* ptr,
-                                        SbAtomic64 new_value);
-SbAtomic64 SbAtomicNoBarrier_Increment64(volatile SbAtomic64* ptr,
-                                         SbAtomic64 increment);
-SbAtomic64 SbAtomicBarrier_Increment64(volatile SbAtomic64* ptr,
-                                       SbAtomic64 increment);
-SbAtomic64 SbAtomicAcquire_CompareAndSwap64(volatile SbAtomic64* ptr,
-                                            SbAtomic64 old_value,
-                                            SbAtomic64 new_value);
-SbAtomic64 SbAtomicRelease_CompareAndSwap64(volatile SbAtomic64* ptr,
-                                            SbAtomic64 old_value,
-                                            SbAtomic64 new_value);
-void SbAtomicNoBarrier_Store64(volatile SbAtomic64* ptr, SbAtomic64 value);
-void SbAtomicAcquire_Store64(volatile SbAtomic64* ptr, SbAtomic64 value);
-void SbAtomicRelease_Store64(volatile SbAtomic64* ptr, SbAtomic64 value);
-SbAtomic64 SbAtomicNoBarrier_Load64(volatile const SbAtomic64* ptr);
-SbAtomic64 SbAtomicAcquire_Load64(volatile const SbAtomic64* ptr);
-SbAtomic64 SbAtomicRelease_Load64(volatile const SbAtomic64* ptr);
+static SbAtomic64 SbAtomicNoBarrier_CompareAndSwap64(volatile SbAtomic64* ptr,
+                                                     SbAtomic64 old_value,
+                                                     SbAtomic64 new_value);
+static SbAtomic64 SbAtomicNoBarrier_Exchange64(volatile SbAtomic64* ptr,
+                                               SbAtomic64 new_value);
+static SbAtomic64 SbAtomicNoBarrier_Increment64(volatile SbAtomic64* ptr,
+                                                SbAtomic64 increment);
+static SbAtomic64 SbAtomicBarrier_Increment64(volatile SbAtomic64* ptr,
+                                              SbAtomic64 increment);
+static SbAtomic64 SbAtomicAcquire_CompareAndSwap64(volatile SbAtomic64* ptr,
+                                                   SbAtomic64 old_value,
+                                                   SbAtomic64 new_value);
+static SbAtomic64 SbAtomicRelease_CompareAndSwap64(volatile SbAtomic64* ptr,
+                                                   SbAtomic64 old_value,
+                                                   SbAtomic64 new_value);
+static void SbAtomicNoBarrier_Store64(volatile SbAtomic64* ptr,
+                                      SbAtomic64 value);
+static void SbAtomicAcquire_Store64(volatile SbAtomic64* ptr, SbAtomic64 value);
+static void SbAtomicRelease_Store64(volatile SbAtomic64* ptr, SbAtomic64 value);
+static SbAtomic64 SbAtomicNoBarrier_Load64(volatile const SbAtomic64* ptr);
+static SbAtomic64 SbAtomicAcquire_Load64(volatile const SbAtomic64* ptr);
+static SbAtomic64 SbAtomicRelease_Load64(volatile const SbAtomic64* ptr);
 #endif  // SB_HAS(64_BIT_ATOMICS)
 
 // Pointer-sized atomic operations. Forwards to either 32-bit or 64-bit
 // functions as appropriate.
 typedef intptr_t SbAtomicPtr;
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicNoBarrier_CompareAndSwapPtr(volatile SbAtomicPtr* ptr,
                                     SbAtomicPtr old_value,
                                     SbAtomicPtr new_value) {
@@ -126,7 +127,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicNoBarrier_ExchangePtr(volatile SbAtomicPtr* ptr,
                               SbAtomicPtr new_value) {
 #if SB_HAS(64_BIT_POINTERS)
@@ -136,7 +137,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicNoBarrier_IncrementPtr(volatile SbAtomicPtr* ptr,
                                SbAtomicPtr increment) {
 #if SB_HAS(64_BIT_POINTERS)
@@ -146,7 +147,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicBarrier_IncrementPtr(volatile SbAtomicPtr* ptr, SbAtomicPtr increment) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicBarrier_Increment64(ptr, increment);
@@ -155,7 +156,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicAcquire_CompareAndSwapPtr(volatile SbAtomicPtr* ptr,
                                   SbAtomicPtr old_value,
                                   SbAtomicPtr new_value) {
@@ -166,7 +167,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicRelease_CompareAndSwapPtr(volatile SbAtomicPtr* ptr,
                                   SbAtomicPtr old_value,
                                   SbAtomicPtr new_value) {
@@ -177,8 +178,8 @@
 #endif
 }
 
-SB_C_FORCE_INLINE void SbAtomicNoBarrier_StorePtr(volatile SbAtomicPtr* ptr,
-                                                  SbAtomicPtr value) {
+static SB_C_FORCE_INLINE void
+SbAtomicNoBarrier_StorePtr(volatile SbAtomicPtr* ptr, SbAtomicPtr value) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicNoBarrier_Store64(ptr, value);
 #else
@@ -186,8 +187,8 @@
 #endif
 }
 
-SB_C_FORCE_INLINE void SbAtomicAcquire_StorePtr(volatile SbAtomicPtr* ptr,
-                                                SbAtomicPtr value) {
+static SB_C_FORCE_INLINE void
+SbAtomicAcquire_StorePtr(volatile SbAtomicPtr* ptr, SbAtomicPtr value) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicAcquire_Store64(ptr, value);
 #else
@@ -195,8 +196,8 @@
 #endif
 }
 
-SB_C_FORCE_INLINE void SbAtomicRelease_StorePtr(volatile SbAtomicPtr* ptr,
-                                                SbAtomicPtr value) {
+static SB_C_FORCE_INLINE void
+SbAtomicRelease_StorePtr(volatile SbAtomicPtr* ptr, SbAtomicPtr value) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicRelease_Store64(ptr, value);
 #else
@@ -204,7 +205,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicNoBarrier_LoadPtr(volatile const SbAtomicPtr* ptr) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicNoBarrier_Load64(ptr);
@@ -213,7 +214,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicAcquire_LoadPtr(volatile const SbAtomicPtr* ptr) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicAcquire_Load64(ptr);
@@ -222,7 +223,7 @@
 #endif
 }
 
-SB_C_FORCE_INLINE SbAtomicPtr
+static SB_C_FORCE_INLINE SbAtomicPtr
 SbAtomicRelease_LoadPtr(volatile const SbAtomicPtr* ptr) {
 #if SB_HAS(64_BIT_POINTERS)
   return SbAtomicRelease_Load64(ptr);
diff --git a/src/starboard/configuration.h b/src/starboard/configuration.h
index cff8fa8..e075b47 100644
--- a/src/starboard/configuration.h
+++ b/src/starboard/configuration.h
@@ -364,6 +364,10 @@
 #error "Only one SB_HAS_{MANY, 1, 2, 4, 6}_CORE[S] can be defined per platform."
 #endif
 
+#if !defined(SB_HAS_THREAD_PRIORITY_SUPPORT)
+#error "Your platform must define SB_HAS_THREAD_PRIORITY_SUPPORT."
+#endif
+
 #if !defined(SB_PREFERRED_RGBA_BYTE_ORDER)
 // Legal values for SB_PREFERRED_RGBA_BYTE_ORDER are defined in this file above
 // as SB_PREFERRED_RGBA_BYTE_ORDER_*.
@@ -386,6 +390,10 @@
 #error "Your platform must define SB_HAS_NV12_TEXTURE_SUPPORT."
 #endif
 
+#if !defined(SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER)
+#error "Your platform must define SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER."
+#endif
+
 // --- Derived Configuration -------------------------------------------------
 
 // Whether the current platform is little endian.
diff --git a/src/starboard/file.h b/src/starboard/file.h
index d1ecc11..bda6f3a 100644
--- a/src/starboard/file.h
+++ b/src/starboard/file.h
@@ -178,6 +178,49 @@
 // Converts an ISO fopen() mode string into flags that can be equivalently
 // passed into SbFileOpen().
 SB_EXPORT int SbFileModeStringToFlags(const char* mode);
+
+// Reads the given number of bytes (or until EOF is reached). Returns the number
+// of bytes read, or -1 on error. Note that this function makes a best effort to
+// read all data on all platforms, so it is not intended for stream oriented
+// files but instead for cases when the normal expectation is that actually
+// |size| bytes are read unless there is an error.
+static inline int SbFileReadAll(SbFile file, char* data, int size) {
+  if (!SbFileIsValid(file) || size < 0) {
+    return -1;
+  }
+  int bytes_read = 0;
+  int rv;
+  do {
+    rv = SbFileRead(file, data + bytes_read, size - bytes_read);
+    if (bytes_read <= 0) {
+      break;
+    }
+    bytes_read += rv;
+  } while (bytes_read < size);
+
+  return bytes_read ? bytes_read : rv;
+}
+
+// Writes the given buffer into the file, overwritting any data that was
+// previously there. Returns the number of bytes written, or -1 on error. Note
+// that this function makes a best effort to write all data on all platforms.
+static inline int SbFileWriteAll(SbFile file, const char* data, int size) {
+  if (!SbFileIsValid(file) || size < 0) {
+    return -1;
+  }
+  int bytes_written = 0;
+  int rv;
+  do {
+    rv = SbFileWrite(file, data + bytes_written, size - bytes_written);
+    if (bytes_written <= 0) {
+      break;
+    }
+    bytes_written += rv;
+  } while (bytes_written < size);
+
+  return bytes_written ? bytes_written : rv;
+}
+
 #ifdef __cplusplus
 }  // extern "C"
 #endif
@@ -219,10 +262,18 @@
 
   int Read(char* data, int size) const { return SbFileRead(file_, data, size); }
 
+  int ReadAll(char* data, int size) const {
+    return SbFileReadAll(file_, data, size);
+  }
+
   int Write(const char* data, int size) const {
     return SbFileWrite(file_, data, size);
   }
 
+  int WriteAll(const char* data, int size) const {
+    return SbFileWriteAll(file_, data, size);
+  }
+
   bool Truncate(int64_t length) const { return SbFileTruncate(file_, length); }
 
   bool Flush() const { return SbFileFlush(file_); }
@@ -231,6 +282,12 @@
     return SbFileGetInfo(file_, out_info);
   }
 
+  int64_t GetSize() const {
+    SbFileInfo file_info;
+    static bool success = GetInfo(&file_info);
+    return (success ? file_info.size : -1);
+  }
+
  private:
   SbFile file_;
 };
diff --git a/src/starboard/input.h b/src/starboard/input.h
index dec4b29..fbce0f2 100644
--- a/src/starboard/input.h
+++ b/src/starboard/input.h
@@ -79,7 +79,7 @@
   //
   // Produces Move, Press, and Unpress events.
   kSbInputDeviceTypeTouchPad,
-} SbInputType;
+} SbInputDeviceType;
 
 // The action that an input event represents.
 typedef enum SbInputEventType {
diff --git a/src/starboard/linux/shared/configuration_public.h b/src/starboard/linux/shared/configuration_public.h
index 624909f..9859ced 100644
--- a/src/starboard/linux/shared/configuration_public.h
+++ b/src/starboard/linux/shared/configuration_public.h
@@ -69,6 +69,12 @@
 #define SB_IS_WCHAR_T_SIGNED 1
 #endif
 
+// --- Architecture Configuration --------------------------------------------
+
+// On default Linux desktop, you must be a superuser in order to set real time
+// scheduling on threads.
+#define SB_HAS_THREAD_PRIORITY_SUPPORT 0
+
 // --- Attribute Configuration -----------------------------------------------
 
 // The platform's annotation for forcing a C function to be inlined.
@@ -232,6 +238,12 @@
 // working properly.
 #define SB_HAS_BILINEAR_FILTERING_SUPPORT 1
 
+// Whether the current platform should frequently flip their display buffer.
+// If this is not required (e.g. SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER is set
+// to 0), then optimizations where the display buffer is not flipped if the
+// scene hasn't changed are enabled.
+#define SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER 0
+
 // --- Media Configuration ---------------------------------------------------
 
 // Specifies whether this platform has support for a possibly-decrypting
@@ -288,7 +300,7 @@
 //    macro should be set to a value that is greater than the sum of the above
 //    source buffer stream memory limits with extra room to take account of
 //    fragmentations and memory used by demuxers.
-#define SB_MEDIA_MAIN_BUFFER_BUDGET (128U * 1024U * 1024U)
+#define SB_MEDIA_MAIN_BUFFER_BUDGET (32U * 1024U * 1024U)
 
 // Specifies how much GPU memory to reserve up-front for media source buffers.
 // This should only be set to non-zero on system with limited CPU memory and
diff --git a/src/starboard/linux/shared/gyp_configuration.gypi b/src/starboard/linux/shared/gyp_configuration.gypi
index 703b774..e4ca809 100644
--- a/src/starboard/linux/shared/gyp_configuration.gypi
+++ b/src/starboard/linux/shared/gyp_configuration.gypi
@@ -28,8 +28,7 @@
     # This should have a default value in cobalt/base.gypi. See the comment
     # there for acceptable values for this variable.
     'javascript_engine': 'mozjs',
-    # JIT is temporarily disabled for spidermonkey.
-    'cobalt_enable_jit': 0,
+    'cobalt_enable_jit': 1,
 
     # Define platform specific compiler and linker flags.
     # Refer to base.gypi for a list of all available variables.
diff --git a/src/starboard/linux/x64x11/main.cc b/src/starboard/linux/x64x11/main.cc
index 7feb245..12cbce1 100644
--- a/src/starboard/linux/x64x11/main.cc
+++ b/src/starboard/linux/x64x11/main.cc
@@ -19,7 +19,7 @@
 #include "starboard/shared/signal/suspend_signals.h"
 #include "starboard/shared/x11/application_x11.h"
 
-int main(int argc, char** argv) {
+extern "C" SB_EXPORT_PLATFORM int main(int argc, char** argv) {
   tzset();
   starboard::shared::signal::InstallCrashSignalHandlers();
   starboard::shared::signal::InstallSuspendSignalHandlers();
diff --git a/src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRectInterpolated-expected.png b/src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRectInterpolated-expected.png
new file mode 100644
index 0000000..27424c4
--- /dev/null
+++ b/src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRectInterpolated-expected.png
Binary files differ
diff --git a/src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRect-expected.png b/src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRectNotInterpolated-expected.png
similarity index 100%
rename from src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRect-expected.png
rename to src/starboard/nplb/blitter_pixel_tests/data/MagnifyBlitRectToRectNotInterpolated-expected.png
Binary files differ
diff --git a/src/starboard/nplb/blitter_pixel_tests/tests.cc b/src/starboard/nplb/blitter_pixel_tests/tests.cc
index 871c074..30c8a8b 100644
--- a/src/starboard/nplb/blitter_pixel_tests/tests.cc
+++ b/src/starboard/nplb/blitter_pixel_tests/tests.cc
@@ -101,7 +101,11 @@
                           SbBlitterMakeRect(0, 0, GetWidth(), GetHeight()));
 }
 
-TEST_F(SbBlitterPixelTest, MagnifyBlitRectToRect) {
+#if SB_HAS(BILINEAR_FILTERING_SUPPORT)
+TEST_F(SbBlitterPixelTest, MagnifyBlitRectToRectInterpolated) {
+#else
+TEST_F(SbBlitterPixelTest, MagnifyBlitRectToRectNotInterpolated) {
+#endif
   // Create an image with a height and width of 2x2.
   SbBlitterSurface checker_image = CreateCheckerImageWithBlits(
       device_, context_, SbBlitterColorFromRGBA(255, 255, 255, 255),
diff --git a/src/starboard/nplb/file_read_test.cc b/src/starboard/nplb/file_read_test.cc
index e294bca..a4c828d 100644
--- a/src/starboard/nplb/file_read_test.cc
+++ b/src/starboard/nplb/file_read_test.cc
@@ -22,17 +22,39 @@
 namespace nplb {
 namespace {
 
+// Sets up an empty test fixture, required for typed tests.
+template <class SbFileReadType>
+class SbFileReadTest : public testing::Test {};
+
+class SbFileReader {
+ public:
+  static int Read(SbFile file, char* data, int size) {
+    return SbFileRead(file, data, size);
+  }
+};
+
+class SbFileReaderAll {
+ public:
+  static int Read(SbFile file, char* data, int size) {
+    return SbFileReadAll(file, data, size);
+  }
+};
+
+typedef testing::Types<SbFileReader, SbFileReaderAll> SbFileReadTestTypes;
+
+TYPED_TEST_CASE(SbFileReadTest, SbFileReadTestTypes);
+
 const int kBufferLength = 16 * 1024;
 
-TEST(SbFileReadTest, InvalidFileErrors) {
+TYPED_TEST(SbFileReadTest, InvalidFileErrors) {
   char buffer[kBufferLength];
-  int result = SbFileRead(kSbFileInvalid, buffer, kBufferLength);
+  int result = TypeParam::Read(kSbFileInvalid, buffer, kBufferLength);
   EXPECT_EQ(-1, result);
 }
 
-TEST(SbFileReadTest, BasicReading) {
-  // Create a pattern file that is not an even multiple of the buffer size, but
-  // is over several times the size of the buffer.
+TYPED_TEST(SbFileReadTest, BasicReading) {
+  // Create a pattern file that is not an even multiple of the buffer size,
+  // but is over several times the size of the buffer.
   const int kFileSize = kBufferLength * 16 / 3;
   ScopedRandomFile random_file(kFileSize);
   const std::string& filename = random_file.filename();
@@ -41,8 +63,8 @@
       SbFileOpen(filename.c_str(), kSbFileOpenOnly | kSbFileRead, NULL, NULL);
   ASSERT_TRUE(SbFileIsValid(file));
 
-  // Create a bigger buffer than necessary, so we can test the memory around the
-  // portion given to SbFileRead.
+  // Create a bigger buffer than necessary, so we can test the memory around
+  // the portion given to SbFileRead.
   const int kRealBufferLength = kBufferLength * 2;
   char real_buffer[kRealBufferLength] = {0};
   const int kBufferOffset = kBufferLength / 2;
@@ -58,7 +80,7 @@
   int previous_total = 0;
   int max = 0;
   while (true) {
-    int bytes_read = SbFileRead(file, buffer, kBufferLength);
+    int bytes_read = TypeParam::Read(file, buffer, kBufferLength);
     if (bytes_read == 0) {
       break;
     }
@@ -96,7 +118,7 @@
   EXPECT_TRUE(result);
 }
 
-TEST(SbFileReadTest, ReadPastEnd) {
+TYPED_TEST(SbFileReadTest, ReadPastEnd) {
   const int kFileSize = kBufferLength;
   ScopedRandomFile random_file(kFileSize);
   const std::string& filename = random_file.filename();
@@ -105,8 +127,8 @@
       SbFileOpen(filename.c_str(), kSbFileOpenOnly | kSbFileRead, NULL, NULL);
   ASSERT_TRUE(SbFileIsValid(file));
 
-  // Create a bigger buffer than necessary, so we can test the memory around the
-  // portion given to SbFileRead.
+  // Create a bigger buffer than necessary, so we can test the memory around
+  // the portion given to SbFileRead.
   const int kRealBufferLength = kBufferLength * 2;
   char real_buffer[kRealBufferLength] = {0};
   const int kBufferOffset = kBufferLength / 2;
@@ -120,7 +142,7 @@
   // Read off the end of the file.
   int position = SbFileSeek(file, kSbFileFromEnd, 0);
   EXPECT_EQ(kFileSize, position);
-  int bytes_read = SbFileRead(file, buffer, kBufferLength);
+  int bytes_read = TypeParam::Read(file, buffer, kBufferLength);
   EXPECT_EQ(0, bytes_read);
 
   for (int i = 0; i < kRealBufferLength; ++i) {
@@ -131,7 +153,7 @@
   EXPECT_TRUE(result);
 }
 
-TEST(SbFileReadTest, ReadZeroBytes) {
+TYPED_TEST(SbFileReadTest, ReadZeroBytes) {
   const int kFileSize = kBufferLength;
   ScopedRandomFile random_file(kFileSize);
   const std::string& filename = random_file.filename();
@@ -140,8 +162,8 @@
       SbFileOpen(filename.c_str(), kSbFileOpenOnly | kSbFileRead, NULL, NULL);
   ASSERT_TRUE(SbFileIsValid(file));
 
-  // Create a bigger buffer than necessary, so we can test the memory around the
-  // portion given to SbFileRead.
+  // Create a bigger buffer than necessary, so we can test the memory around
+  // the portion given to SbFileRead.
   const int kRealBufferLength = kBufferLength * 2;
   char real_buffer[kRealBufferLength] = {0};
   const int kBufferOffset = kBufferLength / 2;
@@ -154,7 +176,7 @@
 
   // Read zero bytes.
   for (int i = 0; i < 10; ++i) {
-    int bytes_read = SbFileRead(file, buffer, 0);
+    int bytes_read = TypeParam::Read(file, buffer, 0);
     EXPECT_EQ(0, bytes_read);
   }
 
@@ -166,7 +188,7 @@
   EXPECT_TRUE(result);
 }
 
-TEST(SbFileReadTest, ReadFromMiddle) {
+TYPED_TEST(SbFileReadTest, ReadFromMiddle) {
   const int kFileSize = kBufferLength * 2;
   ScopedRandomFile random_file(kFileSize);
   const std::string& filename = random_file.filename();
@@ -175,8 +197,8 @@
       SbFileOpen(filename.c_str(), kSbFileOpenOnly | kSbFileRead, NULL, NULL);
   ASSERT_TRUE(SbFileIsValid(file));
 
-  // Create a bigger buffer than necessary, so we can test the memory around the
-  // portion given to SbFileRead.
+  // Create a bigger buffer than necessary, so we can test the memory around
+  // the portion given to SbFileRead.
   const int kRealBufferLength = kBufferLength * 2;
   char real_buffer[kRealBufferLength] = {0};
   const int kBufferOffset = kBufferLength / 2;
@@ -190,7 +212,7 @@
   // Read from the middle of the file.
   int position = SbFileSeek(file, kSbFileFromBegin, kFileSize / 4);
   EXPECT_EQ(kFileSize / 4, position);
-  int bytes_read = SbFileRead(file, buffer, kBufferLength);
+  int bytes_read = TypeParam::Read(file, buffer, kBufferLength);
   EXPECT_GE(kBufferLength, bytes_read);
   EXPECT_LT(0, bytes_read);
 
diff --git a/src/starboard/nplb/file_write_test.cc b/src/starboard/nplb/file_write_test.cc
index 3b49a8d..e503a86 100644
--- a/src/starboard/nplb/file_write_test.cc
+++ b/src/starboard/nplb/file_write_test.cc
@@ -25,28 +25,50 @@
 namespace nplb {
 namespace {
 
+// Sets up an empty test fixture, required for typed tests.
+template <class SbFileWriteType>
+class SbFileWriteTest : public testing::Test {};
+
+class SbFileWriter {
+ public:
+  static int Write(SbFile file, char* data, int size) {
+    return SbFileWrite(file, data, size);
+  }
+};
+
+class SbFileWriterAll {
+ public:
+  static int Write(SbFile file, char* data, int size) {
+    return SbFileWriteAll(file, data, size);
+  }
+};
+
+typedef testing::Types<SbFileWriter, SbFileWriterAll> SbFileWriteTestTypes;
+
+TYPED_TEST_CASE(SbFileWriteTest, SbFileWriteTestTypes);
+
 const int kBufferLength = 16 * 1024;
 
-TEST(SbFileWriteTest, InvalidFileErrors) {
+TYPED_TEST(SbFileWriteTest, InvalidFileErrors) {
   char buffer[kBufferLength] = {0};
-  int result = SbFileWrite(kSbFileInvalid, buffer, kBufferLength);
+  int result = TypeParam::Write(kSbFileInvalid, buffer, kBufferLength);
   EXPECT_EQ(-1, result);
 }
 
-TEST(SbFileWriteTest, BasicWriting) {
-  // Choose a file size that is not an even multiple of the buffer size, but is
-  // over several times the size of the buffer.
+TYPED_TEST(SbFileWriteTest, BasicWriting) {
+  // Choose a file size that is not an even multiple of the buffer size, but
+  // is over several times the size of the buffer.
   const int kFileSize = kBufferLength * 16 / 3;
   ScopedRandomFile random_file(0, ScopedRandomFile::kDontCreate);
   const std::string& filename = random_file.filename();
 
-  SbFile file =
-      SbFileOpen(filename.c_str(),
-                 kSbFileCreateAlways | kSbFileWrite | kSbFileRead, NULL, NULL);
+  SbFile file = SbFileOpen(filename.c_str(),
+                           kSbFileCreateAlways | kSbFileWrite | kSbFileRead,
+                           NULL, NULL);
   ASSERT_TRUE(SbFileIsValid(file));
 
-  // Create a bigger buffer than necessary, so we can test the memory around the
-  // portion given to SbFileRead.
+  // Create a bigger buffer than necessary, so we can test the memory around
+  // the portion given to SbFileRead.
   char buffer[kBufferLength] = {0};
 
   // Initialize to some arbitrary pattern so we can verify it later.
@@ -63,7 +85,7 @@
 
     int remaining = kFileSize - total;
     int to_write = remaining < kBufferLength ? remaining : kBufferLength;
-    int bytes_written = SbFileWrite(file, buffer, to_write);
+    int bytes_written = TypeParam::Write(file, buffer, to_write);
 
     // Check that we didn't write more than the buffer size.
     EXPECT_GE(to_write, bytes_written);
@@ -85,7 +107,7 @@
   total = 0;
   int previous_total = 0;
   while (true) {
-    int bytes_read = SbFileRead(file, buffer, kBufferLength);
+    int bytes_read = SbFileReadAll(file, buffer, kBufferLength);
     if (bytes_read == 0) {
       break;
     }
@@ -111,7 +133,7 @@
   EXPECT_TRUE(result);
 }
 
-TEST(SbFileWriteTest, WriteZeroBytes) {
+TYPED_TEST(SbFileWriteTest, WriteZeroBytes) {
   ScopedRandomFile random_file(0, ScopedRandomFile::kDontCreate);
   const std::string& filename = random_file.filename();
 
@@ -123,7 +145,7 @@
 
   // Write zero bytes.
   for (int i = 0; i < 10; ++i) {
-    int bytes_written = SbFileWrite(file, buffer, 0);
+    int bytes_written = TypeParam::Write(file, buffer, 0);
     EXPECT_EQ(0, bytes_written);
   }
 
diff --git a/src/starboard/nplb/include_all.c b/src/starboard/nplb/include_all.c
index 95f0147..1ff7637 100644
--- a/src/starboard/nplb/include_all.c
+++ b/src/starboard/nplb/include_all.c
@@ -15,6 +15,7 @@
 // Includes all headers in a C context to make sure they compile as C files.
 
 #include "starboard/atomic.h"
+#include "starboard/audio_sink.h"
 #include "starboard/blitter.h"
 #include "starboard/byte_swap.h"
 #include "starboard/character.h"
@@ -26,6 +27,7 @@
 #include "starboard/event.h"
 #include "starboard/export.h"
 #include "starboard/file.h"
+#include "starboard/input.h"
 #include "starboard/key.h"
 #include "starboard/log.h"
 #include "starboard/media.h"
diff --git a/src/starboard/nplb/include_all_too.c b/src/starboard/nplb/include_all_too.c
new file mode 100644
index 0000000..f7d6644
--- /dev/null
+++ b/src/starboard/nplb/include_all_too.c
@@ -0,0 +1,19 @@
+// Copyright 2015 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// A second translation unit that includes all the headers to verify there are
+// no duplicate symbols.
+
+#include "starboard/nplb/include_all.c"
+
diff --git a/src/starboard/nplb/nplb.gyp b/src/starboard/nplb/nplb.gyp
index 5b66821..1938621 100644
--- a/src/starboard/nplb/nplb.gyp
+++ b/src/starboard/nplb/nplb.gyp
@@ -100,6 +100,7 @@
         'file_truncate_test.cc',
         'file_write_test.cc',
         'include_all.c',
+        'include_all_too.c',
         'log_flush_test.cc',
         'log_format_test.cc',
         'log_is_tty_test.cc',
diff --git a/src/starboard/raspi/shared/configuration_public.h b/src/starboard/raspi/shared/configuration_public.h
index b7ba3a6..03cb289 100644
--- a/src/starboard/raspi/shared/configuration_public.h
+++ b/src/starboard/raspi/shared/configuration_public.h
@@ -63,6 +63,14 @@
 #define SB_IS_WCHAR_T_SIGNED 1
 #endif
 
+// --- Architecture Configuration --------------------------------------------
+
+// On the current version of Raspbian, real time thread scheduling seems to be
+// broken in that higher priority threads do not always have priority over lower
+// priority threads.  It looks like the thread created last will always have the
+// highest priority.
+#define SB_HAS_THREAD_PRIORITY_SUPPORT 0
+
 // --- Attribute Configuration -----------------------------------------------
 
 // The platform's annotation for forcing a C function to be inlined.
@@ -227,6 +235,12 @@
 // textures. These textures typically originate from video decoders.
 #define SB_HAS_NV12_TEXTURE_SUPPORT 1
 
+// Whether the current platform should frequently flip their display buffer.
+// If this is not required (e.g. SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER is set
+// to 0), then optimizations where the display buffer is not flipped if the
+// scene hasn't changed are enabled.
+#define SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER 0
+
 // --- Media Configuration ---------------------------------------------------
 
 // Specifies whether this platform has support for a possibly-decrypting
@@ -283,7 +297,7 @@
 //    macro should be set to a value that is greater than the sum of the above
 //    source buffer stream memory limits with extra room to take account of
 //    fragmentations and memory used by demuxers.
-#define SB_MEDIA_MAIN_BUFFER_BUDGET (128U * 1024U * 1024U)
+#define SB_MEDIA_MAIN_BUFFER_BUDGET (32U * 1024U * 1024U)
 
 // Specifies how much GPU memory to reserve up-front for media source buffers.
 // This should only be set to non-zero on system with limited CPU memory and
diff --git a/src/starboard/shared/ffmpeg/ffmpeg_video_decoder.cc b/src/starboard/shared/ffmpeg/ffmpeg_video_decoder.cc
index 9010e37..eafff4c 100644
--- a/src/starboard/shared/ffmpeg/ffmpeg_video_decoder.cc
+++ b/src/starboard/shared/ffmpeg/ffmpeg_video_decoder.cc
@@ -148,7 +148,9 @@
     SbThreadJoin(decoder_thread_, NULL);
   }
 
-  avcodec_flush_buffers(codec_context_);
+  if (codec_context_ != NULL) {
+    avcodec_flush_buffers(codec_context_);
+  }
 
   decoder_thread_ = kSbThreadInvalid;
   stream_ended_ = false;
diff --git a/src/starboard/shared/gcc/atomic_gcc_public.h b/src/starboard/shared/gcc/atomic_gcc_public.h
index 655d2be..9c7afc6 100644
--- a/src/starboard/shared/gcc/atomic_gcc_public.h
+++ b/src/starboard/shared/gcc/atomic_gcc_public.h
@@ -24,7 +24,7 @@
 extern "C" {
 #endif
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicNoBarrier_CompareAndSwap(volatile SbAtomic32* ptr,
                                  SbAtomic32 old_value,
                                  SbAtomic32 new_value) {
@@ -37,7 +37,7 @@
   return prev_value;
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicNoBarrier_Exchange(volatile SbAtomic32* ptr, SbAtomic32 new_value) {
   SbAtomic32 old_value;
   do {
@@ -46,13 +46,14 @@
   return old_value;
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicNoBarrier_Increment(volatile SbAtomic32* ptr, SbAtomic32 increment) {
   return SbAtomicBarrier_Increment(ptr, increment);
 }
 
-SB_C_FORCE_INLINE SbAtomic32 SbAtomicBarrier_Increment(volatile SbAtomic32* ptr,
-                                                       SbAtomic32 increment) {
+static SB_C_FORCE_INLINE SbAtomic32
+SbAtomicBarrier_Increment(volatile SbAtomic32* ptr,
+                          SbAtomic32 increment) {
   for (;;) {
     // Atomic exchange the old value with an incremented one.
     SbAtomic32 old_value = *ptr;
@@ -65,7 +66,7 @@
   }
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicAcquire_CompareAndSwap(volatile SbAtomic32* ptr,
                                SbAtomic32 old_value,
                                SbAtomic32 new_value) {
@@ -74,47 +75,47 @@
   return SbAtomicNoBarrier_CompareAndSwap(ptr, old_value, new_value);
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicRelease_CompareAndSwap(volatile SbAtomic32* ptr,
                                SbAtomic32 old_value,
                                SbAtomic32 new_value) {
   return SbAtomicNoBarrier_CompareAndSwap(ptr, old_value, new_value);
 }
 
-SB_C_FORCE_INLINE void SbAtomicMemoryBarrier() {
+static SB_C_FORCE_INLINE void SbAtomicMemoryBarrier() {
   __sync_synchronize();
 }
 
-SB_C_FORCE_INLINE void SbAtomicNoBarrier_Store(volatile SbAtomic32* ptr,
-                                               SbAtomic32 value) {
+static SB_C_FORCE_INLINE void SbAtomicNoBarrier_Store(volatile SbAtomic32* ptr,
+                                                      SbAtomic32 value) {
   *ptr = value;
 }
 
-SB_C_FORCE_INLINE void SbAtomicAcquire_Store(volatile SbAtomic32* ptr,
-                                             SbAtomic32 value) {
+static SB_C_FORCE_INLINE void SbAtomicAcquire_Store(volatile SbAtomic32* ptr,
+                                                    SbAtomic32 value) {
   *ptr = value;
   SbAtomicMemoryBarrier();
 }
 
-SB_C_FORCE_INLINE void SbAtomicRelease_Store(volatile SbAtomic32* ptr,
-                                             SbAtomic32 value) {
+static SB_C_FORCE_INLINE void SbAtomicRelease_Store(volatile SbAtomic32* ptr,
+                                                    SbAtomic32 value) {
   SbAtomicMemoryBarrier();
   *ptr = value;
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicNoBarrier_Load(volatile const SbAtomic32* ptr) {
   return *ptr;
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicAcquire_Load(volatile const SbAtomic32* ptr) {
   SbAtomic32 value = *ptr;
   SbAtomicMemoryBarrier();
   return value;
 }
 
-SB_C_FORCE_INLINE SbAtomic32
+static SB_C_FORCE_INLINE SbAtomic32
 SbAtomicRelease_Load(volatile const SbAtomic32* ptr) {
   SbAtomicMemoryBarrier();
   return *ptr;
@@ -122,7 +123,7 @@
 
 // 64-bit atomic operations (only available on 64-bit processors).
 #if SB_HAS(64_BIT_ATOMICS)
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicNoBarrier_CompareAndSwap64(volatile SbAtomic64* ptr,
                                    SbAtomic64 old_value,
                                    SbAtomic64 new_value) {
@@ -135,7 +136,7 @@
   return prev_value;
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicNoBarrier_Exchange64(volatile SbAtomic64* ptr, SbAtomic64 new_value) {
   SbAtomic64 old_value;
   do {
@@ -144,12 +145,12 @@
   return old_value;
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicNoBarrier_Increment64(volatile SbAtomic64* ptr, SbAtomic64 increment) {
   return SbAtomicBarrier_Increment64(ptr, increment);
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicBarrier_Increment64(volatile SbAtomic64* ptr, SbAtomic64 increment) {
   for (;;) {
     // Atomic exchange the old value with an incremented one.
@@ -163,50 +164,51 @@
   }
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicAcquire_CompareAndSwap64(volatile SbAtomic64* ptr,
                                  SbAtomic64 old_value,
                                  SbAtomic64 new_value) {
   return SbAtomicNoBarrier_CompareAndSwap64(ptr, old_value, new_value);
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicRelease_CompareAndSwap64(volatile SbAtomic64* ptr,
                                  SbAtomic64 old_value,
                                  SbAtomic64 new_value) {
   return SbAtomicNoBarrier_CompareAndSwap64(ptr, old_value, new_value);
 }
 
-SB_C_FORCE_INLINE void SbAtomicNoBarrier_Store64(volatile SbAtomic64* ptr,
-                                                 SbAtomic64 value) {
+static SB_C_FORCE_INLINE void
+SbAtomicNoBarrier_Store64(volatile SbAtomic64* ptr,
+                          SbAtomic64 value) {
   *ptr = value;
 }
 
-SB_C_FORCE_INLINE void SbAtomicAcquire_Store64(volatile SbAtomic64* ptr,
-                                               SbAtomic64 value) {
+static SB_C_FORCE_INLINE void SbAtomicAcquire_Store64(volatile SbAtomic64* ptr,
+                                                      SbAtomic64 value) {
   *ptr = value;
   SbAtomicMemoryBarrier();
 }
 
-SB_C_FORCE_INLINE void SbAtomicRelease_Store64(volatile SbAtomic64* ptr,
-                                               SbAtomic64 value) {
+static SB_C_FORCE_INLINE void SbAtomicRelease_Store64(volatile SbAtomic64* ptr,
+                                                      SbAtomic64 value) {
   SbAtomicMemoryBarrier();
   *ptr = value;
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicNoBarrier_Load64(volatile const SbAtomic64* ptr) {
   return *ptr;
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicAcquire_Load64(volatile const SbAtomic64* ptr) {
   SbAtomic64 value = *ptr;
   SbAtomicMemoryBarrier();
   return value;
 }
 
-SB_C_FORCE_INLINE SbAtomic64
+static SB_C_FORCE_INLINE SbAtomic64
 SbAtomicRelease_Load64(volatile const SbAtomic64* ptr) {
   SbAtomicMemoryBarrier();
   return *ptr;
diff --git a/src/starboard/shared/pthread/thread_create.cc b/src/starboard/shared/pthread/thread_create.cc
index 70a1fdb..1971d0d 100644
--- a/src/starboard/shared/pthread/thread_create.cc
+++ b/src/starboard/shared/pthread/thread_create.cc
@@ -1,4 +1,4 @@
-// Copyright 2015 Google Inc. All Rights Reserved.
+// Copyright 2016 Google Inc. All Rights Reserved.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -16,17 +16,50 @@
 
 #include <pthread.h>
 #include <sched.h>
+#include <unistd.h>
 
+#include "starboard/log.h"
 #include "starboard/shared/pthread/is_success.h"
 #include "starboard/string.h"
 
+#if SB_HAS(THREAD_PRIORITY_SUPPORT)
+#if !defined(_POSIX_PRIORITY_SCHEDULING)
+#error "The _POSIX_PRIORITY_SCHEDULING define indicates that a pthreads \
+system supports thread priorities, however this define is not \
+defined on this system, contradicting the Starboard configuration \
+indicating that priority scheduling is supported."
+#endif  // !defined(_POSIX_PRIORITY_SCHEDULING)
+#endif  // SB_HAS(THREAD_PRIORITY_SUPPORT)
+
 namespace {
 
+int SbThreadPriorityToPthread(SbThreadPriority priority) {
+  switch (priority) {
+    case kSbThreadPriorityLowest:
+      SB_NOTREACHED() << "Lowest priority threads should use SCHED_OTHER.";
+      return 0;
+      break;
+    case kSbThreadPriorityLow: return 2;
+    case kSbThreadNoPriority:
+    // Fall through on purpose to default to kThreadPriority_Normal.
+    case kSbThreadPriorityNormal: return 3;
+    case kSbThreadPriorityHigh: return 4;
+    case kSbThreadPriorityHighest: return 5;
+    case kSbThreadPriorityRealTime: return 6;
+    default:
+      SB_NOTREACHED();
+      return 0;
+  }
+}
+
 struct ThreadParams {
   SbThreadAffinity affinity;
   SbThreadEntryPoint entry_point;
   char name[128];
   void* context;
+#if SB_HAS(THREAD_PRIORITY_SUPPORT)
+  SbThreadPriority priority;
+#endif  // #if SB_HAS(THREAD_PRIORITY_SUPPORT)
 };
 
 void* ThreadFunc(void* context) {
@@ -38,6 +71,21 @@
     SbThreadSetName(thread_params->name);
   }
 
+#if SB_HAS(THREAD_PRIORITY_SUPPORT)
+  // Use Linux' regular scheduler for lowest priority threads.  Real-time
+  // priority threads (of any priority) will always have priority over
+  // non-real-time threads (e.g. threads whose scheduler is setup to be
+  // SCHED_OTHER, the default scheduler).
+  if (thread_params->priority != kSbThreadPriorityLowest) {
+    // Note that use of sched_setscheduler() has been found to be more reliably
+    // supported than pthread_setschedparam(), so we are using that.
+    struct sched_param thread_sched_param;
+    thread_sched_param.sched_priority =
+        SbThreadPriorityToPthread(thread_params->priority);
+    sched_setscheduler(0, SCHED_FIFO, &thread_sched_param);
+  }
+#endif  // #if SB_HAS(THREAD_PRIORITY_SUPPORT)
+
   delete thread_params;
 
   if (SbThreadIsValidAffinity(affinity)) {
@@ -84,10 +132,6 @@
     pthread_attr_setstacksize(&attributes, stack_size);
   }
 
-  // Here is where we would use priority, but it doesn't really work on Linux
-  // without using a realtime scheduling policy, according to this article:
-  // http://stackoverflow.com/questions/3649281/how-to-increase-thread-priority-in-pthreads/3663250
-
   ThreadParams* params = new ThreadParams();
   params->affinity = affinity;
   params->entry_point = entry_point;
@@ -99,6 +143,10 @@
     params->name[0] = '\0';
   }
 
+#if SB_HAS(THREAD_PRIORITY_SUPPORT)
+  params->priority = priority;
+#endif  // #if SB_HAS(THREAD_PRIORITY_SUPPORT)
+
   SbThread thread = kSbThreadInvalid;
   result = pthread_create(&thread, &attributes, ThreadFunc, params);
 
diff --git a/src/starboard/shared/starboard/player/player_internal.cc b/src/starboard/shared/starboard/player/player_internal.cc
index 2c7c9f6..0443b2f 100644
--- a/src/starboard/shared/starboard/player/player_internal.cc
+++ b/src/starboard/shared/starboard/player/player_internal.cc
@@ -26,7 +26,8 @@
   SbTimeMonotonic elapsed = SbTimeGetMonotonicNow() - media_pts_update_time;
   return media_pts + elapsed * kSbMediaTimeSecond / kSbTimeSecond;
 }
-}
+
+}  // namespace
 
 SbPlayerPrivate::SbPlayerPrivate(
     SbWindow window,
diff --git a/src/starboard/shared/starboard/queue_application.cc b/src/starboard/shared/starboard/queue_application.cc
index 5a14ff2..6ef1cda 100644
--- a/src/starboard/shared/starboard/queue_application.cc
+++ b/src/starboard/shared/starboard/queue_application.cc
@@ -100,6 +100,15 @@
 
 QueueApplication::TimedEventQueue::TimedEventQueue() : set_(&IsLess) {}
 
+QueueApplication::TimedEventQueue::~TimedEventQueue() {
+  ScopedLock lock(mutex_);
+  for (TimedEventMap::iterator i = map_.begin(); i != map_.end(); ++i) {
+    delete i->second;
+  }
+  map_.clear();
+  set_.clear();
+}
+
 bool QueueApplication::TimedEventQueue::Inject(TimedEvent* timed_event) {
   ScopedLock lock(mutex_);
   SbTimeMonotonic oldTime = GetTimeLocked();
diff --git a/src/starboard/shared/starboard/queue_application.h b/src/starboard/shared/starboard/queue_application.h
index b48d8a7..1278dd0 100644
--- a/src/starboard/shared/starboard/queue_application.h
+++ b/src/starboard/shared/starboard/queue_application.h
@@ -85,6 +85,7 @@
   class TimedEventQueue {
    public:
     TimedEventQueue();
+    ~TimedEventQueue();
 
     // Returns whether the new event pushed up the next wakeup time.
     bool Inject(TimedEvent* timed_event);
diff --git a/src/starboard/shared/starboard/shared_main_adapter.cc b/src/starboard/shared/starboard/shared_main_adapter.cc
new file mode 100644
index 0000000..2a6a911
--- /dev/null
+++ b/src/starboard/shared/starboard/shared_main_adapter.cc
@@ -0,0 +1,31 @@
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Imports and calls into StarboardMain() from main(). Can be used to
+// link into a shared Starboard executable to turn it into a traditional
+// executable.
+
+#include "starboard/configuration.h"
+
+#undef main
+
+extern "C" {
+
+SB_IMPORT_PLATFORM int StarboardMain(int argc, char** argv);
+
+int main(int argc, char** argv) {
+  return StarboardMain(argc, argv);
+}
+
+}  // extern "C"
diff --git a/src/starboard/shared/stub/system_get_number_of_processors.cc b/src/starboard/shared/stub/system_get_number_of_processors.cc
index b0f3a8c..a02ba16 100644
--- a/src/starboard/shared/stub/system_get_number_of_processors.cc
+++ b/src/starboard/shared/stub/system_get_number_of_processors.cc
@@ -15,5 +15,5 @@
 #include "starboard/system.h"
 
 int SbSystemGetNumberOfProcessors() {
-  return 0;
+  return 1;
 }
diff --git a/src/starboard/socket_waiter.h b/src/starboard/socket_waiter.h
index 894f74e..c964d6f 100644
--- a/src/starboard/socket_waiter.h
+++ b/src/starboard/socket_waiter.h
@@ -79,7 +79,7 @@
                                        int ready_interests);
 
 // Well-defined value for an invalid socket watcher handle.
-const SbSocketWaiter kSbSocketWaiterInvalid = (SbSocketWaiter)NULL;
+#define kSbSocketWaiterInvalid ((SbSocketWaiter)NULL)
 
 // Returns whether the given socket handle is valid.
 static SB_C_INLINE bool SbSocketWaiterIsValid(SbSocketWaiter watcher) {
diff --git a/src/starboard/starboard.gyp b/src/starboard/starboard.gyp
index 639b3dc..086ee4a 100644
--- a/src/starboard/starboard.gyp
+++ b/src/starboard/starboard.gyp
@@ -23,15 +23,31 @@
       'type': 'none',
       'sources': [
         'atomic.h',
+        'audio_sink.h',
+        'blitter.h',
+        'byte_swap.h',
+        'character.h',
         'condition_variable.h',
         'configuration.h',
         'directory.h',
         'double.h',
+        'drm.h',
+        'event.h',
         'export.h',
         'file.h',
+        'input.h',
+        'key.h',
         'log.h',
+        'media.h',
         'memory.h',
         'mutex.h',
+        'once.h',
+        'player.h',
+        'queue.h',
+        'socket.h',
+        'socket_waiter.h',
+        'spin_lock.h',
+        'storage.h',
         'string.h',
         'system.h',
         'thread.h',
@@ -39,11 +55,13 @@
         'time.h',
         'time_zone.h',
         'types.h',
+        'user.h',
+        'window.h',
       ],
       'conditions': [
         ['starboard_path == ""', {
           # TODO: Make starboard_path required. This legacy condition is only
-          # here to support starboard-linux while it still exists.
+          # here to support semi-starboard platforms while they still exist.
           'dependencies': [
             '<(DEPTH)/starboard/<(target_arch)/starboard_platform.gyp:starboard_platform',
           ],
@@ -58,6 +76,17 @@
             '<(DEPTH)/<(starboard_path)/starboard_platform.gyp:starboard_platform',
           ],
         }],
+        ['final_executable_type=="shared_library"', {
+          'all_dependent_settings': {
+            'target_conditions': [
+              ['_type=="executable" and _toolset=="target"', {
+                'sources': [
+                  '<(DEPTH)/starboard/shared/starboard/shared_main_adapter.cc',
+                ],
+              }],
+            ],
+          },
+        }],
       ],
     },
   ],
diff --git a/src/starboard/stub/configuration_public.h b/src/starboard/stub/configuration_public.h
index af9c671..5af547f 100644
--- a/src/starboard/stub/configuration_public.h
+++ b/src/starboard/stub/configuration_public.h
@@ -85,6 +85,9 @@
 // Whether the current platform is expected to have exactly 6 cores.
 #define SB_HAS_6_CORES 0
 
+// Whether the current platform supports thread priorities.
+#define SB_HAS_THREAD_PRIORITY_SUPPORT 0
+
 // Whether the current platform's thread scheduler will automatically balance
 // threads between cores, as opposed to systems where threads will only ever run
 // on the specifically pinned core.
@@ -300,6 +303,12 @@
 // textures. These textures typically originate from video decoders.
 #define SB_HAS_NV12_TEXTURE_SUPPORT 0
 
+// Whether the current platform should frequently flip their display buffer.
+// If this is not required (e.g. SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER is set
+// to 0), then optimizations where the display buffer is not flipped if the
+// scene hasn't changed are enabled.
+#define SB_MUST_FREQUENTLY_FLIP_DISPLAY_BUFFER 0
+
 // --- Media Configuration ---------------------------------------------------
 
 // Specifies whether this platform has support for a possibly-decrypting
@@ -356,7 +365,7 @@
 //    macro should be set to a value that is greater than the sum of the above
 //    source buffer stream memory limits with extra room to take account of
 //    fragmentations and memory used by demuxers.
-#define SB_MEDIA_MAIN_BUFFER_BUDGET (128U * 1024U * 1024U)
+#define SB_MEDIA_MAIN_BUFFER_BUDGET (32U * 1024U * 1024U)
 
 // Specifies how much GPU memory to reserve up-front for media source buffers.
 // This should only be set to non-zero on system with limited CPU memory and
diff --git a/src/starboard/window.h b/src/starboard/window.h
index c3e25dd..44bb3e1 100644
--- a/src/starboard/window.h
+++ b/src/starboard/window.h
@@ -48,7 +48,7 @@
   //
   // Values greater than 1.0f mean that the video resolution is higher (denser,
   // larger) than the graphics resolution. This is a common case as devices
-  // often have less video decoding capabilities than graphics rendering
+  // often have more video decoding capabilities than graphics rendering
   // capabilities (or memory, etc...).
   //
   // Values less than 1.0f mean that the maximum video resolution is smaller
@@ -74,7 +74,7 @@
 } SbWindowOptions;
 
 // Well-defined value for an invalid window handle.
-const SbWindow kSbWindowInvalid = (SbWindow)NULL;
+#define kSbWindowInvalid ((SbWindow)NULL)
 
 // Returns whether the given window handle is valid.
 static SB_C_INLINE bool SbWindowIsValid(SbWindow window) {
diff --git a/src/third_party/glm/CMakeLists.txt b/src/third_party/glm/CMakeLists.txt
new file mode 100644
index 0000000..bdb9f43
--- /dev/null
+++ b/src/third_party/glm/CMakeLists.txt
@@ -0,0 +1,227 @@
+cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
+cmake_policy(VERSION 2.6)
+if (NOT CMAKE_VERSION VERSION_LESS "3.1")
+	cmake_policy(SET CMP0054 NEW)
+endif()
+
+project(glm)
+set(GLM_VERSION "0.9.9")
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
+
+enable_testing()
+
+add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+
+option(GLM_STATIC_LIBRARY_ENABLE "GLM static library" OFF)
+if(GLM_STATIC_LIBRARY_ENABLE)
+	message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_STATIC_LIBRARY_ENABLE with ON to build an optional static library")
+endif()
+
+option(GLM_DYNAMIC_LIBRARY_ENABLE "GLM static library" OFF)
+if(GLM_DYNAMIC_LIBRARY_ENABLE)
+	message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_DYNAMIC_LIBRARY_ENABLE with ON to build an optional dynamic library")
+endif()
+
+option(GLM_TEST_ENABLE "GLM test" OFF)
+if(NOT GLM_TEST_ENABLE)
+	message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_TEST_ENABLE with ON to build and run the test bench")
+endif()
+
+option(GLM_TEST_ENABLE_FAST_MATH "Enable fast math optimizations" OFF)
+
+if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") AND UNIX))
+	option(GLM_TEST_ENABLE_CXX_98 "Enable C++ 98" OFF)
+	option(GLM_TEST_ENABLE_CXX_0X "Enable C++ 0x" OFF)
+	option(GLM_TEST_ENABLE_CXX_11 "Enable C++ 11" OFF)
+	option(GLM_TEST_ENABLE_CXX_1Y "Enable C++ 1y" OFF)
+	option(GLM_TEST_ENABLE_CXX_14 "Enable C++ 14" OFF)
+	option(GLM_TEST_ENABLE_CXX_1Z "Enable C++ 1z" OFF)
+
+	if(GLM_TEST_ENABLE_CXX_1Z)
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++1z")
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+		set(CMAKE_CXX_FLAGS "-std=c++1Z")
+	elseif(GLM_TEST_ENABLE_CXX_14)
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++14")
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+		set(CMAKE_CXX_FLAGS "-std=c++14")
+	elseif(GLM_TEST_ENABLE_CXX_1Y)
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++1y")
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+		set(CMAKE_CXX_FLAGS "-std=c++1y")
+	elseif(GLM_TEST_ENABLE_CXX_11)
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+		set(CMAKE_CXX_FLAGS "-std=c++11")
+	elseif(GLM_TEST_ENABLE_CXX_0X)
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+		set(CMAKE_CXX_FLAGS "-std=c++0x")
+	elseif(GLM_TEST_ENABLE_CXX_98)
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++98")
+		set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
+		set(CMAKE_CXX_FLAGS "-std=c++98")
+		if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+			add_definitions(-Wno-long-long)
+		endif()
+	endif()
+endif()
+
+option(GLM_TEST_ENABLE_LANG_EXTENSIONS "Enable language extensions" OFF)
+
+if(GLM_TEST_ENABLE_LANG_EXTENSIONS)
+	if(GLM_TEST_ENABLE_FAST_MATH)
+		if(CMAKE_COMPILER_IS_GNUCXX)
+			add_definitions(-ffast-math)
+		endif()
+
+		if(MSVC)
+			add_definitions(/fp:fast)
+		endif()
+	elseif(NOT GLM_TEST_ENABLE_FAST_MATH)
+		if(MSVC)
+			add_definitions(/fp:precise)
+		endif()
+	endif()
+else()
+	if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") OR (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") AND WIN32))
+		add_definitions(/Za)
+	elseif(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU"))
+		add_definitions(-pedantic)
+	endif()
+endif()
+
+option(GLM_TEST_ENABLE_SIMD_SSE2 "Enable SSE2 optimizations" OFF)
+option(GLM_TEST_ENABLE_SIMD_SSE3 "Enable SSE3 optimizations" OFF)
+option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
+option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
+option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
+
+if(GLM_TEST_FORCE_PURE)
+	add_definitions(-DGLM_FORCE_PURE)
+
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-mfpmath=387)
+	endif()
+elseif(GLM_TEST_ENABLE_SIMD_AVX2)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-mavx2)
+	elseif(GLM_USE_INTEL)
+		add_definitions(/QxAVX2)
+	elseif(MSVC)
+		add_definitions(/arch:AVX2)
+	endif()
+elseif(GLM_TEST_ENABLE_SIMD_AVX)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-mavx)
+	elseif(GLM_USE_INTEL)
+		add_definitions(/QxAVX)
+	elseif(MSVC)
+		add_definitions(/arch:AVX)
+	endif()
+elseif(GLM_TEST_ENABLE_SIMD_SSE3)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-msse3)
+	elseif(GLM_USE_INTEL)
+		add_definitions(/QxSSE3)
+	elseif(MSVC AND NOT CMAKE_CL_64)
+		add_definitions(/arch:SSE2) # VC doesn't support /arch:SSE3	
+	endif()
+elseif(GLM_TEST_ENABLE_SIMD_SSE2)
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		add_definitions(-msse2)
+	elseif(GLM_USE_INTEL)
+		add_definitions(/QxSSE2)
+	elseif(MSVC AND NOT CMAKE_CL_64)
+		add_definitions(/arch:SSE2)
+	endif()
+endif()
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+	#add_definitions(-S)
+	#add_definitions(-s)
+	add_definitions(-O2)
+
+	#add_definitions(-fprofile-arcs -ftest-coverage) gcov
+	#ctest_enable_coverage()
+endif()
+
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+	add_definitions(/FAs)
+endif()
+
+include_directories("${PROJECT_SOURCE_DIR}")
+include_directories("${PROJECT_SOURCE_DIR}/test/external")
+
+add_subdirectory(glm)
+add_subdirectory(test)
+
+set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
+install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+write_basic_package_version_file(
+    "${CMAKE_CURRENT_BINARY_DIR}/glmVersion.cmake"
+    VERSION ${GLM_VERSION}
+    COMPATIBILITY AnyNewerVersion
+)
+
+# build tree package config
+configure_file(
+    cmake/glmBuildConfig.cmake.in
+    glmConfig.cmake
+    @ONLY
+)
+
+# install tree package config
+configure_package_config_file(
+    cmake/glmConfig.cmake.in
+    ${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake
+    INSTALL_DESTINATION ${GLM_INSTALL_CONFIGDIR}
+    PATH_VARS CMAKE_INSTALL_INCLUDEDIR
+    NO_CHECK_REQUIRED_COMPONENTS_MACRO
+)
+
+install(
+    FILES 
+        "${CMAKE_CURRENT_BINARY_DIR}/${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake"
+        "${CMAKE_CURRENT_BINARY_DIR}/glmVersion.cmake"
+    DESTINATION ${GLM_INSTALL_CONFIGDIR}
+)
+
+if (NOT CMAKE_VERSION VERSION_LESS "3.0")
+    add_library(glm INTERFACE)
+    target_include_directories(glm INTERFACE
+        $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+    )
+    install(TARGETS glm EXPORT glmTargets)
+
+    export(
+        EXPORT glmTargets
+        FILE "${CMAKE_CURRENT_BINARY_DIR}/glmTargets.cmake"
+    )
+    
+    install(
+        EXPORT glmTargets FILE glmTargets.cmake
+        DESTINATION ${GLM_INSTALL_CONFIGDIR}
+    )
+endif()
+
+# build pkg-config file
+configure_file(
+    "./cmake/glm.pc.in"
+    "glm.pc"
+    @ONLY
+)
+
+# install pkg-config file
+install(
+    FILES "${CMAKE_CURRENT_BINARY_DIR}/glm.pc"
+    DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
+)
+
+export(PACKAGE glm)
diff --git a/src/third_party/glm/cmake/CMakePackageConfigHelpers.cmake b/src/third_party/glm/cmake/CMakePackageConfigHelpers.cmake
new file mode 100644
index 0000000..d5bf4a2
--- /dev/null
+++ b/src/third_party/glm/cmake/CMakePackageConfigHelpers.cmake
@@ -0,0 +1,227 @@
+# - CONFIGURE_PACKAGE_CONFIG_FILE(), WRITE_BASIC_PACKAGE_VERSION_FILE()
+#
+#    CONFIGURE_PACKAGE_CONFIG_FILE(<input> <output> INSTALL_DESTINATION <path>
+#                                                   [PATH_VARS <var1> <var2> ... <varN>]
+#                                                   [NO_SET_AND_CHECK_MACRO]
+#                                                   [NO_CHECK_REQUIRED_COMPONENTS_MACRO])
+#
+# CONFIGURE_PACKAGE_CONFIG_FILE() should be used instead of the plain
+# CONFIGURE_FILE() command when creating the <Name>Config.cmake or <Name>-config.cmake
+# file for installing a project or library. It helps making the resulting package
+# relocatable by avoiding hardcoded paths in the installed Config.cmake file.
+#
+# In a FooConfig.cmake file there may be code like this to make the
+# install destinations know to the using project:
+#   set(FOO_INCLUDE_DIR   "@CMAKE_INSTALL_FULL_INCLUDEDIR@" )
+#   set(FOO_DATA_DIR   "@CMAKE_INSTALL_PREFIX@/@RELATIVE_DATA_INSTALL_DIR@" )
+#   set(FOO_ICONS_DIR   "@CMAKE_INSTALL_PREFIX@/share/icons" )
+#   ...logic to determine installedPrefix from the own location...
+#   set(FOO_CONFIG_DIR  "${installedPrefix}/@CONFIG_INSTALL_DIR@" )
+# All 4 options shown above are not sufficient, since the first 3 hardcode
+# the absolute directory locations, and the 4th case works only if the logic
+# to determine the installedPrefix is correct, and if CONFIG_INSTALL_DIR contains
+# a relative path, which in general cannot be guaranteed.
+# This has the effect that the resulting FooConfig.cmake file would work poorly
+# under Windows and OSX, where users are used to choose the install location
+# of a binary package at install time, independent from how CMAKE_INSTALL_PREFIX
+# was set at build/cmake time.
+#
+# Using CONFIGURE_PACKAGE_CONFIG_FILE() helps. If used correctly, it makes the
+# resulting FooConfig.cmake file relocatable.
+# Usage:
+#   1. write a FooConfig.cmake.in file as you are used to
+#   2. insert a line containing only the string "@PACKAGE_INIT@"
+#   3. instead of SET(FOO_DIR "@SOME_INSTALL_DIR@"), use SET(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")
+#      (this must be after the @PACKAGE_INIT@ line)
+#   4. instead of using the normal CONFIGURE_FILE(), use CONFIGURE_PACKAGE_CONFIG_FILE()
+#
+# The <input> and <output> arguments are the input and output file, the same way
+# as in CONFIGURE_FILE().
+#
+# The <path> given to INSTALL_DESTINATION must be the destination where the FooConfig.cmake
+# file will be installed to. This can either be a relative or absolute path, both work.
+#
+# The variables <var1> to <varN> given as PATH_VARS are the variables which contain
+# install destinations. For each of them the macro will create a helper variable
+# PACKAGE_<var...>. These helper variables must be used
+# in the FooConfig.cmake.in file for setting the installed location. They are calculated
+# by CONFIGURE_PACKAGE_CONFIG_FILE() so that they are always relative to the
+# installed location of the package. This works both for relative and also for absolute locations.
+# For absolute locations it works only if the absolute location is a subdirectory
+# of CMAKE_INSTALL_PREFIX.
+#
+# By default configure_package_config_file() also generates two helper macros,
+# set_and_check() and check_required_components() into the FooConfig.cmake file.
+#
+# set_and_check() should be used instead of the normal set()
+# command for setting directories and file locations. Additionally to setting the
+# variable it also checks that the referenced file or directory actually exists
+# and fails with a FATAL_ERROR otherwise. This makes sure that the created
+# FooConfig.cmake file does not contain wrong references.
+# When using the NO_SET_AND_CHECK_MACRO, this macro is not generated into the
+# FooConfig.cmake file.
+#
+# check_required_components(<package_name>) should be called at the end of the
+# FooConfig.cmake file if the package supports components.
+# This macro checks whether all requested, non-optional components have been found,
+# and if this is not the case, sets the Foo_FOUND variable to FALSE, so that the package
+# is considered to be not found.
+# It does that by testing the Foo_<Component>_FOUND variables for all requested
+# required components.
+# When using the NO_CHECK_REQUIRED_COMPONENTS option, this macro is not generated
+# into the FooConfig.cmake file.
+#
+# For an example see below the documentation for WRITE_BASIC_PACKAGE_VERSION_FILE().
+#
+#
+#  WRITE_BASIC_PACKAGE_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion|ExactVersion) )
+#
+# Writes a file for use as <package>ConfigVersion.cmake file to <filename>.
+# See the documentation of FIND_PACKAGE() for details on this.
+#    filename is the output filename, it should be in the build tree.
+#    major.minor.patch is the version number of the project to be installed
+# The COMPATIBILITY mode AnyNewerVersion means that the installed package version
+# will be considered compatible if it is newer or exactly the same as the requested version.
+# This mode should be used for packages which are fully backward compatible,
+# also across major versions.
+# If SameMajorVersion is used instead, then the behaviour differs from AnyNewerVersion
+# in that the major version number must be the same as requested, e.g. version 2.0 will
+# not be considered compatible if 1.0 is requested.
+# This mode should be used for packages which guarantee backward compatibility within the
+# same major version.
+# If ExactVersion is used, then the package is only considered compatible if the requested
+# version matches exactly its own version number (not considering the tweak version).
+# For example, version 1.2.3 of a package is only considered compatible to requested version 1.2.3.
+# This mode is for packages without compatibility guarantees.
+# If your project has more elaborated version matching rules, you will need to write your
+# own custom ConfigVersion.cmake file instead of using this macro.
+#
+# Internally, this macro executes configure_file() to create the resulting
+# version file. Depending on the COMPATIBILITY, either the file
+# BasicConfigVersion-SameMajorVersion.cmake.in or BasicConfigVersion-AnyNewerVersion.cmake.in
+# is used. Please note that these two files are internal to CMake and you should
+# not call configure_file() on them yourself, but they can be used as starting
+# point to create more sophisticted custom ConfigVersion.cmake files.
+#
+#
+# Example using both configure_package_config_file() and write_basic_package_version_file():
+# CMakeLists.txt:
+#   set(INCLUDE_INSTALL_DIR include/ ... CACHE )
+#   set(LIB_INSTALL_DIR lib/ ... CACHE )
+#   set(SYSCONFIG_INSTALL_DIR etc/foo/ ... CACHE )
+#   ...
+#   include(CMakePackageConfigHelpers)
+#   configure_package_config_file(FooConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake
+#                                 INSTALL_DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake
+#                                 PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR)
+#   write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
+#                                    VERSION 1.2.3
+#                                    COMPATIBILITY SameMajorVersion )
+#   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FooConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/FooConfigVersion.cmake
+#           DESTINATION ${LIB_INSTALL_DIR}/Foo/cmake )
+#
+# With a FooConfig.cmake.in:
+#   set(FOO_VERSION x.y.z)
+#   ...
+#   @PACKAGE_INIT@
+#   ...
+#   set_and_check(FOO_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
+#   set_and_check(FOO_SYSCONFIG_DIR "@PACKAGE_SYSCONFIG_INSTALL_DIR@")
+#
+#   check_required_components(Foo)
+
+
+#=============================================================================
+# Copyright 2012 Alexander Neundorf <neundorf@kde.org>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+include(CMakeParseArguments)
+
+include(WriteBasicConfigVersionFile)
+
+macro(WRITE_BASIC_PACKAGE_VERSION_FILE)
+  write_basic_config_version_file(${ARGN})
+endmacro()
+
+
+function(CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile)
+  set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO)
+  set(oneValueArgs INSTALL_DESTINATION )
+  set(multiValueArgs PATH_VARS )
+
+  cmake_parse_arguments(CCF "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${ARGN})
+
+  if(CCF_UNPARSED_ARGUMENTS)
+    message(FATAL_ERROR "Unknown keywords given to CONFIGURE_PACKAGE_CONFIG_FILE(): \"${CCF_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  if(NOT CCF_INSTALL_DESTINATION)
+    message(FATAL_ERROR "No INSTALL_DESTINATION given to CONFIGURE_PACKAGE_CONFIG_FILE()")
+  endif()
+
+  if(IS_ABSOLUTE "${CCF_INSTALL_DESTINATION}")
+    set(absInstallDir "${CCF_INSTALL_DESTINATION}")
+  else()
+    set(absInstallDir "${CMAKE_INSTALL_PREFIX}/${CCF_INSTALL_DESTINATION}")
+  endif()
+  file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${absInstallDir}" "${CMAKE_INSTALL_PREFIX}" )
+
+  foreach(var ${CCF_PATH_VARS})
+    if(NOT DEFINED ${var})
+      message(FATAL_ERROR "Variable ${var} does not exist")
+    else()
+      if(IS_ABSOLUTE "${${var}}")
+        string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${PACKAGE_PREFIX_DIR}"
+                        PACKAGE_${var} "${${var}}")
+      else()
+        set(PACKAGE_${var} "\${PACKAGE_PREFIX_DIR}/${${var}}")
+      endif()
+    endif()
+  endforeach()
+
+  set(PACKAGE_INIT "
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/${PACKAGE_RELATIVE_PATH}\" ABSOLUTE)
+")
+
+  if(NOT CCF_NO_SET_AND_CHECK_MACRO)
+    set(PACKAGE_INIT "${PACKAGE_INIT}
+macro(set_and_check _var _file)
+  set(\${_var} \"\${_file}\")
+  if(NOT EXISTS \"\${_file}\")
+    message(FATAL_ERROR \"File or directory \${_file} referenced by variable \${_var} does not exist !\")
+  endif()
+endmacro()
+")
+  endif()
+
+
+  if(NOT CCF_NO_CHECK_REQUIRED_COMPONENTS_MACRO)
+    set(PACKAGE_INIT "${PACKAGE_INIT}
+macro(check_required_components _NAME)
+  foreach(comp \${\${_NAME}_FIND_COMPONENTS})
+    if(NOT \${_NAME}_\${comp}_FOUND)
+      if(\${_NAME}_FIND_REQUIRED_\${comp})
+        set(\${_NAME}_FOUND FALSE)
+      endif()
+    endif()
+  endforeach(comp)
+endmacro()
+")
+  endif()
+
+  set(PACKAGE_INIT "${PACKAGE_INIT}
+####################################################################################")
+
+  configure_file("${_inputFile}" "${_outputFile}" @ONLY)
+
+endfunction()
diff --git a/src/third_party/glm/cmake/GNUInstallDirs.cmake b/src/third_party/glm/cmake/GNUInstallDirs.cmake
new file mode 100644
index 0000000..4dc2d68
--- /dev/null
+++ b/src/third_party/glm/cmake/GNUInstallDirs.cmake
@@ -0,0 +1,188 @@
+# - Define GNU standard installation directories
+# Provides install directory variables as defined for GNU software:
+#  http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
+# Inclusion of this module defines the following variables:
+#  CMAKE_INSTALL_<dir>      - destination for files of a given type
+#  CMAKE_INSTALL_FULL_<dir> - corresponding absolute path
+# where <dir> is one of:
+#  BINDIR           - user executables (bin)
+#  SBINDIR          - system admin executables (sbin)
+#  LIBEXECDIR       - program executables (libexec)
+#  SYSCONFDIR       - read-only single-machine data (etc)
+#  SHAREDSTATEDIR   - modifiable architecture-independent data (com)
+#  LOCALSTATEDIR    - modifiable single-machine data (var)
+#  LIBDIR           - object code libraries (lib or lib64 or lib/<multiarch-tuple> on Debian)
+#  INCLUDEDIR       - C header files (include)
+#  OLDINCLUDEDIR    - C header files for non-gcc (/usr/include)
+#  DATAROOTDIR      - read-only architecture-independent data root (share)
+#  DATADIR          - read-only architecture-independent data (DATAROOTDIR)
+#  INFODIR          - info documentation (DATAROOTDIR/info)
+#  LOCALEDIR        - locale-dependent data (DATAROOTDIR/locale)
+#  MANDIR           - man documentation (DATAROOTDIR/man)
+#  DOCDIR           - documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+# Each CMAKE_INSTALL_<dir> value may be passed to the DESTINATION options of
+# install() commands for the corresponding file type.  If the includer does
+# not define a value the above-shown default will be used and the value will
+# appear in the cache for editing by the user.
+# Each CMAKE_INSTALL_FULL_<dir> value contains an absolute path constructed
+# from the corresponding destination by prepending (if necessary) the value
+# of CMAKE_INSTALL_PREFIX.
+
+#=============================================================================
+# Copyright 2011 Nikita Krupen'ko <krnekit@gmail.com>
+# Copyright 2011 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+# Installation directories
+#
+if(NOT DEFINED CMAKE_INSTALL_BINDIR)
+  set(CMAKE_INSTALL_BINDIR "bin" CACHE PATH "user executables (bin)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_SBINDIR)
+  set(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH "system admin executables (sbin)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_LIBEXECDIR)
+  set(CMAKE_INSTALL_LIBEXECDIR "libexec" CACHE PATH "program executables (libexec)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR)
+  set(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH "read-only single-machine data (etc)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_SHAREDSTATEDIR)
+  set(CMAKE_INSTALL_SHAREDSTATEDIR "com" CACHE PATH "modifiable architecture-independent data (com)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR)
+  set(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH "modifiable single-machine data (var)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+  set(_LIBDIR_DEFAULT "lib")
+  # Override this default 'lib' with 'lib64' iff:
+  #  - we are on Linux system but NOT cross-compiling
+  #  - we are NOT on debian
+  #  - we are on a 64 bits system
+  # reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
+  # For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
+  # CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
+  # See http://wiki.debian.org/Multiarch
+  if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
+      AND NOT CMAKE_CROSSCOMPILING)
+    if (EXISTS "/etc/debian_version") # is this a debian system ?
+       if(CMAKE_LIBRARY_ARCHITECTURE)
+         set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+       endif()
+    else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
+      if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
+        message(AUTHOR_WARNING
+          "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
+          "Please enable at least one language before including GNUInstallDirs.")
+      else()
+        if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+          set(_LIBDIR_DEFAULT "lib64")
+        endif()
+      endif()
+    endif()
+  endif()
+  set(CMAKE_INSTALL_LIBDIR "${_LIBDIR_DEFAULT}" CACHE PATH "object code libraries (${_LIBDIR_DEFAULT})")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
+  set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE PATH "C header files (include)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_OLDINCLUDEDIR)
+  set(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include" CACHE PATH "C header files for non-gcc (/usr/include)")
+endif()
+
+if(NOT DEFINED CMAKE_INSTALL_DATAROOTDIR)
+  set(CMAKE_INSTALL_DATAROOTDIR "share" CACHE PATH "read-only architecture-independent data root (share)")
+endif()
+
+#-----------------------------------------------------------------------------
+# Values whose defaults are relative to DATAROOTDIR.  Store empty values in
+# the cache and store the defaults in local variables if the cache values are
+# not set explicitly.  This auto-updates the defaults as DATAROOTDIR changes.
+
+if(NOT CMAKE_INSTALL_DATADIR)
+  set(CMAKE_INSTALL_DATADIR "" CACHE PATH "read-only architecture-independent data (DATAROOTDIR)")
+  set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_DATAROOTDIR}")
+endif()
+
+if(NOT CMAKE_INSTALL_INFODIR)
+  set(CMAKE_INSTALL_INFODIR "" CACHE PATH "info documentation (DATAROOTDIR/info)")
+  set(CMAKE_INSTALL_INFODIR "${CMAKE_INSTALL_DATAROOTDIR}/info")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCALEDIR)
+  set(CMAKE_INSTALL_LOCALEDIR "" CACHE PATH "locale-dependent data (DATAROOTDIR/locale)")
+  set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
+endif()
+
+if(NOT CMAKE_INSTALL_MANDIR)
+  set(CMAKE_INSTALL_MANDIR "" CACHE PATH "man documentation (DATAROOTDIR/man)")
+  set(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_DATAROOTDIR}/man")
+endif()
+
+if(NOT CMAKE_INSTALL_DOCDIR)
+  set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (DATAROOTDIR/doc/PROJECT_NAME)")
+  set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}")
+endif()
+
+#-----------------------------------------------------------------------------
+
+mark_as_advanced(
+  CMAKE_INSTALL_BINDIR
+  CMAKE_INSTALL_SBINDIR
+  CMAKE_INSTALL_LIBEXECDIR
+  CMAKE_INSTALL_SYSCONFDIR
+  CMAKE_INSTALL_SHAREDSTATEDIR
+  CMAKE_INSTALL_LOCALSTATEDIR
+  CMAKE_INSTALL_LIBDIR
+  CMAKE_INSTALL_INCLUDEDIR
+  CMAKE_INSTALL_OLDINCLUDEDIR
+  CMAKE_INSTALL_DATAROOTDIR
+  CMAKE_INSTALL_DATADIR
+  CMAKE_INSTALL_INFODIR
+  CMAKE_INSTALL_LOCALEDIR
+  CMAKE_INSTALL_MANDIR
+  CMAKE_INSTALL_DOCDIR
+  )
+
+# Result directories
+#
+foreach(dir
+    BINDIR
+    SBINDIR
+    LIBEXECDIR
+    SYSCONFDIR
+    SHAREDSTATEDIR
+    LOCALSTATEDIR
+    LIBDIR
+    INCLUDEDIR
+    OLDINCLUDEDIR
+    DATAROOTDIR
+    DATADIR
+    INFODIR
+    LOCALEDIR
+    MANDIR
+    DOCDIR
+    )
+  if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}})
+    set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
+  else()
+    set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}")
+  endif()
+endforeach()
diff --git a/src/third_party/glm/cmake/glm.pc.in b/src/third_party/glm/cmake/glm.pc.in
new file mode 100644
index 0000000..fc5c7bb
--- /dev/null
+++ b/src/third_party/glm/cmake/glm.pc.in
@@ -0,0 +1,7 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+includedir=${prefix}/include
+
+Name: GLM
+Description: OpenGL Mathematics
+Version: @GLM_VERSION@
+Cflags: -I${includedir}
diff --git a/src/third_party/glm/cmake/glmBuildConfig.cmake.in b/src/third_party/glm/cmake/glmBuildConfig.cmake.in
new file mode 100644
index 0000000..1258dea
--- /dev/null
+++ b/src/third_party/glm/cmake/glmBuildConfig.cmake.in
@@ -0,0 +1,6 @@
+set(GLM_VERSION "@GLM_VERSION@")
+set(GLM_INCLUDE_DIRS "@CMAKE_CURRENT_SOURCE_DIR@")
+
+if (NOT CMAKE_VERSION VERSION_LESS "3.0")
+    include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
+endif()
diff --git a/src/third_party/glm/cmake/glmConfig.cmake.in b/src/third_party/glm/cmake/glmConfig.cmake.in
new file mode 100644
index 0000000..37d5ad8
--- /dev/null
+++ b/src/third_party/glm/cmake/glmConfig.cmake.in
@@ -0,0 +1,9 @@
+set(GLM_VERSION "@GLM_VERSION@")
+
+@PACKAGE_INIT@
+
+set_and_check(GLM_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
+
+if (NOT CMAKE_VERSION VERSION_LESS "3.0")
+    include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
+endif()
diff --git a/src/third_party/glm/copying.txt b/src/third_party/glm/copying.txt
new file mode 100644
index 0000000..7c20b4a
--- /dev/null
+++ b/src/third_party/glm/copying.txt
@@ -0,0 +1,54 @@
+================================================================================
+OpenGL Mathematics (GLM)
+--------------------------------------------------------------------------------
+GLM can be distributed and/or modified under the terms of either
+a) The Happy Bunny License, or b) the MIT License.
+
+================================================================================
+The Happy Bunny License (Modified MIT License)
+--------------------------------------------------------------------------------
+Copyright (c) 2005 - 2016 G-Truc Creation
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+Restrictions: By making use of the Software for military purposes, you choose
+to make a Bunny unhappy.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+================================================================================
+The MIT License
+--------------------------------------------------------------------------------
+Copyright (c) 2005 - 2016 G-Truc Creation
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/src/third_party/glm/doc/api/a00001.html b/src/third_party/glm/doc/api/a00001.html
new file mode 100644
index 0000000..bf310c8
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00001.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _features.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_features.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00001_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00001_source.html">_features.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00001_source.html b/src/third_party/glm/doc/api/a00001_source.html
new file mode 100644
index 0000000..2c98fae
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00001_source.html
@@ -0,0 +1,457 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _features.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_features.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00001.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// #define GLM_CXX98_EXCEPTIONS</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// #define GLM_CXX98_RTTI</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// #define GLM_CXX11_RVALUE_REFERENCES</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// Rvalue references - GCC 4.3</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// GLM_CXX11_TRAILING_RETURN</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// Rvalue references for *this - GCC not supported</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// Initialization of class objects by rvalues - GCC any</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// Non-static data member initializers - GCC 4.7</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// #define GLM_CXX11_VARIADIC_TEMPLATE</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">// Variadic templates - GCC 4.3</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// Extending variadic template template parameters - GCC 4.4</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// #define GLM_CXX11_GENERALIZED_INITIALIZERS</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// Initializer lists - GCC 4.4</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">// #define GLM_CXX11_STATIC_ASSERT </span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// Static assertions - GCC 4.3</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">// auto-typed variables - GCC 4.4</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">// Multi-declarator auto - GCC 4.4</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">// Removal of auto as a storage-class specifier - GCC 4.4</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment">// New function declarator syntax - GCC 4.4</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// #define GLM_CXX11_LAMBDAS</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// New wording for C++0x lambdas - GCC 4.5</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="comment">// #define GLM_CXX11_DECLTYPE</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">// Declared type of an expression - GCC 4.3</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">// Right angle brackets - GCC 4.3</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// Default template arguments for function templates    DR226   GCC 4.3</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">// Solving the SFINAE problem for expressions   DR339   GCC 4.4</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">// #define GLM_CXX11_ALIAS_TEMPLATE</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">// Template aliases     N2258   GCC 4.7</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="comment">// Extern templates     N1987   Yes</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">// #define GLM_CXX11_NULLPTR</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// Null pointer constant        N2431   GCC 4.6</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="comment">// #define GLM_CXX11_STRONG_ENUMS</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">// Strongly-typed enums N2347   GCC 4.4</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">// Forward declarations for enums       N2764   GCC 4.6</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">// Generalized attributes       N2761   GCC 4.8</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">// Generalized constant expressions     N2235   GCC 4.6</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="comment">// Alignment support    N2341   GCC 4.8</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="comment">// #define GLM_CXX11_DELEGATING_CONSTRUCTORS</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="comment">// Delegating constructors      N1986   GCC 4.7</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">// Inheriting constructors      N2540   GCC 4.8</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">// #define GLM_CXX11_EXPLICIT_CONVERSIONS</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="comment">// Explicit conversion operators        N2437   GCC 4.5</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="comment">// New character types  N2249   GCC 4.4</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">// Unicode string literals      N2442   GCC 4.5</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="comment">// Raw string literals  N2442   GCC 4.5</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">// Universal character name literals    N2170   GCC 4.5</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="comment">// #define GLM_CXX11_USER_LITERALS</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">// User-defined literals                N2765   GCC 4.7</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">// Standard Layout Types        N2342   GCC 4.5</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">// #define GLM_CXX11_DEFAULTED_FUNCTIONS</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">// #define GLM_CXX11_DELETED_FUNCTIONS</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">// Defaulted and deleted functions      N2346   GCC 4.4</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="comment">// Extended friend declarations N1791   GCC 4.7</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">// Extending sizeof     N2253   GCC 4.4</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment">// #define GLM_CXX11_INLINE_NAMESPACES</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">// Inline namespaces    N2535   GCC 4.4</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">// #define GLM_CXX11_UNRESTRICTED_UNIONS</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment">// Unrestricted unions  N2544   GCC 4.6</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">// #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="comment">// Local and unnamed types as template arguments        N2657   GCC 4.5</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment">// #define GLM_CXX11_RANGE_FOR</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment">// Range-based for      N2930   GCC 4.6</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment">// #define GLM_CXX11_OVERRIDE_CONTROL</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment">// Explicit virtual overrides   N2928 N3206 N3272       GCC 4.7</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="comment">// Minimal support for garbage collection and reachability-based leak detection N2670   No</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">// #define GLM_CXX11_NOEXCEPT</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">// Allowing move constructors to throw [noexcept]       N3050   GCC 4.6 (core language only)</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">// Defining move special member functions       N3053   GCC 4.6</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="comment">// Sequence points      N2239   Yes</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">// Atomic operations    N2427   GCC 4.4</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment">// Strong Compare and Exchange  N2748   GCC 4.5</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment">// Bidirectional Fences N2752   GCC 4.8</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="comment">// Memory model N2429   GCC 4.8</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">// Data-dependency ordering: atomics and memory model   N2664   GCC 4.4</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="comment">// Propagating exceptions       N2179   GCC 4.4</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="comment">// Abandoning a process and at_quick_exit       N2440   GCC 4.8</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">// Allow atomics use in signal handlers N2547   Yes</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="comment">// Thread-local storage N2659   GCC 4.8</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="comment">// Dynamic initialization and destruction with concurrency      N2660   GCC 4.3</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment">// __func__ predefined identifier       N2340   GCC 4.3</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment">// C99 preprocessor     N1653   GCC 4.3</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="comment">// long long    N1811   GCC 4.3</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="comment">// </span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="comment">// Extended integral types      N1988   Yes</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">#if(GLM_COMPILER &amp; GLM_COMPILER_GCC)</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">#       if(GLM_COMPILER &gt;= GLM_COMPILER_GCC43)</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">#               define GLM_CXX11_STATIC_ASSERT</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">#elif(GLM_COMPILER &amp; GLM_COMPILER_CLANG)</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_exceptions))</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#               define GLM_CXX98_EXCEPTIONS</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_rtti))</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="preprocessor">#               define GLM_CXX98_RTTI</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_access_control_sfinae))</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">#               define GLM_CXX11_ACCESS_CONTROL_SFINAE</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_alias_templates))</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">#               define GLM_CXX11_ALIAS_TEMPLATE</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_alignas))</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">#               define GLM_CXX11_ALIGNAS</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_attributes))</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">#               define GLM_CXX11_ATTRIBUTES</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_constexpr))</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">#               define GLM_CXX11_CONSTEXPR</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_decltype))</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#               define GLM_CXX11_DECLTYPE</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_default_function_template_args))</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor">#               define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_defaulted_functions))</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">#               define GLM_CXX11_DEFAULTED_FUNCTIONS</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_delegating_constructors))</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">#               define GLM_CXX11_DELEGATING_CONSTRUCTORS</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_deleted_functions))</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">#               define GLM_CXX11_DELETED_FUNCTIONS</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_explicit_conversions))</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">#               define GLM_CXX11_EXPLICIT_CONVERSIONS</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_generalized_initializers))</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#               define GLM_CXX11_GENERALIZED_INITIALIZERS</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_implicit_moves))</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#               define GLM_CXX11_IMPLICIT_MOVES</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_inheriting_constructors))</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#               define GLM_CXX11_INHERITING_CONSTRUCTORS</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_inline_namespaces))</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">#               define GLM_CXX11_INLINE_NAMESPACES</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_lambdas))</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">#               define GLM_CXX11_LAMBDAS</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_local_type_template_args))</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#               define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_noexcept))</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor">#               define GLM_CXX11_NOEXCEPT</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_nonstatic_member_init))</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">#               define GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_nullptr))</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#               define GLM_CXX11_NULLPTR</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_override_control))</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">#               define GLM_CXX11_OVERRIDE_CONTROL</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_reference_qualified_functions))</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">#               define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_range_for))</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor">#               define GLM_CXX11_RANGE_FOR</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_raw_string_literals))</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">#               define GLM_CXX11_RAW_STRING_LITERALS</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_rvalue_references))</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">#               define GLM_CXX11_RVALUE_REFERENCES</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_static_assert))</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">#               define GLM_CXX11_STATIC_ASSERT</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_auto_type))</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">#               define GLM_CXX11_AUTO_TYPE</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_strong_enums))</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">#               define GLM_CXX11_STRONG_ENUMS</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_trailing_return))</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">#               define GLM_CXX11_TRAILING_RETURN</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_unicode_literals))</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">#               define GLM_CXX11_UNICODE_LITERALS</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_unrestricted_unions))</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">#               define GLM_CXX11_UNRESTRICTED_UNIONS</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_user_literals))</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">#               define GLM_CXX11_USER_LITERALS</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">#       if(__has_feature(cxx_variadic_templates))</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">#               define GLM_CXX11_VARIADIC_TEMPLATES</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">#endif//(GLM_COMPILER &amp; GLM_COMPILER_CLANG)</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00002.html b/src/third_party/glm/doc/api/a00002.html
new file mode 100644
index 0000000..523bac0
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00002.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _fixes.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_fixes.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00002_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00002_source.html">_fixes.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00002_source.html b/src/third_party/glm/doc/api/a00002_source.html
new file mode 100644
index 0000000..0941ab7
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00002_source.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _fixes.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_fixes.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00002.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifdef max</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#undef max</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#ifdef min</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#undef min</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifdef isnan</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#undef isnan</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifdef isinf</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#undef isinf</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifdef log2</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#undef log2</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00003.html b/src/third_party/glm/doc/api/a00003.html
new file mode 100644
index 0000000..b5ad770
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00003.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _noise.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_noise.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00003_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00003_source.html">_noise.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00003_source.html b/src/third_party/glm/doc/api/a00003_source.html
new file mode 100644
index 0000000..2575ec4
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00003_source.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _noise.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_noise.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00003.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;../vec2.hpp&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;../vec3.hpp&quot;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;../vec4.hpp&quot;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;../common.hpp&quot;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">namespace </span>detail</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;{</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        GLM_FUNC_QUALIFIER T mod289(T <span class="keyword">const</span> &amp; x)</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        {</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;                <span class="keywordflow">return</span> x - <a class="code" href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">floor</a>(x * static_cast&lt;T&gt;(1.0) / static_cast&lt;T&gt;(289.0)) * <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(289.0);</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        }</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        GLM_FUNC_QUALIFIER T permute(T <span class="keyword">const</span> &amp; x)</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        {</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                <span class="keywordflow">return</span> mod289(((x * static_cast&lt;T&gt;(34)) + static_cast&lt;T&gt;(1)) * x);</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        }</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; permute(tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; x)</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                <span class="keywordflow">return</span> mod289(((x * static_cast&lt;T&gt;(34)) + static_cast&lt;T&gt;(1)) * x);</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        }</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; permute(tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; x)</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        {</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                <span class="keywordflow">return</span> mod289(((x * static_cast&lt;T&gt;(34)) + static_cast&lt;T&gt;(1)) * x);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        }</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        </div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; permute(tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; x)</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                <span class="keywordflow">return</span> mod289(((x * static_cast&lt;T&gt;(34)) + static_cast&lt;T&gt;(1)) * x);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        }</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">        template &lt;typename T, precision P, template&lt;typename&gt; class vecType&gt;</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; permute(vecType&lt;T, P&gt; const &amp; x)</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="comment">        {</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">                return mod289(((x * T(34)) + T(1)) * x);</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">        }</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_QUALIFIER T taylorInvSqrt(T <span class="keyword">const</span> &amp; r)</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        {</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        }</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; taylorInvSqrt(tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; r)</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        }</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; taylorInvSqrt(tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; r)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        {</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; taylorInvSqrt(tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; r)</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        {</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        }</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">        template &lt;typename T, precision P, template&lt;typename&gt; class vecType&gt;</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; taylorInvSqrt(vecType&lt;T, P&gt; const &amp; r)</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">        {</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">                return T(1.79284291400159) - T(0.85373472095314) * r;</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">        }</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; fade(tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; t)</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        {</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        }</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        </div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; fade(tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; t)</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        {</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        }</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; fade(tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; t)</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        {</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        }</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">        template &lt;typename T, precision P, template &lt;typename&gt; class vecType&gt;</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="comment">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; fade(vecType&lt;T, P&gt; const &amp; t)</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="comment">        {</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">                return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="comment">        }</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;}<span class="comment">//namespace detail</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00146_html_ga568b822b78f045f77c3325e165b44d5d"><div class="ttname"><a href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">glm::floor</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; floor(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is less then or equal to x. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00004.html b/src/third_party/glm/doc/api/a00004.html
new file mode 100644
index 0000000..dc12366
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00004.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _swizzle.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_swizzle.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00004_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00004_source.html">_swizzle.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00004_source.html b/src/third_party/glm/doc/api/a00004_source.html
new file mode 100644
index 0000000..2402657
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00004_source.html
@@ -0,0 +1,857 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _swizzle.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_swizzle.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00004.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="keyword">namespace </span>detail</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;{</div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;        <span class="comment">// Internal class for implementing swizzle operators</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keywordtype">int</span> N&gt;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        <span class="keyword">struct </span>_swizzle_base0</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                GLM_FUNC_QUALIFIER T&amp; elem(<span class="keywordtype">size_t</span> i){ <span class="keywordflow">return</span> (reinterpret_cast&lt;T*&gt;(_buffer))[i]; }</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                GLM_FUNC_QUALIFIER T <span class="keyword">const</span>&amp; elem(<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span>{ <span class="keywordflow">return</span> (reinterpret_cast&lt;const T*&gt;(_buffer))[i]; }</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;                <span class="comment">// Use an opaque buffer to *ensure* the compiler doesn&#39;t call a constructor.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;                <span class="comment">// The size 1 buffer is assumed to aligned to the actual members so that the</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;                <span class="comment">// elem() </span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;                <span class="keywordtype">char</span>    _buffer[1];</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        };</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">bool</span> Aligned&gt;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        <span class="keyword">struct </span>_swizzle_base1 : <span class="keyword">public</span> _swizzle_base0&lt;T, N&gt;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        {</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        };</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">bool</span> Aligned&gt;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">struct </span>_swizzle_base1&lt;2, T, P, vecType, E0,E1,-1,-2, Aligned&gt; : <span class="keyword">public</span> _swizzle_base0&lt;T, 2&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator ()()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> vecType&lt;T, P&gt;(this-&gt;elem(E0), this-&gt;elem(E1)); }</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        };</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">bool</span> Aligned&gt;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">struct </span>_swizzle_base1&lt;3, T, P, vecType, E0,E1,E2,-1, Aligned&gt; : <span class="keyword">public</span> _swizzle_base0&lt;T, 3&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        {</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator ()()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> vecType&lt;T, P&gt;(this-&gt;elem(E0), this-&gt;elem(E1), this-&gt;elem(E2)); }</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        };</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">bool</span> Aligned&gt;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keyword">struct </span>_swizzle_base1&lt;4, T, P, vecType, E0,E1,E2,E3, Aligned&gt; : <span class="keyword">public</span> _swizzle_base0&lt;T, 4&gt;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        { </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator ()()<span class="keyword">  const </span>{ <span class="keywordflow">return</span> vecType&lt;T, P&gt;(this-&gt;elem(E0), this-&gt;elem(E1), this-&gt;elem(E2), this-&gt;elem(E3)); }</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        };</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="comment">// Internal class for implementing swizzle operators</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="comment">/*</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="comment">                Template parameters:</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">                ValueType = type of scalar values (e.g. float, double)</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">                VecType   = class the swizzle is applies to (e.g. tvec3&lt;float&gt;)</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="comment">                N         = number of components in the vector (e.g. 3)</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">                E0...3    = what index the n-th element of this swizzle refers to in the unswizzled vec</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="comment">                DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">                        containing duplicate elements so that they cannot be used as r-values).            </span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">        */</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">int</span> DUPLICATE_ELEMENTS&gt;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">struct </span>_swizzle_base2 : <span class="keyword">public</span> _swizzle_base1&lt;N, T, P, vecType, E0,E1,E2,E3, detail::is_aligned&lt;P&gt;::value&gt;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        {</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                GLM_FUNC_QUALIFIER _swizzle_base2&amp; operator= (<span class="keyword">const</span> T&amp; t)</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                {</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; N; ++i)</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                                (*<span class="keyword">this</span>)[i] = t;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                GLM_FUNC_QUALIFIER _swizzle_base2&amp; operator= (vecType&lt;T, P&gt; <span class="keyword">const</span>&amp; that)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                        <span class="keyword">struct </span>op { </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T&amp; <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T&amp; t) { e = t; } </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                        };</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                        _apply_op(that, op());</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                }</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator -= (vecType&lt;T, P&gt; <span class="keyword">const</span>&amp; that)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                {</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                        <span class="keyword">struct </span>op { </div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T&amp; <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T&amp; t) { e -= t; } </div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                        };</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                        _apply_op(that, op());</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                }</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator += (vecType&lt;T, P&gt; <span class="keyword">const</span>&amp; that)</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                {</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                        <span class="keyword">struct </span>op { </div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T&amp; <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T&amp; t) { e += t; } </div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                        };</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                        _apply_op(that, op());</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                }</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator *= (vecType&lt;T, P&gt; <span class="keyword">const</span>&amp; that)</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                {</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                        <span class="keyword">struct </span>op { </div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T&amp; <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T&amp; t) { e *= t; } </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                        };</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                        _apply_op(that, op());</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                }</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator /= (vecType&lt;T, P&gt; <span class="keyword">const</span>&amp; that)</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                {</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                        <span class="keyword">struct </span>op { </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T&amp; <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T&amp; t) { e /= t; } </div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                        };</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                        _apply_op(that, op());</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                }</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                GLM_FUNC_QUALIFIER T&amp; operator[](<span class="keywordtype">size_t</span> i)</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                {</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                        <span class="keywordflow">return</span> this-&gt;elem(offset_dst[i]);</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;                }</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                GLM_FUNC_QUALIFIER T operator[](<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="keyword">                </span>{</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                        <span class="keywordflow">return</span> this-&gt;elem(offset_dst[i]);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                }</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> U&gt;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> _apply_op(vecType&lt;T, P&gt; <span class="keyword">const</span>&amp; that, U op)</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                {</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                        <span class="comment">// Make a copy of the data in this == &amp;that.</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                        <span class="comment">// The copier should optimize out the copy in cases where the function is</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                        <span class="comment">// properly inlined and the copy is not necessary.</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                        T t[N];</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; N; ++i)</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                                t[i] = that[i];</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; N; ++i)</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;                                op( (*<span class="keyword">this</span>)[i], t[i] );</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                }</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        };</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="comment">// Specialization for swizzles containing duplicate elements.  These cannot be modified.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3&gt;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keyword">struct </span>_swizzle_base2&lt;N, T, P, vecType, E0,E1,E2,E3, 1&gt; : <span class="keyword">public</span> _swizzle_base1&lt;N, T, P, vecType, E0,E1,E2,E3, detail::is_aligned&lt;P&gt;::value&gt;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        {</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                <span class="keyword">struct </span>Stub {};</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                GLM_FUNC_QUALIFIER _swizzle_base2&amp; operator= (Stub <span class="keyword">const</span> &amp;) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                GLM_FUNC_QUALIFIER T operator[]  (<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="keyword">                </span>{</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                        <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                        <span class="keywordflow">return</span> this-&gt;elem(offset_dst[i]);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                }</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        };</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keyword">template</span> &lt;<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3&gt;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keyword">struct </span>_swizzle : <span class="keyword">public</span> _swizzle_base2&lt;N, T, P, vecType, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)&gt;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        {</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                <span class="keyword">typedef</span> _swizzle_base2&lt;N, T, P, vecType, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)&gt; base_type;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                <span class="keyword">using</span> base_type::operator=;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">operator</span> vecType&lt;T, P&gt; () <span class="keyword">const</span> { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)(); }</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        };</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">// To prevent the C++ syntax from getting entirely overwhelming, define some alias macros</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_TEMPLATE1   template &lt;int N, typename T, precision P, template &lt;typename, precision&gt; class vecType, int E0, int E1, int E2, int E3&gt;</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_TEMPLATE2   template &lt;int N, typename T, precision P, template &lt;typename, precision&gt; class vecType, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3&gt;</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_TYPE1       _swizzle&lt;N, T, P, vecType, E0, E1, E2, E3&gt;</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_TYPE2       _swizzle&lt;N, T, P, vecType, F0, F1, F2, F3&gt;</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="comment">// Wrapper for a binary operator (e.g. u.yy + v.zy)</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND)                 \</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE2                                                          \</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator OPERAND ( const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE2&amp; b)  \</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor">        {                                                                               \</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">                return a() OPERAND b();                                                     \</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">        }                                                                               \</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                          \</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator OPERAND ( const _GLM_SWIZZLE_TYPE1&amp; a, const vecType&lt;T, P&gt;&amp; b)                   \</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">        {                                                                               \</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">                return a() OPERAND b;                                                       \</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">        }                                                                               \</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                          \</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator OPERAND ( const vecType&lt;T, P&gt;&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b)                   \</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">        {                                                                               \</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">                return a OPERAND b();                                                       \</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">// Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND)                 \</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                          \</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator OPERAND ( const _GLM_SWIZZLE_TYPE1&amp; a, const T&amp; b)                   \</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">        {                                                                               \</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">                return a() OPERAND b;                                                       \</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">        }                                                                               \</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                          \</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER vecType&lt;T, P&gt; operator OPERAND ( const T&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b)                   \</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">        {                                                                               \</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">                return a OPERAND b();                                                       \</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">// Macro for wrapping a function taking one argument (e.g. abs())</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION)                          \</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                          \</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a)  \</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">        {                                                                               \</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">                return FUNCTION(a());                                                       \</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="comment">// Macro for wrapping a function taking two vector arguments (e.g. dot()).</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION)                                                      \</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE2                                                                                      \</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE2&amp; b) \</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">        {                                                                                                           \</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">                return FUNCTION(a(), b());                                                                              \</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">        }                                                                                                           \</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                                                      \</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b) \</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">        {                                                                                                           \</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">                return FUNCTION(a(), b());                                                                              \</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">        }                                                                                                           \</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                                                      \</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const typename V&amp; b)         \</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">        {                                                                                                           \</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">                return FUNCTION(a(), b);                                                                                \</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">        }                                                                                                           \</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                                                      \</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b)                  \</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">        {                                                                                                           \</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">                return FUNCTION(a, b());                                                                                \</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">        } </span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment">// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment">//</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION)                                                             \</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE2                                                                                                    \</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE2&amp; b, const T&amp; c)   \</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">        {                                                                                                                         \</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">                return FUNCTION(a(), b(), c);                                                                                         \</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">        }                                                                                                                         \</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                                                                    \</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b, const T&amp; c)   \</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">        {                                                                                                                         \</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">                return FUNCTION(a(), b(), c);                                                                                         \</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">        }                                                                                                                         \</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                                                                    \</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1&amp; a, const typename S0::vec_type&amp; b, const T&amp; c)\</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">        {                                                                                                                         \</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">                return FUNCTION(a(), b, c);                                                                                           \</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">        }                                                                                                                         \</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">        _GLM_SWIZZLE_TEMPLATE1                                                                                                    \</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">        GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V&amp; a, const _GLM_SWIZZLE_TYPE1&amp; b, const T&amp; c)           \</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">        {                                                                                                                         \</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">                return FUNCTION(a, b(), c);                                                                                           \</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">        } </span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160; </div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;}<span class="comment">//namespace detail </span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;{</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="keyword">namespace </span>detail</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        {</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;                _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;                _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;                _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;                _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        }</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="comment">//</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        <span class="comment">// Swizzles are distinct types from the unswizzled type.  The below macros will</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        <span class="comment">// provide template specializations for the swizzle types for the given functions</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <span class="comment">// so that the compiler does not have any ambiguity to choosing how to handle</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <span class="comment">// the function.</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="comment">//</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        <span class="comment">// The alternative is to use the operator()() when calling the function in order</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        <span class="comment">// to explicitly convert the swizzled type to the unswizzled type.</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <span class="comment">//</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type,    abs);</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type,    acos);</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type,    acosh);</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type,    all);</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type,    any);</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type,  dot);</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type,    cross);</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type,    step);    </span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;}</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE2_2_MEMBERS(T, P, V, E0,E1) \</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2, T, P, V, 0,0,-1,-2&gt; E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2, T, P, V, 0,1,-1,-2&gt; E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2, T, P, V, 1,0,-1,-2&gt; E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2, T, P, V, 1,1,-1,-2&gt; E1 ## E1; }; </span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE2_3_MEMBERS(T, P, V, E0,E1) \</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 0,0,0,-1&gt; E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 0,0,1,-1&gt; E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 0,1,0,-1&gt; E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 0,1,1,-1&gt; E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 1,0,0,-1&gt; E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 1,0,1,-1&gt; E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 1,1,0,-1&gt; E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3,T, P, V, 1,1,1,-1&gt; E1 ## E1 ## E1; };  </span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE2_4_MEMBERS(T, P, V, E0,E1) \</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,0,0&gt; E0 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,0,1&gt; E0 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,1,0&gt; E0 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,1,1&gt; E0 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,0,0&gt; E0 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,0,1&gt; E0 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,1,0&gt; E0 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,1,1&gt; E0 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,0,0&gt; E1 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,0,1&gt; E1 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,1,0&gt; E1 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,1,1&gt; E1 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,0,0&gt; E1 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,0,1&gt; E1 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,1,0&gt; E1 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,1,1&gt; E1 ## E1 ## E1 ## E1; };</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE3_2_MEMBERS(T, P, V, E0,E1,E2) \</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,0,-1,-2&gt; E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,1,-1,-2&gt; E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,2,-1,-2&gt; E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,0,-1,-2&gt; E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,1,-1,-2&gt; E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,2,-1,-2&gt; E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,0,-1,-2&gt; E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,1,-1,-2&gt; E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,2,-1,-2&gt; E2 ## E2; };</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE3_3_MEMBERS(T, P, V ,E0,E1,E2) \</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,0,-1&gt; E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,1,-1&gt; E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,2,-1&gt; E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,0,-1&gt; E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,1,-1&gt; E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,2,-1&gt; E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,0,-1&gt; E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,1,-1&gt; E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,2,-1&gt; E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,0,-1&gt; E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,1,-1&gt; E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,2,-1&gt; E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,0,-1&gt; E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,1,-1&gt; E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,2,-1&gt; E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,0,-1&gt; E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,1,-1&gt; E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,2,-1&gt; E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,0,-1&gt; E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,1,-1&gt; E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,2,-1&gt; E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,0,-1&gt; E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,1,-1&gt; E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,2,-1&gt; E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,0,-1&gt; E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,1,-1&gt; E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,2,-1&gt; E2 ## E2 ## E2; };</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE3_4_MEMBERS(T, P, V, E0,E1,E2) \</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,0,0&gt; E0 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,0,1&gt; E0 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,0,2&gt; E0 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,1,0&gt; E0 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,1,1&gt; E0 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,1,2&gt; E0 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,2,0&gt; E0 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,2,1&gt; E0 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,0,2,2&gt; E0 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,0,0&gt; E0 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,0,1&gt; E0 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,0,2&gt; E0 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,1,0&gt; E0 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,1,1&gt; E0 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,1,2&gt; E0 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,2,0&gt; E0 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,2,1&gt; E0 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,1,2,2&gt; E0 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,0,0&gt; E0 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,0,1&gt; E0 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,0,2&gt; E0 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,1,0&gt; E0 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,1,1&gt; E0 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,1,2&gt; E0 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,2,0&gt; E0 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,2,1&gt; E0 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 0,2,2,2&gt; E0 ## E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,0,0&gt; E1 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,0,1&gt; E1 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,0,2&gt; E1 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,1,0&gt; E1 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,1,1&gt; E1 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,1,2&gt; E1 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,2,0&gt; E1 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,2,1&gt; E1 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,0,2,2&gt; E1 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,0,0&gt; E1 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,0,1&gt; E1 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,0,2&gt; E1 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,1,0&gt; E1 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,1,1&gt; E1 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,1,2&gt; E1 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,2,0&gt; E1 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,2,1&gt; E1 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,1,2,2&gt; E1 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,0,0&gt; E1 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,0,1&gt; E1 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,0,2&gt; E1 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,1,0&gt; E1 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,1,1&gt; E1 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,1,2&gt; E1 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,2,0&gt; E1 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,2,1&gt; E1 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 1,2,2,2&gt; E1 ## E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,0,0&gt; E2 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,0,1&gt; E2 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,0,2&gt; E2 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,1,0&gt; E2 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,1,1&gt; E2 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,1,2&gt; E2 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,2,0&gt; E2 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,2,1&gt; E2 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,0,2,2&gt; E2 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,0,0&gt; E2 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,0,1&gt; E2 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,0,2&gt; E2 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,1,0&gt; E2 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,1,1&gt; E2 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,1,2&gt; E2 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,2,0&gt; E2 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,2,1&gt; E2 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,1,2,2&gt; E2 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,0,0&gt; E2 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,0,1&gt; E2 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,0,2&gt; E2 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,1,0&gt; E2 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,1,1&gt; E2 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,1,2&gt; E2 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,2,0&gt; E2 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,2,1&gt; E2 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4,T, P, V, 2,2,2,2&gt; E2 ## E2 ## E2 ## E2; }; </span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE4_2_MEMBERS(T, P, V, E0,E1,E2,E3) \</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,0,-1,-2&gt; E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,1,-1,-2&gt; E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,2,-1,-2&gt; E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 0,3,-1,-2&gt; E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,0,-1,-2&gt; E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,1,-1,-2&gt; E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,2,-1,-2&gt; E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 1,3,-1,-2&gt; E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,0,-1,-2&gt; E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,1,-1,-2&gt; E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,2,-1,-2&gt; E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 2,3,-1,-2&gt; E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 3,0,-1,-2&gt; E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 3,1,-1,-2&gt; E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 3,2,-1,-2&gt; E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;2,T, P, V, 3,3,-1,-2&gt; E3 ## E3; }; </span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE4_3_MEMBERS(T, P, V, E0,E1,E2,E3) \</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,0,-1&gt; E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,1,-1&gt; E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,2,-1&gt; E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,0,3,-1&gt; E0 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,0,-1&gt; E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,1,-1&gt; E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,2,-1&gt; E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,1,3,-1&gt; E0 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,0,-1&gt; E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,1,-1&gt; E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,2,-1&gt; E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,2,3,-1&gt; E0 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,3,0,-1&gt; E0 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,3,1,-1&gt; E0 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,3,2,-1&gt; E0 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 0,3,3,-1&gt; E0 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,0,-1&gt; E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,1,-1&gt; E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,2,-1&gt; E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,0,3,-1&gt; E1 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,0,-1&gt; E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,1,-1&gt; E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,2,-1&gt; E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,1,3,-1&gt; E1 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,0,-1&gt; E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,1,-1&gt; E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,2,-1&gt; E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,2,3,-1&gt; E1 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,3,0,-1&gt; E1 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,3,1,-1&gt; E1 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,3,2,-1&gt; E1 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 1,3,3,-1&gt; E1 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,0,-1&gt; E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,1,-1&gt; E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,2,-1&gt; E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,0,3,-1&gt; E2 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,0,-1&gt; E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,1,-1&gt; E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,2,-1&gt; E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,1,3,-1&gt; E2 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,0,-1&gt; E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,1,-1&gt; E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,2,-1&gt; E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,2,3,-1&gt; E2 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,3,0,-1&gt; E2 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,3,1,-1&gt; E2 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,3,2,-1&gt; E2 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 2,3,3,-1&gt; E2 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,0,0,-1&gt; E3 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,0,1,-1&gt; E3 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,0,2,-1&gt; E3 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,0,3,-1&gt; E3 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,1,0,-1&gt; E3 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,1,1,-1&gt; E3 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,1,2,-1&gt; E3 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,1,3,-1&gt; E3 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,2,0,-1&gt; E3 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,2,1,-1&gt; E3 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,2,2,-1&gt; E3 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,2,3,-1&gt; E3 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,3,0,-1&gt; E3 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,3,1,-1&gt; E3 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,3,2,-1&gt; E3 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;3, T, P, V, 3,3,3,-1&gt; E3 ## E3 ## E3; };  </span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="preprocessor">#define _GLM_SWIZZLE4_4_MEMBERS(T, P, V, E0,E1,E2,E3) \</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,0,0&gt; E0 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,0,1&gt; E0 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,0,2&gt; E0 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,0,3&gt; E0 ## E0 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,1,0&gt; E0 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,1,1&gt; E0 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,1,2&gt; E0 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,1,3&gt; E0 ## E0 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,2,0&gt; E0 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,2,1&gt; E0 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,2,2&gt; E0 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,2,3&gt; E0 ## E0 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,3,0&gt; E0 ## E0 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,3,1&gt; E0 ## E0 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,3,2&gt; E0 ## E0 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,0,3,3&gt; E0 ## E0 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,0,0&gt; E0 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,0,1&gt; E0 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,0,2&gt; E0 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,0,3&gt; E0 ## E1 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,1,0&gt; E0 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,1,1&gt; E0 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,1,2&gt; E0 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,1,3&gt; E0 ## E1 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,2,0&gt; E0 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,2,1&gt; E0 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,2,2&gt; E0 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,2,3&gt; E0 ## E1 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,3,0&gt; E0 ## E1 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,3,1&gt; E0 ## E1 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,3,2&gt; E0 ## E1 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,1,3,3&gt; E0 ## E1 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,0,0&gt; E0 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,0,1&gt; E0 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,0,2&gt; E0 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,0,3&gt; E0 ## E2 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,1,0&gt; E0 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,1,1&gt; E0 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,1,2&gt; E0 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,1,3&gt; E0 ## E2 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,2,0&gt; E0 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,2,1&gt; E0 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,2,2&gt; E0 ## E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,2,3&gt; E0 ## E2 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,3,0&gt; E0 ## E2 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,3,1&gt; E0 ## E2 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,3,2&gt; E0 ## E2 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,2,3,3&gt; E0 ## E2 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,0,0&gt; E0 ## E3 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,0,1&gt; E0 ## E3 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,0,2&gt; E0 ## E3 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,0,3&gt; E0 ## E3 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,1,0&gt; E0 ## E3 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,1,1&gt; E0 ## E3 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,1,2&gt; E0 ## E3 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,1,3&gt; E0 ## E3 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,2,0&gt; E0 ## E3 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,2,1&gt; E0 ## E3 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,2,2&gt; E0 ## E3 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,2,3&gt; E0 ## E3 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,3,0&gt; E0 ## E3 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,3,1&gt; E0 ## E3 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,3,2&gt; E0 ## E3 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 0,3,3,3&gt; E0 ## E3 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,0,0&gt; E1 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,0,1&gt; E1 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,0,2&gt; E1 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,0,3&gt; E1 ## E0 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,1,0&gt; E1 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,1,1&gt; E1 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,1,2&gt; E1 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,1,3&gt; E1 ## E0 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,2,0&gt; E1 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,2,1&gt; E1 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,2,2&gt; E1 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,2,3&gt; E1 ## E0 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,3,0&gt; E1 ## E0 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,3,1&gt; E1 ## E0 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,3,2&gt; E1 ## E0 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,0,3,3&gt; E1 ## E0 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,0,0&gt; E1 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,0,1&gt; E1 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,0,2&gt; E1 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,0,3&gt; E1 ## E1 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,1,0&gt; E1 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,1,1&gt; E1 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,1,2&gt; E1 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,1,3&gt; E1 ## E1 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,2,0&gt; E1 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,2,1&gt; E1 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,2,2&gt; E1 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,2,3&gt; E1 ## E1 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,3,0&gt; E1 ## E1 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,3,1&gt; E1 ## E1 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,3,2&gt; E1 ## E1 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,1,3,3&gt; E1 ## E1 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,0,0&gt; E1 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,0,1&gt; E1 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,0,2&gt; E1 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,0,3&gt; E1 ## E2 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,1,0&gt; E1 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,1,1&gt; E1 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,1,2&gt; E1 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,1,3&gt; E1 ## E2 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,2,0&gt; E1 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,2,1&gt; E1 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,2,2&gt; E1 ## E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,2,3&gt; E1 ## E2 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,3,0&gt; E1 ## E2 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,3,1&gt; E1 ## E2 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,3,2&gt; E1 ## E2 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,2,3,3&gt; E1 ## E2 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,0,0&gt; E1 ## E3 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,0,1&gt; E1 ## E3 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,0,2&gt; E1 ## E3 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,0,3&gt; E1 ## E3 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,1,0&gt; E1 ## E3 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,1,1&gt; E1 ## E3 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,1,2&gt; E1 ## E3 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,1,3&gt; E1 ## E3 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,2,0&gt; E1 ## E3 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,2,1&gt; E1 ## E3 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,2,2&gt; E1 ## E3 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,2,3&gt; E1 ## E3 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,3,0&gt; E1 ## E3 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,3,1&gt; E1 ## E3 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,3,2&gt; E1 ## E3 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 1,3,3,3&gt; E1 ## E3 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,0,0&gt; E2 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,0,1&gt; E2 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,0,2&gt; E2 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,0,3&gt; E2 ## E0 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,1,0&gt; E2 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,1,1&gt; E2 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,1,2&gt; E2 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,1,3&gt; E2 ## E0 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,2,0&gt; E2 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,2,1&gt; E2 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,2,2&gt; E2 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,2,3&gt; E2 ## E0 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,3,0&gt; E2 ## E0 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,3,1&gt; E2 ## E0 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,3,2&gt; E2 ## E0 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,0,3,3&gt; E2 ## E0 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,0,0&gt; E2 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,0,1&gt; E2 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,0,2&gt; E2 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,0,3&gt; E2 ## E1 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,1,0&gt; E2 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,1,1&gt; E2 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,1,2&gt; E2 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,1,3&gt; E2 ## E1 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,2,0&gt; E2 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,2,1&gt; E2 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,2,2&gt; E2 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,2,3&gt; E2 ## E1 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,3,0&gt; E2 ## E1 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,3,1&gt; E2 ## E1 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,3,2&gt; E2 ## E1 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,1,3,3&gt; E2 ## E1 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,0,0&gt; E2 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,0,1&gt; E2 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,0,2&gt; E2 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,0,3&gt; E2 ## E2 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,1,0&gt; E2 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,1,1&gt; E2 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,1,2&gt; E2 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,1,3&gt; E2 ## E2 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,2,0&gt; E2 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,2,1&gt; E2 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,2,2&gt; E2 ## E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,2,3&gt; E2 ## E2 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,3,0&gt; E2 ## E2 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,3,1&gt; E2 ## E2 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,3,2&gt; E2 ## E2 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,2,3,3&gt; E2 ## E2 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,0,0&gt; E2 ## E3 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,0,1&gt; E2 ## E3 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,0,2&gt; E2 ## E3 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,0,3&gt; E2 ## E3 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,1,0&gt; E2 ## E3 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,1,1&gt; E2 ## E3 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,1,2&gt; E2 ## E3 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,1,3&gt; E2 ## E3 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,2,0&gt; E2 ## E3 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,2,1&gt; E2 ## E3 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,2,2&gt; E2 ## E3 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,2,3&gt; E2 ## E3 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,3,0&gt; E2 ## E3 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,3,1&gt; E2 ## E3 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,3,2&gt; E2 ## E3 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 2,3,3,3&gt; E2 ## E3 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,0,0&gt; E3 ## E0 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,0,1&gt; E3 ## E0 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,0,2&gt; E3 ## E0 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,0,3&gt; E3 ## E0 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,1,0&gt; E3 ## E0 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,1,1&gt; E3 ## E0 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,1,2&gt; E3 ## E0 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,1,3&gt; E3 ## E0 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,2,0&gt; E3 ## E0 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,2,1&gt; E3 ## E0 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,2,2&gt; E3 ## E0 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,2,3&gt; E3 ## E0 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,3,0&gt; E3 ## E0 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,3,1&gt; E3 ## E0 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,3,2&gt; E3 ## E0 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,0,3,3&gt; E3 ## E0 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,0,0&gt; E3 ## E1 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,0,1&gt; E3 ## E1 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,0,2&gt; E3 ## E1 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,0,3&gt; E3 ## E1 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,1,0&gt; E3 ## E1 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,1,1&gt; E3 ## E1 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,1,2&gt; E3 ## E1 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,1,3&gt; E3 ## E1 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,2,0&gt; E3 ## E1 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,2,1&gt; E3 ## E1 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,2,2&gt; E3 ## E1 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,2,3&gt; E3 ## E1 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,3,0&gt; E3 ## E1 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,3,1&gt; E3 ## E1 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,3,2&gt; E3 ## E1 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,1,3,3&gt; E3 ## E1 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,0,0&gt; E3 ## E2 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,0,1&gt; E3 ## E2 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,0,2&gt; E3 ## E2 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,0,3&gt; E3 ## E2 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,1,0&gt; E3 ## E2 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,1,1&gt; E3 ## E2 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,1,2&gt; E3 ## E2 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,1,3&gt; E3 ## E2 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,2,0&gt; E3 ## E2 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,2,1&gt; E3 ## E2 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,2,2&gt; E3 ## E2 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,2,3&gt; E3 ## E2 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,3,0&gt; E3 ## E2 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,3,1&gt; E3 ## E2 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,3,2&gt; E3 ## E2 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,2,3,3&gt; E3 ## E2 ## E3 ## E3; }; \</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,0,0&gt; E3 ## E3 ## E0 ## E0; }; \</span></div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,0,1&gt; E3 ## E3 ## E0 ## E1; }; \</span></div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,0,2&gt; E3 ## E3 ## E0 ## E2; }; \</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,0,3&gt; E3 ## E3 ## E0 ## E3; }; \</span></div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,1,0&gt; E3 ## E3 ## E1 ## E0; }; \</span></div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,1,1&gt; E3 ## E3 ## E1 ## E1; }; \</span></div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,1,2&gt; E3 ## E3 ## E1 ## E2; }; \</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,1,3&gt; E3 ## E3 ## E1 ## E3; }; \</span></div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,2,0&gt; E3 ## E3 ## E2 ## E0; }; \</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,2,1&gt; E3 ## E3 ## E2 ## E1; }; \</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,2,2&gt; E3 ## E3 ## E2 ## E2; }; \</span></div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,2,3&gt; E3 ## E3 ## E2 ## E3; }; \</span></div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,3,0&gt; E3 ## E3 ## E3 ## E0; }; \</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,3,1&gt; E3 ## E3 ## E3 ## E1; }; \</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,3,2&gt; E3 ## E3 ## E3 ## E2; }; \</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;<span class="preprocessor">        struct { detail::_swizzle&lt;4, T, P, V, 3,3,3,3&gt; E3 ## E3 ## E3 ## E3; };</span></div>
+<div class="ttc" id="a00162_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00005.html b/src/third_party/glm/doc/api/a00005.html
new file mode 100644
index 0000000..05e12ab
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00005.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _swizzle_func.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_swizzle_func.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00005_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00005_source.html">_swizzle_func.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00005_source.html b/src/third_party/glm/doc/api/a00005_source.html
new file mode 100644
index 0000000..b8cf723
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00005_source.html
@@ -0,0 +1,754 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _swizzle_func.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_swizzle_func.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00005.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B)        \</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">        SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt; A ## B() CONST                                                                                              \</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">        {                                                                                                                                                                                               \</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">                return SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt;(this-&gt;A, this-&gt;B);                                                           \</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C)             \</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">        SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt; A ## B ## C() CONST                                                                                         \</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">        {                                                                                                                                                                                                       \</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">                return SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt;(this-&gt;A, this-&gt;B, this-&gt;C);                                                  \</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D)  \</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">        SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt; A ## B ## C ## D() CONST                                                                            \</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">        {                                                                                                                                                                                                       \</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">                return SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt;(this-&gt;A, this-&gt;B, this-&gt;C, this-&gt;D);                                 \</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B)    \</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">        template &lt;typename TMPL_TYPE&gt;                                                                                                                                           \</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">        SWIZZLED_TYPE&lt;TMPL_TYPE&gt; CLASS_TYPE&lt;TMPL_TYPE, PRECISION&gt;::A ## B() CONST                                                       \</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">        {                                                                                                                                                                                                       \</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">                return SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt;(this-&gt;A, this-&gt;B);                                                                   \</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C)         \</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">        template &lt;typename TMPL_TYPE&gt;                                                                                                                                                   \</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">        SWIZZLED_TYPE&lt;TMPL_TYPE&gt; CLASS_TYPE&lt;TMPL_TYPE, PRECISION&gt;::A ## B ## C() CONST                                                  \</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">        {                                                                                                                                                                                                               \</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">                return SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt;(this-&gt;A, this-&gt;B, this-&gt;C);                                                          \</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D)      \</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">        template &lt;typename TMPL_TYPE&gt;                                                                                                                                                   \</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">        SWIZZLED_TYPE&lt;TMPL_TYPE&gt; CLASS_TYPE&lt;TMPL_TYPE, PRECISION&gt;::A ## B ## C ## D() CONST                                             \</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">        {                                                                                                                                                                                                               \</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">                return SWIZZLED_TYPE&lt;TMPL_TYPE, PRECISION&gt;(this-&gt;A, this-&gt;B, this-&gt;C, this-&gt;D);                                         \</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">        }</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define GLM_MUTABLE</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, p)</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE)                     \</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y)  \</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g)  \</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \</span></div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)</span></div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span></div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span></div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \</span></div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \</span></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \</span></div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \</span></div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \</span></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \</span></div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \</span></div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C)</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p)</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \</span></div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span></div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \</span></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \</span></div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \</span></div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \</span></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \</span></div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \</span></div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \</span></div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span></div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span></div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \</span></div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \</span></div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \</span></div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \</span></div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \</span></div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \</span></div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \</span></div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \</span></div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \</span></div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \</span></div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \</span></div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \</span></div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \</span></div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \</span></div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \</span></div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \</span></div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \</span></div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \</span></div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \</span></div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \</span></div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \</span></div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \</span></div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \</span></div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \</span></div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \</span></div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \</span></div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \</span></div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \</span></div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \</span></div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \</span></div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \</span></div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \</span></div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \</span></div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \</span></div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \</span></div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \</span></div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \</span></div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \</span></div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \</span></div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \</span></div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \</span></div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \</span></div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \</span></div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \</span></div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \</span></div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \</span></div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \</span></div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \</span></div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \</span></div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \</span></div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \</span></div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \</span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \</span></div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \</span></div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \</span></div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \</span></div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)</span></div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;<span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \</span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;<span class="preprocessor">        GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00006.html b/src/third_party/glm/doc/api/a00006.html
new file mode 100644
index 0000000..2dd5b1d
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00006.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _vectorize.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_vectorize.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00006_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00006_source.html">_vectorize.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00006_source.html b/src/third_party/glm/doc/api/a00006_source.html
new file mode 100644
index 0000000..50c4a9b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00006_source.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: _vectorize.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">_vectorize.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00006.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00128.html">type_vec1.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00129.html">type_vec2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00130.html">type_vec3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00131.html">type_vec4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">namespace </span>detail</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;{</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">struct </span>functor1{};</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        <span class="keyword">struct </span>functor1&lt;R, T, P, tvec1&gt;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec1&lt;R, P&gt; call(R (*Func) (T x), tvec1&lt;T, P&gt; <span class="keyword">const</span> &amp; v)</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;                {</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                        <span class="keywordflow">return</span> tvec1&lt;R, P&gt;(Func(v.x));</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                }</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        };</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        <span class="keyword">struct </span>functor1&lt;R, T, P, tvec2&gt;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        {</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec2&lt;R, P&gt; call(R (*Func) (T x), tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; v)</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                {</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                        <span class="keywordflow">return</span> tvec2&lt;R, P&gt;(Func(v.x), Func(v.y));</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                }</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        };</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">struct </span>functor1&lt;R, T, P, tvec3&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        {</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec3&lt;R, P&gt; call(R (*Func) (T x), tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; v)</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                        <span class="keywordflow">return</span> tvec3&lt;R, P&gt;(Func(v.x), Func(v.y), Func(v.z));</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                }</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        };</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">struct </span>functor1&lt;R, T, P, tvec4&gt;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        {</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec4&lt;R, P&gt; call(R (*Func) (T x), tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; v)</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                {</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                        <span class="keywordflow">return</span> tvec4&lt;R, P&gt;(Func(v.x), Func(v.y), Func(v.z), Func(v.w));</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                }</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        };</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">struct </span>functor2{};</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keyword">struct </span>functor2&lt;T, P, tvec1&gt;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        {</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec1&lt;T, P&gt; call(T (*Func) (T x, T y), tvec1&lt;T, P&gt; <span class="keyword">const</span> &amp; a, tvec1&lt;T, P&gt; <span class="keyword">const</span> &amp; b)</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                {</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                        <span class="keywordflow">return</span> tvec1&lt;T, P&gt;(Func(a.x, b.x));</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                }</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        };</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keyword">struct </span>functor2&lt;T, P, tvec2&gt;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        {</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec2&lt;T, P&gt; call(T (*Func) (T x, T y), tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; a, tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; b)</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                        <span class="keywordflow">return</span> tvec2&lt;T, P&gt;(Func(a.x, b.x), Func(a.y, b.y));</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        };</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">struct </span>functor2&lt;T, P, tvec3&gt;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        {</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec3&lt;T, P&gt; call(T (*Func) (T x, T y), tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; a, tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; b)</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                {</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                        <span class="keywordflow">return</span> tvec3&lt;T, P&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                }</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        };</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keyword">struct </span>functor2&lt;T, P, tvec4&gt;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        {</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec4&lt;T, P&gt; call(T (*Func) (T x, T y), tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; a, tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; b)</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                        <span class="keywordflow">return</span> tvec4&lt;T, P&gt;(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                }</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        };</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keyword">struct </span>functor2_vec_sca{};</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keyword">struct </span>functor2_vec_sca&lt;T, P, tvec1&gt;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        {</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec1&lt;T, P&gt; call(T (*Func) (T x, T y), tvec1&lt;T, P&gt; <span class="keyword">const</span> &amp; a, T b)</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                {</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                        <span class="keywordflow">return</span> tvec1&lt;T, P&gt;(Func(a.x, b));</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                }</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        };</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">struct </span>functor2_vec_sca&lt;T, P, tvec2&gt;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        {</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec2&lt;T, P&gt; call(T (*Func) (T x, T y), tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; a, T b)</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                {</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                        <span class="keywordflow">return</span> tvec2&lt;T, P&gt;(Func(a.x, b), Func(a.y, b));</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                }</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        };</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">struct </span>functor2_vec_sca&lt;T, P, tvec3&gt;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        {</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec3&lt;T, P&gt; call(T (*Func) (T x, T y), tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; a, T b)</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                {</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                        <span class="keywordflow">return</span> tvec3&lt;T, P&gt;(Func(a.x, b), Func(a.y, b), Func(a.z, b));</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                }</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        };</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">struct </span>functor2_vec_sca&lt;T, P, tvec4&gt;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        {</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec4&lt;T, P&gt; call(T (*Func) (T x, T y), tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; a, T b)</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                        <span class="keywordflow">return</span> tvec4&lt;T, P&gt;(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                }</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        };</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;}<span class="comment">//namespace detail</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00130_html"><div class="ttname"><a href="a00130.html">type_vec3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00129_html"><div class="ttname"><a href="a00129.html">type_vec2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00131_html"><div class="ttname"><a href="a00131.html">type_vec4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00128_html"><div class="ttname"><a href="a00128.html">type_vec1.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00007.html b/src/third_party/glm/doc/api/a00007.html
new file mode 100644
index 0000000..cc8b373
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00007.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: associated_min_max.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">associated_min_max.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00007_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
+<tr class="memitem:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga7d9c8785230c8db60f72ec8975f1ba45">associatedMax</a> (T x, U a, T y, U b)</td></tr>
+<tr class="separator:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga10ba6001798f42a0f941f19ff30e066a"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga10ba6001798f42a0f941f19ff30e066a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga10ba6001798f42a0f941f19ff30e066a">associatedMax</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; U, P &gt; const &amp;a, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;b)</td></tr>
+<tr class="separator:ga10ba6001798f42a0f941f19ff30e066a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga62ca63cca6b21387b8a25474f441a869"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga62ca63cca6b21387b8a25474f441a869"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga62ca63cca6b21387b8a25474f441a869">associatedMax</a> (T x, vecType&lt; U, P &gt; const &amp;a, T y, vecType&lt; U, P &gt; const &amp;b)</td></tr>
+<tr class="separator:ga62ca63cca6b21387b8a25474f441a869"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5364520173815b66a9d9e452c38bf312"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga5364520173815b66a9d9e452c38bf312"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga5364520173815b66a9d9e452c38bf312">associatedMax</a> (vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b)</td></tr>
+<tr class="separator:ga5364520173815b66a9d9e452c38bf312"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaec891e363d91abbf3a4443cf2f652209"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
+<tr class="memitem:gaec891e363d91abbf3a4443cf2f652209"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gaec891e363d91abbf3a4443cf2f652209">associatedMax</a> (T x, U a, T y, U b, T z, U c)</td></tr>
+<tr class="separator:gaec891e363d91abbf3a4443cf2f652209"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga065a0c1eb7837118ef79be88dfd78487"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga065a0c1eb7837118ef79be88dfd78487"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga065a0c1eb7837118ef79be88dfd78487">associatedMax</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; U, P &gt; const &amp;a, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;b, vecType&lt; T, P &gt; const &amp;z, vecType&lt; U, P &gt; const &amp;c)</td></tr>
+<tr class="separator:ga065a0c1eb7837118ef79be88dfd78487"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga553431a468e251623408603bcb51c9cb"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga553431a468e251623408603bcb51c9cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga553431a468e251623408603bcb51c9cb">associatedMax</a> (T x, vecType&lt; U, P &gt; const &amp;a, T y, vecType&lt; U, P &gt; const &amp;b, T z, vecType&lt; U, P &gt; const &amp;c)</td></tr>
+<tr class="separator:ga553431a468e251623408603bcb51c9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga327136e6a568569c03a056f90814b656"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga327136e6a568569c03a056f90814b656"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga327136e6a568569c03a056f90814b656">associatedMax</a> (vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b, vecType&lt; T, P &gt; const &amp;z, U c)</td></tr>
+<tr class="separator:ga327136e6a568569c03a056f90814b656"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
+<tr class="memitem:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga3038ffcb43eaa6af75897a99a5047ccc">associatedMax</a> (T x, U a, T y, U b, T z, U c, T w, U d)</td></tr>
+<tr class="separator:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf607886421c35cd7e4f41a50d7c330e3"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaf607886421c35cd7e4f41a50d7c330e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gaf607886421c35cd7e4f41a50d7c330e3">associatedMax</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; U, P &gt; const &amp;a, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;b, vecType&lt; T, P &gt; const &amp;z, vecType&lt; U, P &gt; const &amp;c, vecType&lt; T, P &gt; const &amp;w, vecType&lt; U, P &gt; const &amp;d)</td></tr>
+<tr class="separator:gaf607886421c35cd7e4f41a50d7c330e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7a165de1af9a3f9193516a3b47407086"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga7a165de1af9a3f9193516a3b47407086"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga7a165de1af9a3f9193516a3b47407086">associatedMax</a> (T x, vecType&lt; U, P &gt; const &amp;a, T y, vecType&lt; U, P &gt; const &amp;b, T z, vecType&lt; U, P &gt; const &amp;c, T w, vecType&lt; U, P &gt; const &amp;d)</td></tr>
+<tr class="separator:ga7a165de1af9a3f9193516a3b47407086"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3122fbe8133ea54749b10fb93e8a167e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga3122fbe8133ea54749b10fb93e8a167e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a> (vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b, vecType&lt; T, P &gt; const &amp;z, U c, vecType&lt; T, P &gt; const &amp;w, U d)</td></tr>
+<tr class="separator:ga3122fbe8133ea54749b10fb93e8a167e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacc01bd272359572fc28437ae214a02df"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P&gt; </td></tr>
+<tr class="memitem:gacc01bd272359572fc28437ae214a02df"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gacc01bd272359572fc28437ae214a02df">associatedMin</a> (T x, U a, T y, U b)</td></tr>
+<tr class="separator:gacc01bd272359572fc28437ae214a02df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8b538d10872626668a078e2bd495af25"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga8b538d10872626668a078e2bd495af25"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga8b538d10872626668a078e2bd495af25">associatedMin</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; U, P &gt; const &amp;a, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;b)</td></tr>
+<tr class="separator:ga8b538d10872626668a078e2bd495af25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1dccff48fa5650c746533de83467da6e"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga1dccff48fa5650c746533de83467da6e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga1dccff48fa5650c746533de83467da6e">associatedMin</a> (T x, const vecType&lt; U, P &gt; &amp;a, T y, const vecType&lt; U, P &gt; &amp;b)</td></tr>
+<tr class="separator:ga1dccff48fa5650c746533de83467da6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga076717f4e07c6ae725cc1382d1ac4869"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga076717f4e07c6ae725cc1382d1ac4869"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga076717f4e07c6ae725cc1382d1ac4869">associatedMin</a> (vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b)</td></tr>
+<tr class="separator:ga076717f4e07c6ae725cc1382d1ac4869"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0aa8f86259a26d839d34a3577a923fc"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
+<tr class="memitem:gad0aa8f86259a26d839d34a3577a923fc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gad0aa8f86259a26d839d34a3577a923fc">associatedMin</a> (T x, U a, T y, U b, T z, U c)</td></tr>
+<tr class="separator:gad0aa8f86259a26d839d34a3577a923fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5bc6b9acbf9e060d58a342fbe3b73d43"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga5bc6b9acbf9e060d58a342fbe3b73d43"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga5bc6b9acbf9e060d58a342fbe3b73d43">associatedMin</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; U, P &gt; const &amp;a, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;b, vecType&lt; T, P &gt; const &amp;z, vecType&lt; U, P &gt; const &amp;c)</td></tr>
+<tr class="separator:ga5bc6b9acbf9e060d58a342fbe3b73d43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U &gt; </td></tr>
+<tr class="memitem:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga432224ebe2085eaa2b63a077ecbbbff6">associatedMin</a> (T x, U a, T y, U b, T z, U c, T w, U d)</td></tr>
+<tr class="separator:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga88e031f22b80215505928900d3dde549"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga88e031f22b80215505928900d3dde549"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga88e031f22b80215505928900d3dde549">associatedMin</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; U, P &gt; const &amp;a, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;b, vecType&lt; T, P &gt; const &amp;z, vecType&lt; U, P &gt; const &amp;c, vecType&lt; T, P &gt; const &amp;w, vecType&lt; U, P &gt; const &amp;d)</td></tr>
+<tr class="separator:ga88e031f22b80215505928900d3dde549"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0f63b0dce5a5c3242cc6d9847e7d14f1"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga0f63b0dce5a5c3242cc6d9847e7d14f1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga0f63b0dce5a5c3242cc6d9847e7d14f1">associatedMin</a> (T x, vecType&lt; U, P &gt; const &amp;a, T y, vecType&lt; U, P &gt; const &amp;b, T z, vecType&lt; U, P &gt; const &amp;c, T w, vecType&lt; U, P &gt; const &amp;d)</td></tr>
+<tr class="separator:ga0f63b0dce5a5c3242cc6d9847e7d14f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga00a949fd345f4b31b259f033d3ab4a1c"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga00a949fd345f4b31b259f033d3ab4a1c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; U, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a> (vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b, vecType&lt; T, P &gt; const &amp;z, U c, vecType&lt; T, P &gt; const &amp;w, U d)</td></tr>
+<tr class="separator:ga00a949fd345f4b31b259f033d3ab4a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00181.html">GLM_GTX_associated_min_max</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00192.html" title="Min and max functions for 3 to 4 parameters. ">GLM_GTX_extented_min_max</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00007_source.html">associated_min_max.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00007_source.html b/src/third_party/glm/doc/api/a00007_source.html
new file mode 100644
index 0000000..d3d9bb2
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00007_source.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: associated_min_max.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">associated_min_max.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00007.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_associated_min_max extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL U <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(T x, U a, T y, U b);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        GLM_FUNC_DECL tvec2&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                T x, <span class="keyword">const</span> vecType&lt;U, P&gt;&amp; a,</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                T y, <span class="keyword">const</span> vecType&lt;U, P&gt;&amp; b);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, U a,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, U b);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        GLM_FUNC_DECL U <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                T x, U a,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                T y, U b,</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                T z, U c);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        GLM_FUNC_DECL U <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                T x, U a,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                T y, U b,</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                T z, U c,</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                T w, U d);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c,</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; w, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; d);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                T x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                T y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                T z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                T w, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; d);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, U a,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, U b,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, U c,</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; w, U d);</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        GLM_FUNC_DECL U <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(T x, U a, T y, U b);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        GLM_FUNC_DECL tvec2&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                T x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                T y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, U a,</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, U b);</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL U <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                T x, U a,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                T y, U b,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                T z, U c);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                T x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                T y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                T z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, U a,</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, U b,</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, U c);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U&gt;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL U <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                T x, U a,</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                T y, U b,</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;                T z, U c,</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                T w, U d);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c,</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; w, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; d);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                T x, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a,</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                T y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; b,</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                T z, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; c,</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                T w, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; d);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        GLM_FUNC_DECL vecType&lt;U, P&gt; <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, U a,</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, U b,</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; z, U c,</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; w, U d);</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#include &quot;associated_min_max.inl&quot;</span></div>
+<div class="ttc" id="a00181_html_ga3122fbe8133ea54749b10fb93e8a167e"><div class="ttname"><a href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">glm::associatedMax</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; U, P &gt; associatedMax(vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b, vecType&lt; T, P &gt; const &amp;z, U c, vecType&lt; T, P &gt; const &amp;w, U d)</div><div class="ttdoc">Maximum comparison between 4 variables and returns 4 associated variable values. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00181_html_ga00a949fd345f4b31b259f033d3ab4a1c"><div class="ttname"><a href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">glm::associatedMin</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; U, P &gt; associatedMin(vecType&lt; T, P &gt; const &amp;x, U a, vecType&lt; T, P &gt; const &amp;y, U b, vecType&lt; T, P &gt; const &amp;z, U c, vecType&lt; T, P &gt; const &amp;w, U d)</div><div class="ttdoc">Minimum comparison between 4 variables and returns 4 associated variable values. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00008.html b/src/third_party/glm/doc/api/a00008.html
new file mode 100644
index 0000000..2ac48be
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00008.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: bit.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">bit.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00008_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga0dcc8fe7c3d3ad60dea409281efa3d05">highestBitValue</a> (genIUType Value)</td></tr>
+<tr class="separator:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5eea3a4d429040af13d39a7d7cd84d73"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga5eea3a4d429040af13d39a7d7cd84d73"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">highestBitValue</a> (vecType&lt; T, P &gt; const &amp;value)</td></tr>
+<tr class="separator:ga5eea3a4d429040af13d39a7d7cd84d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga2ff6568089f3a9b67f5c30918855fc6f">lowestBitValue</a> (genIUType Value)</td></tr>
+<tr class="separator:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8cda2459871f574a0aecbe702ac93291"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga8cda2459871f574a0aecbe702ac93291"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga8cda2459871f574a0aecbe702ac93291">powerOfTwoAbove</a> (genIUType Value)</td></tr>
+<tr class="separator:ga8cda2459871f574a0aecbe702ac93291"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafe08808a50226b75b50e640a08b32ddc"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gafe08808a50226b75b50e640a08b32ddc"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">powerOfTwoAbove</a> (vecType&lt; T, P &gt; const &amp;value)</td></tr>
+<tr class="separator:gafe08808a50226b75b50e640a08b32ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3de7df63c589325101a2817a56f8e29d"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga3de7df63c589325101a2817a56f8e29d"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga3de7df63c589325101a2817a56f8e29d">powerOfTwoBelow</a> (genIUType Value)</td></tr>
+<tr class="separator:ga3de7df63c589325101a2817a56f8e29d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae33bb1ca2b55846b23a0f0796a679195"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gae33bb1ca2b55846b23a0f0796a679195"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">powerOfTwoBelow</a> (vecType&lt; T, P &gt; const &amp;value)</td></tr>
+<tr class="separator:gae33bb1ca2b55846b23a0f0796a679195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga5f65973a5d2ea38c719e6a663149ead9">powerOfTwoNearest</a> (genIUType Value)</td></tr>
+<tr class="separator:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2d7e85995d097518b8d70cd409bda39e"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga2d7e85995d097518b8d70cd409bda39e"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">powerOfTwoNearest</a> (vecType&lt; T, P &gt; const &amp;value)</td></tr>
+<tr class="separator:ga2d7e85995d097518b8d70cd409bda39e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00182.html">GLM_GTX_bit</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00008_source.html">bit.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00008_source.html b/src/third_party/glm/doc/api/a00008_source.html
new file mode 100644
index 0000000..0c428de
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00008_source.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: bit.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">bit.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00008.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../gtc/bitfield.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">highestBitValue</a>(genIUType Value);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#ga2ff6568089f3a9b67f5c30918855fc6f">lowestBitValue</a>(genIUType Value);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">highestBitValue</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; value);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">powerOfTwoAbove</a>(genIUType Value);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        GLM_DEPRECATED GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">powerOfTwoAbove</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; value);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">powerOfTwoBelow</a>(genIUType Value);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        GLM_DEPRECATED GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">powerOfTwoBelow</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; value);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">powerOfTwoNearest</a>(genIUType Value);</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        GLM_DEPRECATED GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">powerOfTwoNearest</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; value);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#include &quot;bit.inl&quot;</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="ttc" id="a00182_html_gae33bb1ca2b55846b23a0f0796a679195"><div class="ttname"><a href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">glm::powerOfTwoBelow</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vecType&lt; T, P &gt; powerOfTwoBelow(vecType&lt; T, P &gt; const &amp;value)</div><div class="ttdoc">Return the power of two number which value is just lower the input value. </div></div>
+<div class="ttc" id="a00182_html_gafe08808a50226b75b50e640a08b32ddc"><div class="ttname"><a href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">glm::powerOfTwoAbove</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vecType&lt; T, P &gt; powerOfTwoAbove(vecType&lt; T, P &gt; const &amp;value)</div><div class="ttdoc">Return the power of two number which value is just higher the input value. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00182_html_ga2ff6568089f3a9b67f5c30918855fc6f"><div class="ttname"><a href="a00182.html#ga2ff6568089f3a9b67f5c30918855fc6f">glm::lowestBitValue</a></div><div class="ttdeci">GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value)</div></div>
+<div class="ttc" id="a00182_html_ga5eea3a4d429040af13d39a7d7cd84d73"><div class="ttname"><a href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">glm::highestBitValue</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; highestBitValue(vecType&lt; T, P &gt; const &amp;value)</div><div class="ttdoc">Find the highest bit set to 1 in a integer variable and return its value. </div></div>
+<div class="ttc" id="a00182_html_ga2d7e85995d097518b8d70cd409bda39e"><div class="ttname"><a href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">glm::powerOfTwoNearest</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vecType&lt; T, P &gt; powerOfTwoNearest(vecType&lt; T, P &gt; const &amp;value)</div><div class="ttdoc">Return the power of two number which value is the closet to the input value. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00009.html b/src/third_party/glm/doc/api/a00009.html
new file mode 100644
index 0000000..a1a9621
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00009.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: bitfield.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">bitfield.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00009_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga46f9295abe3b5c7658f5b13c7f819f0a">bitfieldFillOne</a> (genIUType Value, int FirstBit, int BitCount)</td></tr>
+<tr class="separator:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad789042e84e8292ae95dc1af856f2ad5"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gad789042e84e8292ae95dc1af856f2ad5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">bitfieldFillOne</a> (vecType&lt; T, P &gt; const &amp;Value, int FirstBit, int BitCount)</td></tr>
+<tr class="separator:gad789042e84e8292ae95dc1af856f2ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga697b86998b7d74ee0a69d8e9f8819fee">bitfieldFillZero</a> (genIUType Value, int FirstBit, int BitCount)</td></tr>
+<tr class="separator:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaddba3196316b0bd240295b09b43c2958"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaddba3196316b0bd240295b09b43c2958"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaddba3196316b0bd240295b09b43c2958">bitfieldFillZero</a> (vecType&lt; T, P &gt; const &amp;Value, int FirstBit, int BitCount)</td></tr>
+<tr class="separator:gaddba3196316b0bd240295b09b43c2958"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga24cad0069f9a0450abd80b3e89501adf"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga24cad0069f9a0450abd80b3e89501adf">bitfieldInterleave</a> (int8 x, int8 y)</td></tr>
+<tr class="separator:ga24cad0069f9a0450abd80b3e89501adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9a4976a529aec2cee56525e1165da484"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga9a4976a529aec2cee56525e1165da484">bitfieldInterleave</a> (uint8 x, uint8 y)</td></tr>
+<tr class="separator:ga9a4976a529aec2cee56525e1165da484"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac51c33a394593f0631fa3aa5bb778809"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gac51c33a394593f0631fa3aa5bb778809">bitfieldInterleave</a> (int16 x, int16 y)</td></tr>
+<tr class="separator:gac51c33a394593f0631fa3aa5bb778809"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga94f3646a5667f4be56f8dcf3310e963f"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga94f3646a5667f4be56f8dcf3310e963f">bitfieldInterleave</a> (uint16 x, uint16 y)</td></tr>
+<tr class="separator:ga94f3646a5667f4be56f8dcf3310e963f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gaebb756a24a0784e3d6fba8bd011ab77a">bitfieldInterleave</a> (int32 x, int32 y)</td></tr>
+<tr class="separator:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga2f1e2b3fe699e7d897ae38b2115ddcbd">bitfieldInterleave</a> (uint32 x, uint32 y)</td></tr>
+<tr class="separator:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8fdb724dccd4a07d57efc01147102137"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga8fdb724dccd4a07d57efc01147102137">bitfieldInterleave</a> (int8 x, int8 y, int8 z)</td></tr>
+<tr class="separator:ga8fdb724dccd4a07d57efc01147102137"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga9fc2a0dd5dcf8b00e113f272a5feca93">bitfieldInterleave</a> (uint8 x, uint8 y, uint8 z)</td></tr>
+<tr class="separator:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa901c36a842fa5d126ea650549f17b24"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gaa901c36a842fa5d126ea650549f17b24">bitfieldInterleave</a> (int16 x, int16 y, int16 z)</td></tr>
+<tr class="separator:gaa901c36a842fa5d126ea650549f17b24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3afd6d38881fe3948c53d4214d2197fd"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga3afd6d38881fe3948c53d4214d2197fd">bitfieldInterleave</a> (uint16 x, uint16 y, uint16 z)</td></tr>
+<tr class="separator:ga3afd6d38881fe3948c53d4214d2197fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad2075d96a6640121edaa98ea534102ca"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gad2075d96a6640121edaa98ea534102ca">bitfieldInterleave</a> (int32 x, int32 y, int32 z)</td></tr>
+<tr class="separator:gad2075d96a6640121edaa98ea534102ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab19fbc739fc0cf7247978602c36f7da8"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gab19fbc739fc0cf7247978602c36f7da8">bitfieldInterleave</a> (uint32 x, uint32 y, uint32 z)</td></tr>
+<tr class="separator:gab19fbc739fc0cf7247978602c36f7da8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga8a44ae22f5c953b296c42d067dccbe6d">bitfieldInterleave</a> (int8 x, int8 y, int8 z, int8 w)</td></tr>
+<tr class="separator:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga14bb274d54a3c26f4919dd7ed0dd0c36">bitfieldInterleave</a> (uint8 x, uint8 y, uint8 z, uint8 w)</td></tr>
+<tr class="separator:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga180a63161e1319fbd5a53c84d0429c7a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga180a63161e1319fbd5a53c84d0429c7a">bitfieldInterleave</a> (int16 x, int16 y, int16 z, int16 w)</td></tr>
+<tr class="separator:ga180a63161e1319fbd5a53c84d0429c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafca8768671a14c8016facccb66a89f26"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a> (uint16 x, uint16 y, uint16 z, uint16 w)</td></tr>
+<tr class="separator:gafca8768671a14c8016facccb66a89f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga2eb49678a344ce1495bdb5586d9896b9">bitfieldRotateLeft</a> (genIUType In, int Shift)</td></tr>
+<tr class="separator:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga410d130917d85b865718e3ebc32cf0ef"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga410d130917d85b865718e3ebc32cf0ef"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">bitfieldRotateLeft</a> (vecType&lt; T, P &gt; const &amp;In, int Shift)</td></tr>
+<tr class="separator:ga410d130917d85b865718e3ebc32cf0ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga1c33d075c5fb8bd8dbfd5092bfc851ca">bitfieldRotateRight</a> (genIUType In, int Shift)</td></tr>
+<tr class="separator:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga96b56fd2adad1eeaee9e10dfe83904ba"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga96b56fd2adad1eeaee9e10dfe83904ba"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">bitfieldRotateRight</a> (vecType&lt; T, P &gt; const &amp;In, int Shift)</td></tr>
+<tr class="separator:ga96b56fd2adad1eeaee9e10dfe83904ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad7eba518a0b71662114571ee76939f8a"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:gad7eba518a0b71662114571ee76939f8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gad7eba518a0b71662114571ee76939f8a">mask</a> (genIUType Bits)</td></tr>
+<tr class="separator:gad7eba518a0b71662114571ee76939f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga073dbd8642f550b51da3572541431c1c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecIUType&gt; </td></tr>
+<tr class="memitem:ga073dbd8642f550b51da3572541431c1c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecIUType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga073dbd8642f550b51da3572541431c1c">mask</a> (vecIUType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga073dbd8642f550b51da3572541431c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00160.html">GLM_GTC_bitfield</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00160.html" title="Allow to perform bit operations on integer values. ">GLM_GTC_bitfield</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00009_source.html">bitfield.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00009_source.html b/src/third_party/glm/doc/api/a00009_source.html
new file mode 100644
index 0000000..9d837c2
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00009_source.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: bitfield.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">bitfield.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00009.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../detail/type_int.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../detail/_vectorize.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_bitfield extension included&quot;)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#ga073dbd8642f550b51da3572541431c1c">mask</a>(genIUType Bits);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecIUType&gt;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        GLM_FUNC_DECL vecIUType&lt;T, P&gt; <a class="code" href="a00160.html#ga073dbd8642f550b51da3572541431c1c">mask</a>(vecIUType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">bitfieldRotateRight</a>(genIUType In, <span class="keywordtype">int</span> Shift);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">bitfieldRotateRight</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; In, <span class="keywordtype">int</span> Shift);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">bitfieldRotateLeft</a>(genIUType In, <span class="keywordtype">int</span> Shift);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">bitfieldRotateLeft</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; In, <span class="keywordtype">int</span> Shift);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">bitfieldFillOne</a>(genIUType Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">bitfieldFillOne</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#gaddba3196316b0bd240295b09b43c2958">bitfieldFillZero</a>(genIUType Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00160.html#gaddba3196316b0bd240295b09b43c2958">bitfieldFillZero</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        GLM_FUNC_DECL int16 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        GLM_FUNC_DECL uint16 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        GLM_FUNC_DECL int32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        GLM_FUNC_DECL uint32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int32 x, int32 y);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint32 x, uint32 y);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        GLM_FUNC_DECL int32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y, int8 z);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL uint32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y, uint8 z);</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y, int16 z);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y, uint16 z);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int32 x, int32 y, int32 z);</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint32 x, uint32 y, uint32 z);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        GLM_FUNC_DECL int32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y, int8 z, int8 w);</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        GLM_FUNC_DECL uint32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y, uint8 z, uint8 w);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y, int16 z, int16 w);</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y, uint16 z, uint16 w);</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor">#include &quot;bitfield.inl&quot;</span></div>
+<div class="ttc" id="a00160_html_gafca8768671a14c8016facccb66a89f26"><div class="ttname"><a href="a00160.html#gafca8768671a14c8016facccb66a89f26">glm::bitfieldInterleave</a></div><div class="ttdeci">GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)</div><div class="ttdoc">Interleaves the bits of x, y, z and w. </div></div>
+<div class="ttc" id="a00160_html_ga410d130917d85b865718e3ebc32cf0ef"><div class="ttname"><a href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">glm::bitfieldRotateLeft</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldRotateLeft(vecType&lt; T, P &gt; const &amp;In, int Shift)</div><div class="ttdoc">Rotate all bits to the left. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00160_html_ga073dbd8642f550b51da3572541431c1c"><div class="ttname"><a href="a00160.html#ga073dbd8642f550b51da3572541431c1c">glm::mask</a></div><div class="ttdeci">GLM_FUNC_DECL vecIUType&lt; T, P &gt; mask(vecIUType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Build a mask of &#39;count&#39; bits. </div></div>
+<div class="ttc" id="a00160_html_gad789042e84e8292ae95dc1af856f2ad5"><div class="ttname"><a href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">glm::bitfieldFillOne</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldFillOne(vecType&lt; T, P &gt; const &amp;Value, int FirstBit, int BitCount)</div><div class="ttdoc">Set to 1 a range of bits. </div></div>
+<div class="ttc" id="a00160_html_ga96b56fd2adad1eeaee9e10dfe83904ba"><div class="ttname"><a href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">glm::bitfieldRotateRight</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldRotateRight(vecType&lt; T, P &gt; const &amp;In, int Shift)</div><div class="ttdoc">Rotate all bits to the right. </div></div>
+<div class="ttc" id="a00160_html_gaddba3196316b0bd240295b09b43c2958"><div class="ttname"><a href="a00160.html#gaddba3196316b0bd240295b09b43c2958">glm::bitfieldFillZero</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldFillZero(vecType&lt; T, P &gt; const &amp;Value, int FirstBit, int BitCount)</div><div class="ttdoc">Set to 0 a range of bits. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00010.html b/src/third_party/glm/doc/api/a00010.html
new file mode 100644
index 0000000..9efdc5e
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00010.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: closest_point.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">closest_point.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00010_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gac26353282a8213e469f5e33560c1200f"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gac26353282a8213e469f5e33560c1200f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gac26353282a8213e469f5e33560c1200f">closestPointOnLine</a> (tvec3&lt; T, P &gt; const &amp;point, tvec3&lt; T, P &gt; const &amp;a, tvec3&lt; T, P &gt; const &amp;b)</td></tr>
+<tr class="separator:gac26353282a8213e469f5e33560c1200f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadc7010070bb0cacd284f560299b21660"><td class="memTemplParams" colspan="2"><a class="anchor" id="gadc7010070bb0cacd284f560299b21660"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gadc7010070bb0cacd284f560299b21660"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gadc7010070bb0cacd284f560299b21660">closestPointOnLine</a> (tvec2&lt; T, P &gt; const &amp;point, tvec2&lt; T, P &gt; const &amp;a, tvec2&lt; T, P &gt; const &amp;b)</td></tr>
+<tr class="separator:gadc7010070bb0cacd284f560299b21660"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00183.html">GLM_GTX_closest_point</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00010_source.html">closest_point.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00010_source.html b/src/third_party/glm/doc/api/a00010_source.html
new file mode 100644
index 0000000..9f0b6f4
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00010_source.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: closest_point.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">closest_point.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00010.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_closest_point extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00183.html#gadc7010070bb0cacd284f560299b21660">closestPointOnLine</a>(</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; point,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; a, </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; b);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        GLM_FUNC_DECL tvec2&lt;T, P&gt; <a class="code" href="a00183.html#gadc7010070bb0cacd284f560299b21660">closestPointOnLine</a>(</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; point,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; a, </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; b); </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;}<span class="comment">// namespace glm</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;closest_point.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00183_html_gadc7010070bb0cacd284f560299b21660"><div class="ttname"><a href="a00183.html#gadc7010070bb0cacd284f560299b21660">glm::closestPointOnLine</a></div><div class="ttdeci">GLM_FUNC_DECL tvec2&lt; T, P &gt; closestPointOnLine(tvec2&lt; T, P &gt; const &amp;point, tvec2&lt; T, P &gt; const &amp;a, tvec2&lt; T, P &gt; const &amp;b)</div><div class="ttdoc">2d lines work as well </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00011.html b/src/third_party/glm/doc/api/a00011.html
new file mode 100644
index 0000000..0e586e7
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00011.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: color_space.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gtc/color_space.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00011_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gad813dcd99644cafc775e83d6504ccb93"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gad813dcd99644cafc775e83d6504ccb93"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gad813dcd99644cafc775e83d6504ccb93">convertLinearToSRGB</a> (vecType&lt; T, P &gt; const &amp;ColorLinear)</td></tr>
+<tr class="separator:gad813dcd99644cafc775e83d6504ccb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga63f8b003da7acf44370eb47bfb8b3d42"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga63f8b003da7acf44370eb47bfb8b3d42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">convertLinearToSRGB</a> (vecType&lt; T, P &gt; const &amp;ColorLinear, T Gamma)</td></tr>
+<tr class="separator:ga63f8b003da7acf44370eb47bfb8b3d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga28e98e64347cf385cadc1ceb4def55c9"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga28e98e64347cf385cadc1ceb4def55c9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga28e98e64347cf385cadc1ceb4def55c9">convertSRGBToLinear</a> (vecType&lt; T, P &gt; const &amp;ColorSRGB)</td></tr>
+<tr class="separator:ga28e98e64347cf385cadc1ceb4def55c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga61c4f0efdf55c29d9cfbd26141fddef8"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga61c4f0efdf55c29d9cfbd26141fddef8"></a>
+template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga61c4f0efdf55c29d9cfbd26141fddef8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">convertSRGBToLinear</a> (vecType&lt; T, P &gt; const &amp;ColorSRGB, T Gamma)</td></tr>
+<tr class="separator:ga61c4f0efdf55c29d9cfbd26141fddef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00161.html">GLM_GTC_color_space</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00161.html" title="Allow to perform bit operations on integer values. ">GLM_GTC_color_space</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00011_source.html">gtc/color_space.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00011_source.html b/src/third_party/glm/doc/api/a00011_source.html
new file mode 100644
index 0000000..88bc75c
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00011_source.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: color_space.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">gtc/color_space.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00011.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../exponential.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../vec3.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../vec4.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_color_space extension included&quot;)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">convertLinearToSRGB</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; ColorLinear);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">convertLinearToSRGB</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; ColorLinear, T Gamma);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">convertSRGBToLinear</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; ColorSRGB);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="comment">// IEC 61966-2-1:1999 specification https://www.w3.org/Graphics/Color/srgb</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">convertSRGBToLinear</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; ColorSRGB, T Gamma);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &quot;color_space.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00161_html_ga61c4f0efdf55c29d9cfbd26141fddef8"><div class="ttname"><a href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">glm::convertSRGBToLinear</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; convertSRGBToLinear(vecType&lt; T, P &gt; const &amp;ColorSRGB, T Gamma)</div><div class="ttdoc">Convert a sRGB color to linear color using a custom gamma correction. </div></div>
+<div class="ttc" id="a00161_html_ga63f8b003da7acf44370eb47bfb8b3d42"><div class="ttname"><a href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">glm::convertLinearToSRGB</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; convertLinearToSRGB(vecType&lt; T, P &gt; const &amp;ColorLinear, T Gamma)</div><div class="ttdoc">Convert a linear color to sRGB color using a custom gamma correction. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00012.html b/src/third_party/glm/doc/api/a00012.html
new file mode 100644
index 0000000..6f932a3
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00012.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: color_space.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gtx/color_space.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00012_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gae72039c00a7be2f03a3b94b37a54349a"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gae72039c00a7be2f03a3b94b37a54349a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#gae72039c00a7be2f03a3b94b37a54349a">hsvColor</a> (tvec3&lt; T, P &gt; const &amp;rgbValue)</td></tr>
+<tr class="separator:gae72039c00a7be2f03a3b94b37a54349a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa2f38a5100c3e1c7d39920df43bd8cbe"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gaa2f38a5100c3e1c7d39920df43bd8cbe"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#gaa2f38a5100c3e1c7d39920df43bd8cbe">luminosity</a> (tvec3&lt; T, P &gt; const &amp;color)</td></tr>
+<tr class="separator:gaa2f38a5100c3e1c7d39920df43bd8cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga36b0619e31daf57bc4a54dac2dcf34b7"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga36b0619e31daf57bc4a54dac2dcf34b7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a> (tvec3&lt; T, P &gt; const &amp;hsvValue)</td></tr>
+<tr class="separator:ga36b0619e31daf57bc4a54dac2dcf34b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafecfb15d58da8445103745af3348e516"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gafecfb15d58da8445103745af3348e516"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#gafecfb15d58da8445103745af3348e516">saturation</a> (T const s)</td></tr>
+<tr class="separator:gafecfb15d58da8445103745af3348e516"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga632ee8dadb44e90a05885f6f8c07d46c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga632ee8dadb44e90a05885f6f8c07d46c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#ga632ee8dadb44e90a05885f6f8c07d46c">saturation</a> (T const s, tvec3&lt; T, P &gt; const &amp;color)</td></tr>
+<tr class="separator:ga632ee8dadb44e90a05885f6f8c07d46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2033e0566c595230714af396744e8a61"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga2033e0566c595230714af396744e8a61"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a> (T const s, tvec4&lt; T, P &gt; const &amp;color)</td></tr>
+<tr class="separator:ga2033e0566c595230714af396744e8a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00184.html">GLM_GTX_color_space</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00012_source.html">gtx/color_space.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00012_source.html b/src/third_party/glm/doc/api/a00012_source.html
new file mode 100644
index 0000000..2b28d69
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00012_source.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: color_space.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">gtx/color_space.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00012.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_color_space extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a>(</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; hsvValue);</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00184.html#gae72039c00a7be2f03a3b94b37a54349a">hsvColor</a>(</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; rgbValue);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a>(</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                T <span class="keyword">const</span> s);</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a>(</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                T <span class="keyword">const</span> s,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; color);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                </div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        GLM_FUNC_DECL tvec4&lt;T, P&gt; <a class="code" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a>(</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                T <span class="keyword">const</span> s,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; color);</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00184.html#gaa2f38a5100c3e1c7d39920df43bd8cbe">luminosity</a>(</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; color);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#include &quot;color_space.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00184_html_ga2033e0566c595230714af396744e8a61"><div class="ttname"><a href="a00184.html#ga2033e0566c595230714af396744e8a61">glm::saturation</a></div><div class="ttdeci">GLM_FUNC_DECL tvec4&lt; T, P &gt; saturation(T const s, tvec4&lt; T, P &gt; const &amp;color)</div><div class="ttdoc">Modify the saturation of a color. </div></div>
+<div class="ttc" id="a00184_html_gae72039c00a7be2f03a3b94b37a54349a"><div class="ttname"><a href="a00184.html#gae72039c00a7be2f03a3b94b37a54349a">glm::hsvColor</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; hsvColor(tvec3&lt; T, P &gt; const &amp;rgbValue)</div><div class="ttdoc">Converts a color from RGB color space to its color in HSV color space. </div></div>
+<div class="ttc" id="a00184_html_ga36b0619e31daf57bc4a54dac2dcf34b7"><div class="ttname"><a href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">glm::rgbColor</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; rgbColor(tvec3&lt; T, P &gt; const &amp;hsvValue)</div><div class="ttdoc">Converts a color from HSV color space to its color in RGB color space. </div></div>
+<div class="ttc" id="a00184_html_gaa2f38a5100c3e1c7d39920df43bd8cbe"><div class="ttname"><a href="a00184.html#gaa2f38a5100c3e1c7d39920df43bd8cbe">glm::luminosity</a></div><div class="ttdeci">GLM_FUNC_DECL T luminosity(tvec3&lt; T, P &gt; const &amp;color)</div><div class="ttdoc">Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00013.html b/src/third_party/glm/doc/api/a00013.html
new file mode 100644
index 0000000..8d7aaba
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00013.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: color_space_YCoCg.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">color_space_YCoCg.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00013_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga19481f6947c5b5482debd41e71b8c941"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga19481f6947c5b5482debd41e71b8c941"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga19481f6947c5b5482debd41e71b8c941">rgb2YCoCg</a> (tvec3&lt; T, P &gt; const &amp;rgbColor)</td></tr>
+<tr class="separator:ga19481f6947c5b5482debd41e71b8c941"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2e534594cc8ad252d23b14fb363ae9e2"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga2e534594cc8ad252d23b14fb363ae9e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga2e534594cc8ad252d23b14fb363ae9e2">rgb2YCoCgR</a> (tvec3&lt; T, P &gt; const &amp;rgbColor)</td></tr>
+<tr class="separator:ga2e534594cc8ad252d23b14fb363ae9e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6d7e988a79b299ca1fa59f537e13800b"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga6d7e988a79b299ca1fa59f537e13800b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga6d7e988a79b299ca1fa59f537e13800b">YCoCg2rgb</a> (tvec3&lt; T, P &gt; const &amp;YCoCgColor)</td></tr>
+<tr class="separator:ga6d7e988a79b299ca1fa59f537e13800b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4bac5462c00df0ae89242ecdbbe5dbad"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga4bac5462c00df0ae89242ecdbbe5dbad"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga4bac5462c00df0ae89242ecdbbe5dbad">YCoCgR2rgb</a> (tvec3&lt; T, P &gt; const &amp;YCoCgColor)</td></tr>
+<tr class="separator:ga4bac5462c00df0ae89242ecdbbe5dbad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00185.html">GLM_GTX_color_space_YCoCg</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00013_source.html">color_space_YCoCg.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00013_source.html b/src/third_party/glm/doc/api/a00013_source.html
new file mode 100644
index 0000000..da22584
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00013_source.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: color_space_YCoCg.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">color_space_YCoCg.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00013.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_color_space_YCoCg extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00185.html#ga19481f6947c5b5482debd41e71b8c941">rgb2YCoCg</a>(</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a>);</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00185.html#ga6d7e988a79b299ca1fa59f537e13800b">YCoCg2rgb</a>(</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; YCoCgColor);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00185.html#ga2e534594cc8ad252d23b14fb363ae9e2">rgb2YCoCgR</a>(</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a>);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00185.html#ga4bac5462c00df0ae89242ecdbbe5dbad">YCoCgR2rgb</a>(</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; YCoCgColor);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &quot;color_space_YCoCg.inl&quot;</span></div>
+<div class="ttc" id="a00185_html_ga6d7e988a79b299ca1fa59f537e13800b"><div class="ttname"><a href="a00185.html#ga6d7e988a79b299ca1fa59f537e13800b">glm::YCoCg2rgb</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; YCoCg2rgb(tvec3&lt; T, P &gt; const &amp;YCoCgColor)</div><div class="ttdoc">Convert a color from YCoCg color space to RGB color space. </div></div>
+<div class="ttc" id="a00185_html_ga2e534594cc8ad252d23b14fb363ae9e2"><div class="ttname"><a href="a00185.html#ga2e534594cc8ad252d23b14fb363ae9e2">glm::rgb2YCoCgR</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; rgb2YCoCgR(tvec3&lt; T, P &gt; const &amp;rgbColor)</div><div class="ttdoc">Convert a color from RGB color space to YCoCgR color space. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00185_html_ga19481f6947c5b5482debd41e71b8c941"><div class="ttname"><a href="a00185.html#ga19481f6947c5b5482debd41e71b8c941">glm::rgb2YCoCg</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; rgb2YCoCg(tvec3&lt; T, P &gt; const &amp;rgbColor)</div><div class="ttdoc">Convert a color from RGB color space to YCoCg color space. </div></div>
+<div class="ttc" id="a00184_html_ga36b0619e31daf57bc4a54dac2dcf34b7"><div class="ttname"><a href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">glm::rgbColor</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; rgbColor(tvec3&lt; T, P &gt; const &amp;hsvValue)</div><div class="ttdoc">Converts a color from HSV color space to its color in RGB color space. </div></div>
+<div class="ttc" id="a00185_html_ga4bac5462c00df0ae89242ecdbbe5dbad"><div class="ttname"><a href="a00185.html#ga4bac5462c00df0ae89242ecdbbe5dbad">glm::YCoCgR2rgb</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; YCoCgR2rgb(tvec3&lt; T, P &gt; const &amp;YCoCgColor)</div><div class="ttdoc">Convert a color from YCoCgR color space to RGB color space. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00014.html b/src/third_party/glm/doc/api/a00014.html
new file mode 100644
index 0000000..e30426b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00014.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: common.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">common.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00014_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00014_source.html">common.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00014_source.html b/src/third_party/glm/doc/api/a00014_source.html
new file mode 100644
index 0000000..ce900ea
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00014_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: common.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">common.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00014.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00029.html">detail/func_common.hpp</a>&quot;</span></div>
+<div class="ttc" id="a00029_html"><div class="ttname"><a href="a00029.html">func_common.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00015.html b/src/third_party/glm/doc/api/a00015.html
new file mode 100644
index 0000000..b58716c
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00015.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: common.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gtx/common.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00015_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga2580f50d4064557d62f4a533dfc6c7e3"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga2580f50d4064557d62f4a533dfc6c7e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00186.html#ga2580f50d4064557d62f4a533dfc6c7e3">fmod</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga2580f50d4064557d62f4a533dfc6c7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::bool_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00186.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">isdenormal</a> (genType const &amp;x)</td></tr>
+<tr class="separator:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00186.html">GLM_GTX_common</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00015_source.html">gtx/common.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00015_source.html b/src/third_party/glm/doc/api/a00015_source.html
new file mode 100644
index 0000000..61e22f7
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00015_source.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: common.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">gtx/common.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00015.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependencies:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../vec2.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../vec3.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../vec4.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../gtc/vec1.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_common extension included&quot;)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00186.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">isdenormal</a>(genType <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00186.html#ga2580f50d4064557d62f4a533dfc6c7e3">fmod</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &quot;common.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00186_html_ga74aa7c7462245d83bd5a9edf9c6c2d91"><div class="ttname"><a href="a00186.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">glm::isdenormal</a></div><div class="ttdeci">GLM_FUNC_DECL genType::bool_type isdenormal(genType const &amp;x)</div><div class="ttdoc">Returns true if x is a denormalized number Numbers whose absolute value is too small to be represente...</div></div>
+<div class="ttc" id="a00186_html_ga2580f50d4064557d62f4a533dfc6c7e3"><div class="ttname"><a href="a00186.html#ga2580f50d4064557d62f4a533dfc6c7e3">glm::fmod</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fmod(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Similar to &#39;mod&#39; but with a different rounding and integer support. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00016.html b/src/third_party/glm/doc/api/a00016.html
new file mode 100644
index 0000000..36a0921
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00016.html
@@ -0,0 +1,327 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: compatibility.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">compatibility.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00016_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gaddcd7aa2e30e61af5b38660613d3979e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaddcd7aa2e30e61af5b38660613d3979e"></a>
+typedef bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">bool1</a></td></tr>
+<tr class="separator:gaddcd7aa2e30e61af5b38660613d3979e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f895c936f0c29c8729afbbf22806090"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f895c936f0c29c8729afbbf22806090"></a>
+typedef bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">bool1x1</a></td></tr>
+<tr class="separator:ga7f895c936f0c29c8729afbbf22806090"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafa8d0bc8dfa7eeb928208305714f648d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafa8d0bc8dfa7eeb928208305714f648d"></a>
+typedef tvec2&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">bool2</a></td></tr>
+<tr class="separator:gafa8d0bc8dfa7eeb928208305714f648d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2bfb53bc320966c85149934fffb0329d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2bfb53bc320966c85149934fffb0329d"></a>
+typedef tmat2x2&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">bool2x2</a></td></tr>
+<tr class="separator:ga2bfb53bc320966c85149934fffb0329d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad02e7dff74039bb1454643e293d85dfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad02e7dff74039bb1454643e293d85dfe"></a>
+typedef tmat2x3&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">bool2x3</a></td></tr>
+<tr class="separator:gad02e7dff74039bb1454643e293d85dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga379c0869949e8a69c3d06d7637caa5d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga379c0869949e8a69c3d06d7637caa5d7"></a>
+typedef tmat2x4&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">bool2x4</a></td></tr>
+<tr class="separator:ga379c0869949e8a69c3d06d7637caa5d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8d74ea4c4f4bd980b650ffb27cdb659"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8d74ea4c4f4bd980b650ffb27cdb659"></a>
+typedef tvec3&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">bool3</a></td></tr>
+<tr class="separator:gab8d74ea4c4f4bd980b650ffb27cdb659"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0fc7ecb53df5be5f9d766fbbfe5190d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0fc7ecb53df5be5f9d766fbbfe5190d7"></a>
+typedef tmat3x2&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">bool3x2</a></td></tr>
+<tr class="separator:ga0fc7ecb53df5be5f9d766fbbfe5190d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae621c9eabcba552eea5f6ade1f403605"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae621c9eabcba552eea5f6ade1f403605"></a>
+typedef tmat3x3&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">bool3x3</a></td></tr>
+<tr class="separator:gae621c9eabcba552eea5f6ade1f403605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad13f8250579ebf79760dcf64215ddb17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad13f8250579ebf79760dcf64215ddb17"></a>
+typedef tmat3x4&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">bool3x4</a></td></tr>
+<tr class="separator:gad13f8250579ebf79760dcf64215ddb17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6e79dbfab5917c467a154638ba27898e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6e79dbfab5917c467a154638ba27898e"></a>
+typedef tvec4&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">bool4</a></td></tr>
+<tr class="separator:ga6e79dbfab5917c467a154638ba27898e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga184ee05ac2bbbf0a91dd364ba8e528db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga184ee05ac2bbbf0a91dd364ba8e528db"></a>
+typedef tmat4x2&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">bool4x2</a></td></tr>
+<tr class="separator:ga184ee05ac2bbbf0a91dd364ba8e528db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga83e4c62ab1addfe708dc3409cc0e5dfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e4c62ab1addfe708dc3409cc0e5dfb"></a>
+typedef tmat4x3&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">bool4x3</a></td></tr>
+<tr class="separator:ga83e4c62ab1addfe708dc3409cc0e5dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9770607032813e7b0ca7362a47efea1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9770607032813e7b0ca7362a47efea1e"></a>
+typedef tmat4x4&lt; bool, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">bool4x4</a></td></tr>
+<tr class="separator:ga9770607032813e7b0ca7362a47efea1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga20b861a9b6e2a300323671c57a02525b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga20b861a9b6e2a300323671c57a02525b"></a>
+typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">double1</a></td></tr>
+<tr class="separator:ga20b861a9b6e2a300323671c57a02525b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga45f16a4dd0db1f199afaed9fd12fe9a8"></a>
+typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">double1x1</a></td></tr>
+<tr class="separator:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa16a13c6f2768e83ca133430e82ab89e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa16a13c6f2768e83ca133430e82ab89e"></a>
+typedef tvec2&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">double2</a></td></tr>
+<tr class="separator:gaa16a13c6f2768e83ca133430e82ab89e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga320d0a71a4ad9f14a1992d40546cffa7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga320d0a71a4ad9f14a1992d40546cffa7"></a>
+typedef tmat2x2&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">double2x2</a></td></tr>
+<tr class="separator:ga320d0a71a4ad9f14a1992d40546cffa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gade37cf30c69bacb41ceea7e32717eac7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gade37cf30c69bacb41ceea7e32717eac7"></a>
+typedef tmat2x3&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">double2x3</a></td></tr>
+<tr class="separator:gade37cf30c69bacb41ceea7e32717eac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf923922adf744404d5bfb3fafb7d0d8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf923922adf744404d5bfb3fafb7d0d8e"></a>
+typedef tmat2x4&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">double2x4</a></td></tr>
+<tr class="separator:gaf923922adf744404d5bfb3fafb7d0d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaed4bc64196bd25d46f6a1f417320a391"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaed4bc64196bd25d46f6a1f417320a391"></a>
+typedef tvec3&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">double3</a></td></tr>
+<tr class="separator:gaed4bc64196bd25d46f6a1f417320a391"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeaac4d0e18164e4d2fe54432c0fbbcf6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeaac4d0e18164e4d2fe54432c0fbbcf6"></a>
+typedef tmat3x2&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">double3x2</a></td></tr>
+<tr class="separator:gaeaac4d0e18164e4d2fe54432c0fbbcf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac934f579ee5cf3cbdbb25b73f2640c0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac934f579ee5cf3cbdbb25b73f2640c0a"></a>
+typedef tmat3x3&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">double3x3</a></td></tr>
+<tr class="separator:gac934f579ee5cf3cbdbb25b73f2640c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad84a1ea83be8fce04c1570c5e719413"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaad84a1ea83be8fce04c1570c5e719413"></a>
+typedef tmat3x4&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">double3x4</a></td></tr>
+<tr class="separator:gaad84a1ea83be8fce04c1570c5e719413"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8bbb086c9a6c2deffbe0e80afd6be56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8bbb086c9a6c2deffbe0e80afd6be56"></a>
+typedef tvec4&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">double4</a></td></tr>
+<tr class="separator:gab8bbb086c9a6c2deffbe0e80afd6be56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2f87500119da15e35e4a74780ba512bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2f87500119da15e35e4a74780ba512bd"></a>
+typedef tmat4x2&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">double4x2</a></td></tr>
+<tr class="separator:ga2f87500119da15e35e4a74780ba512bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa4e6d53c03780dfa76bd399324f9fe37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa4e6d53c03780dfa76bd399324f9fe37"></a>
+typedef tmat4x3&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">double4x3</a></td></tr>
+<tr class="separator:gaa4e6d53c03780dfa76bd399324f9fe37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga686a3a5590f0a0e721faba08bda301d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga686a3a5590f0a0e721faba08bda301d6"></a>
+typedef tmat4x4&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">double4x4</a></td></tr>
+<tr class="separator:ga686a3a5590f0a0e721faba08bda301d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf5208d01f6c6fbcb7bb55d610b9c0ead"></a>
+typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">float1</a></td></tr>
+<tr class="separator:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga73720b8dc4620835b17f74d428f98c0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga73720b8dc4620835b17f74d428f98c0c"></a>
+typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">float1x1</a></td></tr>
+<tr class="separator:ga73720b8dc4620835b17f74d428f98c0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga872a70333dd25af68b1ebba485be9e42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga872a70333dd25af68b1ebba485be9e42"></a>
+typedef tvec2&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">float2</a></td></tr>
+<tr class="separator:ga872a70333dd25af68b1ebba485be9e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad93cbc2b863e363d53d405d0451d03e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaad93cbc2b863e363d53d405d0451d03e"></a>
+typedef tmat2x2&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">float2x2</a></td></tr>
+<tr class="separator:gaad93cbc2b863e363d53d405d0451d03e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga098c33a30f901f4f6a76969d6db6b01b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga098c33a30f901f4f6a76969d6db6b01b"></a>
+typedef tmat2x3&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">float2x3</a></td></tr>
+<tr class="separator:ga098c33a30f901f4f6a76969d6db6b01b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2ce4c366abc06c8bf7fe097ecea0dde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab2ce4c366abc06c8bf7fe097ecea0dde"></a>
+typedef tmat2x4&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">float2x4</a></td></tr>
+<tr class="separator:gab2ce4c366abc06c8bf7fe097ecea0dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2bfa618285894e34f299e4984f092d56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2bfa618285894e34f299e4984f092d56"></a>
+typedef tvec3&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2bfa618285894e34f299e4984f092d56">float3</a></td></tr>
+<tr class="separator:ga2bfa618285894e34f299e4984f092d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf30014e7b6874f45d58eb580d04764ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf30014e7b6874f45d58eb580d04764ff"></a>
+typedef tmat3x2&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">float3x2</a></td></tr>
+<tr class="separator:gaf30014e7b6874f45d58eb580d04764ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2692a729a69615d72dbebbdd0eba2363"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2692a729a69615d72dbebbdd0eba2363"></a>
+typedef tmat3x3&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">float3x3</a></td></tr>
+<tr class="separator:ga2692a729a69615d72dbebbdd0eba2363"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac38c8929ccc87a2dc81eaab97ad5190e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac38c8929ccc87a2dc81eaab97ad5190e"></a>
+typedef tmat3x4&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">float3x4</a></td></tr>
+<tr class="separator:gac38c8929ccc87a2dc81eaab97ad5190e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5d49ed44dd9a9e944abc30371fc9045b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d49ed44dd9a9e944abc30371fc9045b"></a>
+typedef tvec4&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">float4</a></td></tr>
+<tr class="separator:ga5d49ed44dd9a9e944abc30371fc9045b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga39a2af7aa8f2d29ca40afd2256c0e7c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39a2af7aa8f2d29ca40afd2256c0e7c8"></a>
+typedef tmat4x2&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">float4x2</a></td></tr>
+<tr class="separator:ga39a2af7aa8f2d29ca40afd2256c0e7c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad749b26be059f35394fd71c7f7a44034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad749b26be059f35394fd71c7f7a44034"></a>
+typedef tmat4x3&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad749b26be059f35394fd71c7f7a44034">float4x3</a></td></tr>
+<tr class="separator:gad749b26be059f35394fd71c7f7a44034"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf40529862492ded2f3b96a6c886f6136"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf40529862492ded2f3b96a6c886f6136"></a>
+typedef tmat4x4&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">float4x4</a></td></tr>
+<tr class="separator:gaf40529862492ded2f3b96a6c886f6136"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0670a2111b5e4a6410bd027fa0232fc3"></a>
+typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">int1</a></td></tr>
+<tr class="separator:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga056ffe02d3a45af626f8e62221881c7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga056ffe02d3a45af626f8e62221881c7a"></a>
+typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">int1x1</a></td></tr>
+<tr class="separator:ga056ffe02d3a45af626f8e62221881c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2eca687990bf3a08ef28bc4a9f2fe700"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2eca687990bf3a08ef28bc4a9f2fe700"></a>
+typedef tvec2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">int2</a></td></tr>
+<tr class="separator:ga2eca687990bf3a08ef28bc4a9f2fe700"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab1c5d0631a6ae34e28bfb2851da387cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab1c5d0631a6ae34e28bfb2851da387cc"></a>
+typedef tmat2x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">int2x2</a></td></tr>
+<tr class="separator:gab1c5d0631a6ae34e28bfb2851da387cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6dc93f0794eb5fadd7f68b85141a2434"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6dc93f0794eb5fadd7f68b85141a2434"></a>
+typedef tmat2x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">int2x3</a></td></tr>
+<tr class="separator:ga6dc93f0794eb5fadd7f68b85141a2434"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad5da9e1b4e0c64c5436b5696ab49540e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5da9e1b4e0c64c5436b5696ab49540e"></a>
+typedef tmat2x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">int2x4</a></td></tr>
+<tr class="separator:gad5da9e1b4e0c64c5436b5696ab49540e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaa6ceedf08a85e5fd73a482bc8b77b88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaa6ceedf08a85e5fd73a482bc8b77b88"></a>
+typedef tvec3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">int3</a></td></tr>
+<tr class="separator:gaaa6ceedf08a85e5fd73a482bc8b77b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa98b1a06b802c975f02a5583f43632db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa98b1a06b802c975f02a5583f43632db"></a>
+typedef tmat3x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">int3x2</a></td></tr>
+<tr class="separator:gaa98b1a06b802c975f02a5583f43632db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga20c4d23defbc123ac4745c9b4262156f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga20c4d23defbc123ac4745c9b4262156f"></a>
+typedef tmat3x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">int3x3</a></td></tr>
+<tr class="separator:ga20c4d23defbc123ac4745c9b4262156f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7b00c53838143bce963177122ab92c39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b00c53838143bce963177122ab92c39"></a>
+typedef tmat3x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga7b00c53838143bce963177122ab92c39">int3x4</a></td></tr>
+<tr class="separator:ga7b00c53838143bce963177122ab92c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab19c2df22e9b14081390fabd074081f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab19c2df22e9b14081390fabd074081f1"></a>
+typedef tvec4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab19c2df22e9b14081390fabd074081f1">int4</a></td></tr>
+<tr class="separator:gab19c2df22e9b14081390fabd074081f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa53815539021200c4e10fd282832dcd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa53815539021200c4e10fd282832dcd3"></a>
+typedef tmat4x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa53815539021200c4e10fd282832dcd3">int4x2</a></td></tr>
+<tr class="separator:gaa53815539021200c4e10fd282832dcd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4a3bf0ecd6f6ff60836c5bee26c14abe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4a3bf0ecd6f6ff60836c5bee26c14abe"></a>
+typedef tmat4x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">int4x3</a></td></tr>
+<tr class="separator:ga4a3bf0ecd6f6ff60836c5bee26c14abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3bacf576b4b29f2f2959abff7a36652d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bacf576b4b29f2f2959abff7a36652d"></a>
+typedef tmat4x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">int4x4</a></td></tr>
+<tr class="separator:ga3bacf576b4b29f2f2959abff7a36652d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac63011205bf6d0be82589dc56dd26708"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T x, T y)</td></tr>
+<tr class="separator:gac63011205bf6d0be82589dc56dd26708"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga525f3e849d0fc64807f8ab571b4545f9"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga525f3e849d0fc64807f8ab571b4545f9"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga525f3e849d0fc64807f8ab571b4545f9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga525f3e849d0fc64807f8ab571b4545f9">atan2</a> (const tvec2&lt; T, P &gt; &amp;x, const tvec2&lt; T, P &gt; &amp;y)</td></tr>
+<tr class="separator:ga525f3e849d0fc64807f8ab571b4545f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad328042b6734d3f2c49c0ec1328b14c0"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad328042b6734d3f2c49c0ec1328b14c0"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gad328042b6734d3f2c49c0ec1328b14c0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gad328042b6734d3f2c49c0ec1328b14c0">atan2</a> (const tvec3&lt; T, P &gt; &amp;x, const tvec3&lt; T, P &gt; &amp;y)</td></tr>
+<tr class="separator:gad328042b6734d3f2c49c0ec1328b14c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga09d39c391a509a045b6c7061f15bdff5"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga09d39c391a509a045b6c7061f15bdff5"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga09d39c391a509a045b6c7061f15bdff5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a> (const tvec4&lt; T, P &gt; &amp;x, const tvec4&lt; T, P &gt; &amp;y)</td></tr>
+<tr class="separator:ga09d39c391a509a045b6c7061f15bdff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4b04dcd3526996d68c1bfe17bfc8657"></a>
+template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gaf4b04dcd3526996d68c1bfe17bfc8657">isfinite</a> (genType const &amp;x)</td></tr>
+<tr class="separator:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga553e2e95b06a0f70c718605998889d3b"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga553e2e95b06a0f70c718605998889d3b"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga553e2e95b06a0f70c718605998889d3b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec1&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga553e2e95b06a0f70c718605998889d3b">isfinite</a> (const tvec1&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga553e2e95b06a0f70c718605998889d3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7dd492aa7d6ec21715f9a91b6e5e596a"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7dd492aa7d6ec21715f9a91b6e5e596a"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga7dd492aa7d6ec21715f9a91b6e5e596a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga7dd492aa7d6ec21715f9a91b6e5e596a">isfinite</a> (const tvec2&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga7dd492aa7d6ec21715f9a91b6e5e596a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1be9593d810fceb278a2854da8a25273"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1be9593d810fceb278a2854da8a25273"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga1be9593d810fceb278a2854da8a25273"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga1be9593d810fceb278a2854da8a25273">isfinite</a> (const tvec3&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga1be9593d810fceb278a2854da8a25273"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga8c6a59e2f2ac84fba0c5932f1c35bf7a"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec4&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a> (const tvec4&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5494ba3a95ea6594c86fc75236886864"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5494ba3a95ea6594c86fc75236886864"></a>
+template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga5494ba3a95ea6594c86fc75236886864"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga5494ba3a95ea6594c86fc75236886864">lerp</a> (T x, T y, T a)</td></tr>
+<tr class="separator:ga5494ba3a95ea6594c86fc75236886864"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0aa79a146332650a1eb18ae996c653fe"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga0aa79a146332650a1eb18ae996c653fe"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga0aa79a146332650a1eb18ae996c653fe"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga0aa79a146332650a1eb18ae996c653fe">lerp</a> (const tvec2&lt; T, P &gt; &amp;x, const tvec2&lt; T, P &gt; &amp;y, T a)</td></tr>
+<tr class="separator:ga0aa79a146332650a1eb18ae996c653fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf4c885ac72b8879b05777cb516c555c9"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4c885ac72b8879b05777cb516c555c9"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gaf4c885ac72b8879b05777cb516c555c9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gaf4c885ac72b8879b05777cb516c555c9">lerp</a> (const tvec3&lt; T, P &gt; &amp;x, const tvec3&lt; T, P &gt; &amp;y, T a)</td></tr>
+<tr class="separator:gaf4c885ac72b8879b05777cb516c555c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga363d5d069d31a6c2cdd1e9589dde4a60"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga363d5d069d31a6c2cdd1e9589dde4a60"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga363d5d069d31a6c2cdd1e9589dde4a60"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga363d5d069d31a6c2cdd1e9589dde4a60">lerp</a> (const tvec4&lt; T, P &gt; &amp;x, const tvec4&lt; T, P &gt; &amp;y, T a)</td></tr>
+<tr class="separator:ga363d5d069d31a6c2cdd1e9589dde4a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7609b44d8aefc5a277efe73395ff4070"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7609b44d8aefc5a277efe73395ff4070"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga7609b44d8aefc5a277efe73395ff4070"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga7609b44d8aefc5a277efe73395ff4070">lerp</a> (const tvec2&lt; T, P &gt; &amp;x, const tvec2&lt; T, P &gt; &amp;y, const tvec2&lt; T, P &gt; &amp;a)</td></tr>
+<tr class="separator:ga7609b44d8aefc5a277efe73395ff4070"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga90a1d1364a8d078846857178bdcc9af1"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga90a1d1364a8d078846857178bdcc9af1"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga90a1d1364a8d078846857178bdcc9af1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga90a1d1364a8d078846857178bdcc9af1">lerp</a> (const tvec3&lt; T, P &gt; &amp;x, const tvec3&lt; T, P &gt; &amp;y, const tvec3&lt; T, P &gt; &amp;a)</td></tr>
+<tr class="separator:ga90a1d1364a8d078846857178bdcc9af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae4b0244b0d882657bed0a99dfa33f379"><td class="memTemplParams" colspan="2"><a class="anchor" id="gae4b0244b0d882657bed0a99dfa33f379"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gae4b0244b0d882657bed0a99dfa33f379"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a> (const tvec4&lt; T, P &gt; &amp;x, const tvec4&lt; T, P &gt; &amp;y, const tvec4&lt; T, P &gt; &amp;a)</td></tr>
+<tr class="separator:gae4b0244b0d882657bed0a99dfa33f379"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga0fd09e616d122bc2ed9726682ffd44b7"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga0fd09e616d122bc2ed9726682ffd44b7">saturate</a> (T x)</td></tr>
+<tr class="separator:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5815a26488231dfdf92242cf0c2d2107"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5815a26488231dfdf92242cf0c2d2107"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga5815a26488231dfdf92242cf0c2d2107"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga5815a26488231dfdf92242cf0c2d2107">saturate</a> (const tvec2&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga5815a26488231dfdf92242cf0c2d2107"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga02ed1a53c6df104d56b69f8fb5e9af1b"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga02ed1a53c6df104d56b69f8fb5e9af1b"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga02ed1a53c6df104d56b69f8fb5e9af1b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga02ed1a53c6df104d56b69f8fb5e9af1b">saturate</a> (const tvec3&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga02ed1a53c6df104d56b69f8fb5e9af1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga63791409bdef9745b956406afe3157f1"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga63791409bdef9745b956406afe3157f1"></a>
+template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga63791409bdef9745b956406afe3157f1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a> (const tvec4&lt; T, P &gt; &amp;x)</td></tr>
+<tr class="separator:ga63791409bdef9745b956406afe3157f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00187.html">GLM_GTX_compatibility</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00016_source.html">compatibility.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00016_source.html b/src/third_party/glm/doc/api/a00016_source.html
new file mode 100644
index 0000000..6a6d190
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00016_source.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: compatibility.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">compatibility.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00016.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_compatibility extension included&quot;)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if GLM_COMPILER &amp; GLM_COMPILER_VC</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#       include &lt;cfloat&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#elif GLM_COMPILER &amp; GLM_COMPILER_GCC</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#       include &lt;cmath&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#       if(GLM_PLATFORM &amp; GLM_PLATFORM_ANDROID)</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#               undef isfinite</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#endif//GLM_COMPILER</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;{</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00187.html#ga5494ba3a95ea6594c86fc75236886864">   38</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}                                                                                                                                                                    </div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="a00187.html#ga0aa79a146332650a1eb18ae996c653fe">   39</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}                                                   </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="a00187.html#gaf4c885ac72b8879b05777cb516c555c9">   41</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}                                                   </div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="a00187.html#ga363d5d069d31a6c2cdd1e9589dde4a60">   42</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}                                                   </div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00187.html#ga7609b44d8aefc5a277efe73395ff4070">   43</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; y, <span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}  </div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a00187.html#ga90a1d1364a8d078846857178bdcc9af1">   44</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; y, <span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}  </div>
+<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">   45</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; y, <span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);}  </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00187.html#ga0fd09e616d122bc2ed9726682ffd44b7">   47</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(T x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));}                                                                                                             </div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00187.html#ga5815a26488231dfdf92242cf0c2d2107">   48</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(<span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));}                                  </div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="a00187.html#ga02ed1a53c6df104d56b69f8fb5e9af1b">   49</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(<span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));}                                  </div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00187.html#ga63791409bdef9745b956406afe3157f1">   50</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(<span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));}                                  </div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00187.html#gac63011205bf6d0be82589dc56dd26708">   52</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER T <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);}                                                                                                                             </div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="a00187.html#ga525f3e849d0fc64807f8ab571b4545f9">   53</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec2&lt;T, P&gt; <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(<span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
+<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="a00187.html#gad328042b6734d3f2c49c0ec1328b14c0">   54</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec3&lt;T, P&gt; <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(<span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">   55</a></span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_QUALIFIER tvec4&lt;T, P&gt; <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(<span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; x, <span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(genType <span class="keyword">const</span> &amp; x);                                                                                     </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_DECL tvec1&lt;bool, P&gt; <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec1&lt;T, P&gt;&amp; x);                         </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_DECL tvec2&lt;bool, P&gt; <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec2&lt;T, P&gt;&amp; x);                         </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_DECL tvec3&lt;bool, P&gt; <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec3&lt;T, P&gt;&amp; x);                         </div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; GLM_FUNC_DECL tvec4&lt;bool, P&gt; <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec4&lt;T, P&gt;&amp; x);                         </div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">   63</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">bool</span>                                            <a class="code" href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">bool1</a>;                  </div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">   64</a></span>&#160;        <span class="keyword">typedef</span> tvec2&lt;bool, highp&gt;                      <a class="code" href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">bool2</a>;                  </div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">   65</a></span>&#160;        <span class="keyword">typedef</span> tvec3&lt;bool, highp&gt;                      <a class="code" href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">bool3</a>;                  </div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">   66</a></span>&#160;        <span class="keyword">typedef</span> tvec4&lt;bool, highp&gt;                      <a class="code" href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">bool4</a>;                  </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">   68</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">bool</span>                                            <a class="code" href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">bool1x1</a>;                </div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">   69</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;bool, highp&gt;            <a class="code" href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">bool2x2</a>;                </div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">   70</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;bool, highp&gt;            <a class="code" href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">bool2x3</a>;                </div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">   71</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;bool, highp&gt;            <a class="code" href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">bool2x4</a>;                </div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">   72</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;bool, highp&gt;            <a class="code" href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">bool3x2</a>;                </div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">   73</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;bool, highp&gt;            <a class="code" href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">bool3x3</a>;                </div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">   74</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;bool, highp&gt;            <a class="code" href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">bool3x4</a>;                </div>
+<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">   75</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;bool, highp&gt;            <a class="code" href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">bool4x2</a>;                </div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">   76</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;bool, highp&gt;            <a class="code" href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">bool4x3</a>;                </div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">   77</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;bool, highp&gt;            <a class="code" href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">bool4x4</a>;                </div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">   79</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">int</span>                                                     <a class="code" href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">int1</a>;                   </div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">   80</a></span>&#160;        <span class="keyword">typedef</span> tvec2&lt;int, highp&gt;                       <a class="code" href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">int2</a>;                   </div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">   81</a></span>&#160;        <span class="keyword">typedef</span> tvec3&lt;int, highp&gt;                       <a class="code" href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">int3</a>;                   </div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="a00187.html#gab19c2df22e9b14081390fabd074081f1">   82</a></span>&#160;        <span class="keyword">typedef</span> tvec4&lt;int, highp&gt;                       <a class="code" href="a00187.html#gab19c2df22e9b14081390fabd074081f1">int4</a>;                   </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">   84</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">int</span>                                                     <a class="code" href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">int1x1</a>;                 </div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">   85</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, highp&gt;             <a class="code" href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">int2x2</a>;                 </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">   86</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;int, highp&gt;             <a class="code" href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">int2x3</a>;                 </div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">   87</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;int, highp&gt;             <a class="code" href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">int2x4</a>;                 </div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">   88</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;int, highp&gt;             <a class="code" href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">int3x2</a>;                 </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">   89</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, highp&gt;             <a class="code" href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">int3x3</a>;                 </div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="a00187.html#ga7b00c53838143bce963177122ab92c39">   90</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;int, highp&gt;             <a class="code" href="a00187.html#ga7b00c53838143bce963177122ab92c39">int3x4</a>;                 </div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="a00187.html#gaa53815539021200c4e10fd282832dcd3">   91</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;int, highp&gt;             <a class="code" href="a00187.html#gaa53815539021200c4e10fd282832dcd3">int4x2</a>;                 </div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">   92</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;int, highp&gt;             <a class="code" href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">int4x3</a>;                 </div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">   93</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, highp&gt;             <a class="code" href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">int4x4</a>;                 </div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">   95</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">float</span>                                           <a class="code" href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">float1</a>;                 </div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">   96</a></span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, highp&gt;             <a class="code" href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">float2</a>;                 </div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a00187.html#ga2bfa618285894e34f299e4984f092d56">   97</a></span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, highp&gt;             <a class="code" href="a00187.html#ga2bfa618285894e34f299e4984f092d56">float3</a>;                 </div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">   98</a></span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, highp&gt;             <a class="code" href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">float4</a>;                 </div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">  100</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">float</span>                                           <a class="code" href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">float1x1</a>;               </div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">  101</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, highp&gt;           <a class="code" href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">float2x2</a>;               </div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">  102</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;float, highp&gt;           <a class="code" href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">float2x3</a>;               </div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">  103</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;float, highp&gt;           <a class="code" href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">float2x4</a>;               </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">  104</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;float, highp&gt;           <a class="code" href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">float3x2</a>;               </div>
+<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">  105</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, highp&gt;           <a class="code" href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">float3x3</a>;               </div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">  106</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;float, highp&gt;           <a class="code" href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">float3x4</a>;               </div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">  107</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;float, highp&gt;           <a class="code" href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">float4x2</a>;               </div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="a00187.html#gad749b26be059f35394fd71c7f7a44034">  108</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;float, highp&gt;           <a class="code" href="a00187.html#gad749b26be059f35394fd71c7f7a44034">float4x3</a>;               </div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">  109</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, highp&gt;           <a class="code" href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">float4x4</a>;               </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">  111</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">double</span>                                          <a class="code" href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">double1</a>;                </div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">  112</a></span>&#160;        <span class="keyword">typedef</span> tvec2&lt;double, highp&gt;            <a class="code" href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">double2</a>;                </div>
+<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">  113</a></span>&#160;        <span class="keyword">typedef</span> tvec3&lt;double, highp&gt;            <a class="code" href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">double3</a>;                </div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">  114</a></span>&#160;        <span class="keyword">typedef</span> tvec4&lt;double, highp&gt;            <a class="code" href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">double4</a>;                </div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">  116</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">double</span>                                          <a class="code" href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">double1x1</a>;              </div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">  117</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;double, highp&gt;          <a class="code" href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">double2x2</a>;              </div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">  118</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;double, highp&gt;          <a class="code" href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">double2x3</a>;              </div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">  119</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;double, highp&gt;          <a class="code" href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">double2x4</a>;              </div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">  120</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;double, highp&gt;          <a class="code" href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">double3x2</a>;              </div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">  121</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;double, highp&gt;          <a class="code" href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">double3x3</a>;              </div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">  122</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;double, highp&gt;          <a class="code" href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">double3x4</a>;              </div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">  123</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;double, highp&gt;          <a class="code" href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">double4x2</a>;              </div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">  124</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;double, highp&gt;          <a class="code" href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">double4x3</a>;              </div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">  125</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;double, highp&gt;          <a class="code" href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">double4x4</a>;              </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#include &quot;compatibility.inl&quot;</span></div>
+<div class="ttc" id="a00187_html_ga056ffe02d3a45af626f8e62221881c7a"><div class="ttname"><a href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">glm::int1x1</a></div><div class="ttdeci">int int1x1</div><div class="ttdoc">integer matrix with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00084">compatibility.hpp:84</a></div></div>
+<div class="ttc" id="a00187_html_gae621c9eabcba552eea5f6ade1f403605"><div class="ttname"><a href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">glm::bool3x3</a></div><div class="ttdeci">tmat3x3&lt; bool, highp &gt; bool3x3</div><div class="ttdoc">boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00073">compatibility.hpp:73</a></div></div>
+<div class="ttc" id="a00187_html_ga2692a729a69615d72dbebbdd0eba2363"><div class="ttname"><a href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">glm::float3x3</a></div><div class="ttdeci">tmat3x3&lt; float, highp &gt; float3x3</div><div class="ttdoc">single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00105">compatibility.hpp:105</a></div></div>
+<div class="ttc" id="a00187_html_gad5da9e1b4e0c64c5436b5696ab49540e"><div class="ttname"><a href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">glm::int2x4</a></div><div class="ttdeci">tmat2x4&lt; int, highp &gt; int2x4</div><div class="ttdoc">integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00087">compatibility.hpp:87</a></div></div>
+<div class="ttc" id="a00187_html_gab2ce4c366abc06c8bf7fe097ecea0dde"><div class="ttname"><a href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">glm::float2x4</a></div><div class="ttdeci">tmat2x4&lt; float, highp &gt; float2x4</div><div class="ttdoc">single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00103">compatibility.hpp:103</a></div></div>
+<div class="ttc" id="a00187_html_gad749b26be059f35394fd71c7f7a44034"><div class="ttname"><a href="a00187.html#gad749b26be059f35394fd71c7f7a44034">glm::float4x3</a></div><div class="ttdeci">tmat4x3&lt; float, highp &gt; float4x3</div><div class="ttdoc">single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00108">compatibility.hpp:108</a></div></div>
+<div class="ttc" id="a00187_html_ga20b861a9b6e2a300323671c57a02525b"><div class="ttname"><a href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">glm::double1</a></div><div class="ttdeci">double double1</div><div class="ttdoc">double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00111">compatibility.hpp:111</a></div></div>
+<div class="ttc" id="a00187_html_ga320d0a71a4ad9f14a1992d40546cffa7"><div class="ttname"><a href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">glm::double2x2</a></div><div class="ttdeci">tmat2x2&lt; double, highp &gt; double2x2</div><div class="ttdoc">double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00117">compatibility.hpp:117</a></div></div>
+<div class="ttc" id="a00187_html_gaad84a1ea83be8fce04c1570c5e719413"><div class="ttname"><a href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">glm::double3x4</a></div><div class="ttdeci">tmat3x4&lt; double, highp &gt; double3x4</div><div class="ttdoc">double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00122">compatibility.hpp:122</a></div></div>
+<div class="ttc" id="a00187_html_gab1c5d0631a6ae34e28bfb2851da387cc"><div class="ttname"><a href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">glm::int2x2</a></div><div class="ttdeci">tmat2x2&lt; int, highp &gt; int2x2</div><div class="ttdoc">integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00085">compatibility.hpp:85</a></div></div>
+<div class="ttc" id="a00187_html_ga2eca687990bf3a08ef28bc4a9f2fe700"><div class="ttname"><a href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">glm::int2</a></div><div class="ttdeci">tvec2&lt; int, highp &gt; int2</div><div class="ttdoc">integer vector with 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00080">compatibility.hpp:80</a></div></div>
+<div class="ttc" id="a00187_html_gaed4bc64196bd25d46f6a1f417320a391"><div class="ttname"><a href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">glm::double3</a></div><div class="ttdeci">tvec3&lt; double, highp &gt; double3</div><div class="ttdoc">double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00113">compatibility.hpp:113</a></div></div>
+<div class="ttc" id="a00187_html_gae4b0244b0d882657bed0a99dfa33f379"><div class="ttname"><a href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt; lerp(const tvec4&lt; T, P &gt; &amp;x, const tvec4&lt; T, P &gt; &amp;y, const tvec4&lt; T, P &gt; &amp;a)</div><div class="ttdoc">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00045">compatibility.hpp:45</a></div></div>
+<div class="ttc" id="a00187_html_ga20c4d23defbc123ac4745c9b4262156f"><div class="ttname"><a href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">glm::int3x3</a></div><div class="ttdeci">tmat3x3&lt; int, highp &gt; int3x3</div><div class="ttdoc">integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00089">compatibility.hpp:89</a></div></div>
+<div class="ttc" id="a00187_html_gac934f579ee5cf3cbdbb25b73f2640c0a"><div class="ttname"><a href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">glm::double3x3</a></div><div class="ttdeci">tmat3x3&lt; double, highp &gt; double3x3</div><div class="ttdoc">double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00121">compatibility.hpp:121</a></div></div>
+<div class="ttc" id="a00187_html_gad02e7dff74039bb1454643e293d85dfe"><div class="ttname"><a href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">glm::bool2x3</a></div><div class="ttdeci">tmat2x3&lt; bool, highp &gt; bool2x3</div><div class="ttdoc">boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00070">compatibility.hpp:70</a></div></div>
+<div class="ttc" id="a00187_html_ga9770607032813e7b0ca7362a47efea1e"><div class="ttname"><a href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">glm::bool4x4</a></div><div class="ttdeci">tmat4x4&lt; bool, highp &gt; bool4x4</div><div class="ttdoc">boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00077">compatibility.hpp:77</a></div></div>
+<div class="ttc" id="a00187_html_ga83e4c62ab1addfe708dc3409cc0e5dfb"><div class="ttname"><a href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">glm::bool4x3</a></div><div class="ttdeci">tmat4x3&lt; bool, highp &gt; bool4x3</div><div class="ttdoc">boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00076">compatibility.hpp:76</a></div></div>
+<div class="ttc" id="a00187_html_gaad93cbc2b863e363d53d405d0451d03e"><div class="ttname"><a href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">glm::float2x2</a></div><div class="ttdeci">tmat2x2&lt; float, highp &gt; float2x2</div><div class="ttdoc">single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00101">compatibility.hpp:101</a></div></div>
+<div class="ttc" id="a00187_html_ga63791409bdef9745b956406afe3157f1"><div class="ttname"><a href="a00187.html#ga63791409bdef9745b956406afe3157f1">glm::saturate</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt; saturate(const tvec4&lt; T, P &gt; &amp;x)</div><div class="ttdoc">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00050">compatibility.hpp:50</a></div></div>
+<div class="ttc" id="a00187_html_gafa8d0bc8dfa7eeb928208305714f648d"><div class="ttname"><a href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">glm::bool2</a></div><div class="ttdeci">tvec2&lt; bool, highp &gt; bool2</div><div class="ttdoc">boolean type with 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00064">compatibility.hpp:64</a></div></div>
+<div class="ttc" id="a00187_html_ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><div class="ttname"><a href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">glm::isfinite</a></div><div class="ttdeci">GLM_FUNC_DECL tvec4&lt; bool, P &gt; isfinite(const tvec4&lt; T, P &gt; &amp;x)</div><div class="ttdoc">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...</div></div>
+<div class="ttc" id="a00187_html_ga5d49ed44dd9a9e944abc30371fc9045b"><div class="ttname"><a href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">glm::float4</a></div><div class="ttdeci">tvec4&lt; float, highp &gt; float4</div><div class="ttdoc">single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00098">compatibility.hpp:98</a></div></div>
+<div class="ttc" id="a00187_html_gaf40529862492ded2f3b96a6c886f6136"><div class="ttname"><a href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">glm::float4x4</a></div><div class="ttdeci">tmat4x4&lt; float, highp &gt; float4x4</div><div class="ttdoc">single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00109">compatibility.hpp:109</a></div></div>
+<div class="ttc" id="a00187_html_ga39a2af7aa8f2d29ca40afd2256c0e7c8"><div class="ttname"><a href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">glm::float4x2</a></div><div class="ttdeci">tmat4x2&lt; float, highp &gt; float4x2</div><div class="ttdoc">single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00107">compatibility.hpp:107</a></div></div>
+<div class="ttc" id="a00187_html_gaf5208d01f6c6fbcb7bb55d610b9c0ead"><div class="ttname"><a href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">glm::float1</a></div><div class="ttdeci">float float1</div><div class="ttdoc">single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00095">compatibility.hpp:95</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00187_html_gaf30014e7b6874f45d58eb580d04764ff"><div class="ttname"><a href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">glm::float3x2</a></div><div class="ttdeci">tmat3x2&lt; float, highp &gt; float3x2</div><div class="ttdoc">single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00104">compatibility.hpp:104</a></div></div>
+<div class="ttc" id="a00187_html_ga2f87500119da15e35e4a74780ba512bd"><div class="ttname"><a href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">glm::double4x2</a></div><div class="ttdeci">tmat4x2&lt; double, highp &gt; double4x2</div><div class="ttdoc">double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00123">compatibility.hpp:123</a></div></div>
+<div class="ttc" id="a00187_html_gaa4e6d53c03780dfa76bd399324f9fe37"><div class="ttname"><a href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">glm::double4x3</a></div><div class="ttdeci">tmat4x3&lt; double, highp &gt; double4x3</div><div class="ttdoc">double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00124">compatibility.hpp:124</a></div></div>
+<div class="ttc" id="a00187_html_ga45f16a4dd0db1f199afaed9fd12fe9a8"><div class="ttname"><a href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">glm::double1x1</a></div><div class="ttdeci">double double1x1</div><div class="ttdoc">double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00116">compatibility.hpp:116</a></div></div>
+<div class="ttc" id="a00187_html_gaa53815539021200c4e10fd282832dcd3"><div class="ttname"><a href="a00187.html#gaa53815539021200c4e10fd282832dcd3">glm::int4x2</a></div><div class="ttdeci">tmat4x2&lt; int, highp &gt; int4x2</div><div class="ttdoc">integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00091">compatibility.hpp:91</a></div></div>
+<div class="ttc" id="a00187_html_gab19c2df22e9b14081390fabd074081f1"><div class="ttname"><a href="a00187.html#gab19c2df22e9b14081390fabd074081f1">glm::int4</a></div><div class="ttdeci">tvec4&lt; int, highp &gt; int4</div><div class="ttdoc">integer vector with 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00082">compatibility.hpp:82</a></div></div>
+<div class="ttc" id="a00187_html_gab8d74ea4c4f4bd980b650ffb27cdb659"><div class="ttname"><a href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">glm::bool3</a></div><div class="ttdeci">tvec3&lt; bool, highp &gt; bool3</div><div class="ttdoc">boolean type with 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00065">compatibility.hpp:65</a></div></div>
+<div class="ttc" id="a00146_html_gadccbaffe46f369cf1a96b2aef92cbfdd"><div class="ttname"><a href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; mix(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
+<div class="ttc" id="a00152_html_ga461e769acb8b8cb695a5a89334546611"><div class="ttname"><a href="a00152.html#ga461e769acb8b8cb695a5a89334546611">glm::atan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; atan(vecType&lt; T, P &gt; const &amp;y, vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Arc tangent. </div></div>
+<div class="ttc" id="a00187_html_gaa98b1a06b802c975f02a5583f43632db"><div class="ttname"><a href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">glm::int3x2</a></div><div class="ttdeci">tmat3x2&lt; int, highp &gt; int3x2</div><div class="ttdoc">integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00088">compatibility.hpp:88</a></div></div>
+<div class="ttc" id="a00187_html_gaeaac4d0e18164e4d2fe54432c0fbbcf6"><div class="ttname"><a href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">glm::double3x2</a></div><div class="ttdeci">tmat3x2&lt; double, highp &gt; double3x2</div><div class="ttdoc">double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00120">compatibility.hpp:120</a></div></div>
+<div class="ttc" id="a00187_html_ga09d39c391a509a045b6c7061f15bdff5"><div class="ttname"><a href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">glm::atan2</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER tvec4&lt; T, P &gt; atan2(const tvec4&lt; T, P &gt; &amp;x, const tvec4&lt; T, P &gt; &amp;y)</div><div class="ttdoc">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00055">compatibility.hpp:55</a></div></div>
+<div class="ttc" id="a00187_html_gab8bbb086c9a6c2deffbe0e80afd6be56"><div class="ttname"><a href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">glm::double4</a></div><div class="ttdeci">tvec4&lt; double, highp &gt; double4</div><div class="ttdoc">double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00114">compatibility.hpp:114</a></div></div>
+<div class="ttc" id="a00187_html_ga184ee05ac2bbbf0a91dd364ba8e528db"><div class="ttname"><a href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">glm::bool4x2</a></div><div class="ttdeci">tmat4x2&lt; bool, highp &gt; bool4x2</div><div class="ttdoc">boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00075">compatibility.hpp:75</a></div></div>
+<div class="ttc" id="a00187_html_gaf923922adf744404d5bfb3fafb7d0d8e"><div class="ttname"><a href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">glm::double2x4</a></div><div class="ttdeci">tmat2x4&lt; double, highp &gt; double2x4</div><div class="ttdoc">double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00119">compatibility.hpp:119</a></div></div>
+<div class="ttc" id="a00187_html_ga4a3bf0ecd6f6ff60836c5bee26c14abe"><div class="ttname"><a href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">glm::int4x3</a></div><div class="ttdeci">tmat4x3&lt; int, highp &gt; int4x3</div><div class="ttdoc">integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00092">compatibility.hpp:92</a></div></div>
+<div class="ttc" id="a00187_html_gade37cf30c69bacb41ceea7e32717eac7"><div class="ttname"><a href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">glm::double2x3</a></div><div class="ttdeci">tmat2x3&lt; double, highp &gt; double2x3</div><div class="ttdoc">double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00118">compatibility.hpp:118</a></div></div>
+<div class="ttc" id="a00187_html_ga098c33a30f901f4f6a76969d6db6b01b"><div class="ttname"><a href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">glm::float2x3</a></div><div class="ttdeci">tmat2x3&lt; float, highp &gt; float2x3</div><div class="ttdoc">single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00102">compatibility.hpp:102</a></div></div>
+<div class="ttc" id="a00187_html_ga7b00c53838143bce963177122ab92c39"><div class="ttname"><a href="a00187.html#ga7b00c53838143bce963177122ab92c39">glm::int3x4</a></div><div class="ttdeci">tmat3x4&lt; int, highp &gt; int3x4</div><div class="ttdoc">integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00090">compatibility.hpp:90</a></div></div>
+<div class="ttc" id="a00187_html_ga379c0869949e8a69c3d06d7637caa5d7"><div class="ttname"><a href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">glm::bool2x4</a></div><div class="ttdeci">tmat2x4&lt; bool, highp &gt; bool2x4</div><div class="ttdoc">boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00071">compatibility.hpp:71</a></div></div>
+<div class="ttc" id="a00187_html_ga3bacf576b4b29f2f2959abff7a36652d"><div class="ttname"><a href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">glm::int4x4</a></div><div class="ttdeci">tmat4x4&lt; int, highp &gt; int4x4</div><div class="ttdoc">integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00093">compatibility.hpp:93</a></div></div>
+<div class="ttc" id="a00187_html_ga0670a2111b5e4a6410bd027fa0232fc3"><div class="ttname"><a href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">glm::int1</a></div><div class="ttdeci">int int1</div><div class="ttdoc">integer vector with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00079">compatibility.hpp:79</a></div></div>
+<div class="ttc" id="a00187_html_ga872a70333dd25af68b1ebba485be9e42"><div class="ttname"><a href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">glm::float2</a></div><div class="ttdeci">tvec2&lt; float, highp &gt; float2</div><div class="ttdoc">single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00096">compatibility.hpp:96</a></div></div>
+<div class="ttc" id="a00187_html_ga2bfb53bc320966c85149934fffb0329d"><div class="ttname"><a href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">glm::bool2x2</a></div><div class="ttdeci">tmat2x2&lt; bool, highp &gt; bool2x2</div><div class="ttdoc">boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00069">compatibility.hpp:69</a></div></div>
+<div class="ttc" id="a00187_html_ga6e79dbfab5917c467a154638ba27898e"><div class="ttname"><a href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">glm::bool4</a></div><div class="ttdeci">tvec4&lt; bool, highp &gt; bool4</div><div class="ttdoc">boolean type with 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00066">compatibility.hpp:66</a></div></div>
+<div class="ttc" id="a00187_html_ga686a3a5590f0a0e721faba08bda301d6"><div class="ttname"><a href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">glm::double4x4</a></div><div class="ttdeci">tmat4x4&lt; double, highp &gt; double4x4</div><div class="ttdoc">double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00125">compatibility.hpp:125</a></div></div>
+<div class="ttc" id="a00187_html_gaddcd7aa2e30e61af5b38660613d3979e"><div class="ttname"><a href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">glm::bool1</a></div><div class="ttdeci">bool bool1</div><div class="ttdoc">boolean type with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00063">compatibility.hpp:63</a></div></div>
+<div class="ttc" id="a00187_html_gad13f8250579ebf79760dcf64215ddb17"><div class="ttname"><a href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">glm::bool3x4</a></div><div class="ttdeci">tmat3x4&lt; bool, highp &gt; bool3x4</div><div class="ttdoc">boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00074">compatibility.hpp:74</a></div></div>
+<div class="ttc" id="a00187_html_ga0fc7ecb53df5be5f9d766fbbfe5190d7"><div class="ttname"><a href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">glm::bool3x2</a></div><div class="ttdeci">tmat3x2&lt; bool, highp &gt; bool3x2</div><div class="ttdoc">boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00072">compatibility.hpp:72</a></div></div>
+<div class="ttc" id="a00187_html_gac38c8929ccc87a2dc81eaab97ad5190e"><div class="ttname"><a href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">glm::float3x4</a></div><div class="ttdeci">tmat3x4&lt; float, highp &gt; float3x4</div><div class="ttdoc">single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00106">compatibility.hpp:106</a></div></div>
+<div class="ttc" id="a00187_html_ga6dc93f0794eb5fadd7f68b85141a2434"><div class="ttname"><a href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">glm::int2x3</a></div><div class="ttdeci">tmat2x3&lt; int, highp &gt; int2x3</div><div class="ttdoc">integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00086">compatibility.hpp:86</a></div></div>
+<div class="ttc" id="a00187_html_ga2bfa618285894e34f299e4984f092d56"><div class="ttname"><a href="a00187.html#ga2bfa618285894e34f299e4984f092d56">glm::float3</a></div><div class="ttdeci">tvec3&lt; float, highp &gt; float3</div><div class="ttdoc">single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00097">compatibility.hpp:97</a></div></div>
+<div class="ttc" id="a00146_html_ga93bce26c7d80d30a62f5c508f8498a6c"><div class="ttname"><a href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
+<div class="ttc" id="a00187_html_gaaa6ceedf08a85e5fd73a482bc8b77b88"><div class="ttname"><a href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">glm::int3</a></div><div class="ttdeci">tvec3&lt; int, highp &gt; int3</div><div class="ttdoc">integer vector with 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00081">compatibility.hpp:81</a></div></div>
+<div class="ttc" id="a00187_html_ga73720b8dc4620835b17f74d428f98c0c"><div class="ttname"><a href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">glm::float1x1</a></div><div class="ttdeci">float float1x1</div><div class="ttdoc">single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00100">compatibility.hpp:100</a></div></div>
+<div class="ttc" id="a00187_html_gaa16a13c6f2768e83ca133430e82ab89e"><div class="ttname"><a href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">glm::double2</a></div><div class="ttdeci">tvec2&lt; double, highp &gt; double2</div><div class="ttdoc">double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00112">compatibility.hpp:112</a></div></div>
+<div class="ttc" id="a00187_html_ga7f895c936f0c29c8729afbbf22806090"><div class="ttname"><a href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">glm::bool1x1</a></div><div class="ttdeci">bool bool1x1</div><div class="ttdoc">boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00068">compatibility.hpp:68</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00017.html b/src/third_party/glm/doc/api/a00017.html
new file mode 100644
index 0000000..aa96a11
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00017.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: component_wise.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">component_wise.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00017_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gaf71833350e15e74d31cbf8a3e7f27051">compAdd</a> (genType const &amp;v)</td></tr>
+<tr class="separator:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gabfa4bb19298c8c73d4217ba759c496b6">compMax</a> (genType const &amp;v)</td></tr>
+<tr class="separator:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gab5d0832b5c7bb01b8d7395973bfb1425">compMin</a> (genType const &amp;v)</td></tr>
+<tr class="separator:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gae8ab88024197202c9479d33bdc5a8a5d">compMul</a> (genType const &amp;v)</td></tr>
+<tr class="separator:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb34fdf090d2d4da9babcdfec267f09e"><td class="memTemplParams" colspan="2">template&lt;typename floatType , typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaeb34fdf090d2d4da9babcdfec267f09e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; floatType, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gaeb34fdf090d2d4da9babcdfec267f09e">compNormalize</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:gaeb34fdf090d2d4da9babcdfec267f09e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea99a3271016bfd331d9fa7587f3db37"><td class="memTemplParams" colspan="2">template&lt;typename T , typename floatType , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaea99a3271016bfd331d9fa7587f3db37"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gaea99a3271016bfd331d9fa7587f3db37">compScale</a> (vecType&lt; floatType, P &gt; const &amp;v)</td></tr>
+<tr class="separator:gaea99a3271016bfd331d9fa7587f3db37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00188.html">GLM_GTX_component_wise</a> </p>
+<dl class="section date"><dt>Date</dt><dd>2007-05-21 / 2011-06-07 </dd></dl>
+<dl class="section author"><dt>Author</dt><dd>Christophe Riccio</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00017_source.html">component_wise.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00017_source.html b/src/third_party/glm/doc/api/a00017_source.html
new file mode 100644
index 0000000..de76ebb
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00017_source.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: component_wise.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">component_wise.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00017.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_component_wise extension included&quot;)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> <span class="keywordtype">float</span>Type, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL vecType&lt;floatType, P&gt; <a class="code" href="a00188.html#gaeb34fdf090d2d4da9babcdfec267f09e">compNormalize</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> <span class="keywordtype">float</span>Type, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00188.html#gaea99a3271016bfd331d9fa7587f3db37">compScale</a>(vecType&lt;floatType, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00188.html#gaf71833350e15e74d31cbf8a3e7f27051">compAdd</a>(genType <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00188.html#gae8ab88024197202c9479d33bdc5a8a5d">compMul</a>(genType <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00188.html#gab5d0832b5c7bb01b8d7395973bfb1425">compMin</a>(genType <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00188.html#gabfa4bb19298c8c73d4217ba759c496b6">compMax</a>(genType <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#include &quot;component_wise.inl&quot;</span></div>
+<div class="ttc" id="a00188_html_gaf71833350e15e74d31cbf8a3e7f27051"><div class="ttname"><a href="a00188.html#gaf71833350e15e74d31cbf8a3e7f27051">glm::compAdd</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compAdd(genType const &amp;v)</div><div class="ttdoc">Add all vector components together. </div></div>
+<div class="ttc" id="a00188_html_gaea99a3271016bfd331d9fa7587f3db37"><div class="ttname"><a href="a00188.html#gaea99a3271016bfd331d9fa7587f3db37">glm::compScale</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; compScale(vecType&lt; floatType, P &gt; const &amp;v)</div><div class="ttdoc">Convert a normalized float vector to an integer vector. </div></div>
+<div class="ttc" id="a00188_html_gae8ab88024197202c9479d33bdc5a8a5d"><div class="ttname"><a href="a00188.html#gae8ab88024197202c9479d33bdc5a8a5d">glm::compMul</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compMul(genType const &amp;v)</div><div class="ttdoc">Multiply all vector components together. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00188_html_gaeb34fdf090d2d4da9babcdfec267f09e"><div class="ttname"><a href="a00188.html#gaeb34fdf090d2d4da9babcdfec267f09e">glm::compNormalize</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; floatType, P &gt; compNormalize(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Convert an integer vector to a normalized float vector. </div></div>
+<div class="ttc" id="a00188_html_gab5d0832b5c7bb01b8d7395973bfb1425"><div class="ttname"><a href="a00188.html#gab5d0832b5c7bb01b8d7395973bfb1425">glm::compMin</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compMin(genType const &amp;v)</div><div class="ttdoc">Find the minimum value between single vector components. </div></div>
+<div class="ttc" id="a00188_html_gabfa4bb19298c8c73d4217ba759c496b6"><div class="ttname"><a href="a00188.html#gabfa4bb19298c8c73d4217ba759c496b6">glm::compMax</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compMax(genType const &amp;v)</div><div class="ttdoc">Find the maximum value between single vector components. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00018.html b/src/third_party/glm/doc/api/a00018.html
new file mode 100644
index 0000000..76b2c5a
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00018.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: constants.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">constants.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00018_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a> ()</td></tr>
+<tr class="separator:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a> ()</td></tr>
+<tr class="separator:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a> ()</td></tr>
+<tr class="separator:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a> ()</td></tr>
+<tr class="separator:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a> ()</td></tr>
+<tr class="separator:ga748cf8642830657c5b7eae04d0a80899"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a> ()</td></tr>
+<tr class="separator:ga0c36b41d462e45641faf7d7938948bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a> ()</td></tr>
+<tr class="separator:gaca94292c839ed31a405ab7a81ae7e850"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a> ()</td></tr>
+<tr class="separator:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a> ()</td></tr>
+<tr class="separator:ga24f4d27765678116f41a2f336ab7975c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga39c2fb227631ca25894326529bdd1ee5">one</a> ()</td></tr>
+<tr class="separator:ga39c2fb227631ca25894326529bdd1ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a> ()</td></tr>
+<tr class="separator:ga555150da2b06d23c8738981d5013e0eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a> ()</td></tr>
+<tr class="separator:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a> ()</td></tr>
+<tr class="separator:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a> ()</td></tr>
+<tr class="separator:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a> ()</td></tr>
+<tr class="separator:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a> ()</td></tr>
+<tr class="separator:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a> ()</td></tr>
+<tr class="separator:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a> ()</td></tr>
+<tr class="separator:ga4129412e96b33707a77c1a07652e23e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a> ()</td></tr>
+<tr class="separator:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a> ()</td></tr>
+<tr class="separator:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a> ()</td></tr>
+<tr class="separator:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a> ()</td></tr>
+<tr class="separator:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga3077c6311010a214b69ddc8214ec13b5">third</a> ()</td></tr>
+<tr class="separator:ga3077c6311010a214b69ddc8214ec13b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a> ()</td></tr>
+<tr class="separator:gae94950df74b0ce382b1fc1d978ef7394"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a> ()</td></tr>
+<tr class="separator:ga74eadc8a211253079683219a3ea0462a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a> ()</td></tr>
+<tr class="separator:ga5827301817640843cf02026a8d493894"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a> ()</td></tr>
+<tr class="separator:gaa5276a4617566abcfe49286f40e3a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a> ()</td></tr>
+<tr class="separator:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00162.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a> ()</td></tr>
+<tr class="separator:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00162.html">GLM_GTC_constants</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00018_source.html">constants.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00018_source.html b/src/third_party/glm/doc/api/a00018_source.html
new file mode 100644
index 0000000..2468481
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00018_source.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: constants.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">constants.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00018.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_constants extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>();</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a>();</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga39c2fb227631ca25894326529bdd1ee5">one</a>();</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a>();</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a>();</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a>();</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a>();</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a>();</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a>();</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a>();</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a>();</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a>();</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a>();</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a>();</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a>();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a>();</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a>();</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a>();</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>();</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a>();</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a>();</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a>();</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a>();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a>();</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a>();</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a>();</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga3077c6311010a214b69ddc8214ec13b5">third</a>();</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a>();</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00162.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a>();</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#include &quot;constants.inl&quot;</span></div>
+<div class="ttc" id="a00162_html_ga74e607d29020f100c0d0dc46ce2ca950"><div class="ttname"><a href="a00162.html#ga74e607d29020f100c0d0dc46ce2ca950">glm::root_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_two()</div><div class="ttdoc">Return sqrt(2). </div></div>
+<div class="ttc" id="a00162_html_ga261380796b2cd496f68d2cf1d08b8eb9"><div class="ttname"><a href="a00162.html#ga261380796b2cd496f68d2cf1d08b8eb9">glm::root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi()</div><div class="ttdoc">Return square root of pi. </div></div>
+<div class="ttc" id="a00162_html_ga788f5a421fc0f40a1296ebc094cbaa8a"><div class="ttname"><a href="a00162.html#ga788f5a421fc0f40a1296ebc094cbaa8a">glm::zero</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType zero()</div><div class="ttdoc">Return 0. </div></div>
+<div class="ttc" id="a00162_html_ga39c2fb227631ca25894326529bdd1ee5"><div class="ttname"><a href="a00162.html#ga39c2fb227631ca25894326529bdd1ee5">glm::one</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one()</div><div class="ttdoc">Return 1. </div></div>
+<div class="ttc" id="a00162_html_gad8fe2e6f90bce9d829e9723b649fbd42"><div class="ttname"><a href="a00162.html#gad8fe2e6f90bce9d829e9723b649fbd42">glm::euler</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType euler()</div><div class="ttdoc">Return Euler&#39;s constant. </div></div>
+<div class="ttc" id="a00162_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types. </div></div>
+<div class="ttc" id="a00162_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant. </div></div>
+<div class="ttc" id="a00162_html_ga5827301817640843cf02026a8d493894"><div class="ttname"><a href="a00162.html#ga5827301817640843cf02026a8d493894">glm::two_over_root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi()</div><div class="ttdoc">Return 2 / sqrt(pi). </div></div>
+<div class="ttc" id="a00162_html_ga4f286be4abe88be1eed7d2a9f6cb193e"><div class="ttname"><a href="a00162.html#ga4f286be4abe88be1eed7d2a9f6cb193e">glm::root_three</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_three()</div><div class="ttdoc">Return sqrt(3). </div></div>
+<div class="ttc" id="a00162_html_gaf97ebc6c059ffd788e6c4946f71ef66c"><div class="ttname"><a href="a00162.html#gaf97ebc6c059ffd788e6c4946f71ef66c">glm::ln_ten</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten()</div><div class="ttdoc">Return ln(10). </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00162_html_ga3077c6311010a214b69ddc8214ec13b5"><div class="ttname"><a href="a00162.html#ga3077c6311010a214b69ddc8214ec13b5">glm::third</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType third()</div><div class="ttdoc">Return 1 / 3. </div></div>
+<div class="ttc" id="a00162_html_ga24f4d27765678116f41a2f336ab7975c"><div class="ttname"><a href="a00162.html#ga24f4d27765678116f41a2f336ab7975c">glm::ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two()</div><div class="ttdoc">Return ln(2). </div></div>
+<div class="ttc" id="a00162_html_ga788fa23a0939bac4d1d0205fb4f35818"><div class="ttname"><a href="a00162.html#ga788fa23a0939bac4d1d0205fb4f35818">glm::one_over_root_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two()</div><div class="ttdoc">Return 1 / sqrt(2). </div></div>
+<div class="ttc" id="a00162_html_gaca94292c839ed31a405ab7a81ae7e850"><div class="ttname"><a href="a00162.html#gaca94292c839ed31a405ab7a81ae7e850">glm::ln_ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two()</div><div class="ttdoc">Return ln(ln(2)). </div></div>
+<div class="ttc" id="a00162_html_gae94950df74b0ce382b1fc1d978ef7394"><div class="ttname"><a href="a00162.html#gae94950df74b0ce382b1fc1d978ef7394">glm::three_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi()</div><div class="ttdoc">Return pi / 2 * 3. </div></div>
+<div class="ttc" id="a00162_html_ga0c36b41d462e45641faf7d7938948bac"><div class="ttname"><a href="a00162.html#ga0c36b41d462e45641faf7d7938948bac">glm::half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi()</div><div class="ttdoc">Return pi / 2. </div></div>
+<div class="ttc" id="a00162_html_ga7c922b427986cbb2e4c6ac69874eefbc"><div class="ttname"><a href="a00162.html#ga7c922b427986cbb2e4c6ac69874eefbc">glm::one_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi()</div><div class="ttdoc">Return 1 / (pi * 2). </div></div>
+<div class="ttc" id="a00162_html_gae9ebbded75b53d4faeb1e4ef8b3347a2"><div class="ttname"><a href="a00162.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">glm::root_five</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_five()</div><div class="ttdoc">Return sqrt(5). </div></div>
+<div class="ttc" id="a00162_html_ga4e276cb823cc5e612d4f89ed99c75039"><div class="ttname"><a href="a00162.html#ga4e276cb823cc5e612d4f89ed99c75039">glm::root_half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi()</div><div class="ttdoc">Return sqrt(pi / 2). </div></div>
+<div class="ttc" id="a00162_html_ga2bcedc575039fe0cd765742f8bbb0bd3"><div class="ttname"><a href="a00162.html#ga2bcedc575039fe0cd765742f8bbb0bd3">glm::root_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi()</div><div class="ttdoc">Return sqrt(2 * pi). </div></div>
+<div class="ttc" id="a00162_html_ga753950e5140e4ea6a88e4a18ba61dc09"><div class="ttname"><a href="a00162.html#ga753950e5140e4ea6a88e4a18ba61dc09">glm::four_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi()</div><div class="ttdoc">Return 4 / pi. </div></div>
+<div class="ttc" id="a00162_html_ga4129412e96b33707a77c1a07652e23e2"><div class="ttname"><a href="a00162.html#ga4129412e96b33707a77c1a07652e23e2">glm::root_ln_four</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four()</div><div class="ttdoc">Return sqrt(ln(4)). </div></div>
+<div class="ttc" id="a00162_html_ga555150da2b06d23c8738981d5013e0eb"><div class="ttname"><a href="a00162.html#ga555150da2b06d23c8738981d5013e0eb">glm::one_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi()</div><div class="ttdoc">Return 1 / pi. </div></div>
+<div class="ttc" id="a00162_html_ga9b4d2f4322edcf63a6737b92a29dd1f5"><div class="ttname"><a href="a00162.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">glm::two_thirds</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds()</div><div class="ttdoc">Return 2 / 3. </div></div>
+<div class="ttc" id="a00162_html_ga3c9df42bd73c519a995c43f0f99e77e0"><div class="ttname"><a href="a00162.html#ga3c9df42bd73c519a995c43f0f99e77e0">glm::quarter_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi()</div><div class="ttdoc">Return pi / 4. </div></div>
+<div class="ttc" id="a00162_html_ga94bafeb2a0f23ab6450fed1f98ee4e45"><div class="ttname"><a href="a00162.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">glm::pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType pi()</div><div class="ttdoc">Return the pi constant. </div></div>
+<div class="ttc" id="a00162_html_ga74eadc8a211253079683219a3ea0462a"><div class="ttname"><a href="a00162.html#ga74eadc8a211253079683219a3ea0462a">glm::two_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi()</div><div class="ttdoc">Return 2 / pi. </div></div>
+<div class="ttc" id="a00162_html_ga748cf8642830657c5b7eae04d0a80899"><div class="ttname"><a href="a00162.html#ga748cf8642830657c5b7eae04d0a80899">glm::golden_ratio</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio()</div><div class="ttdoc">Return the golden ratio constant. </div></div>
+<div class="ttc" id="a00162_html_gaa5276a4617566abcfe49286f40e3a256"><div class="ttname"><a href="a00162.html#gaa5276a4617566abcfe49286f40e3a256">glm::two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi()</div><div class="ttdoc">Return pi * 2. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00019.html b/src/third_party/glm/doc/api/a00019.html
new file mode 100644
index 0000000..07d7a1b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00019.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: dual_quaternion.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">dual_quaternion.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00019_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memItemLeft" align="right" valign="top">typedef highp_ddualquat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a></td></tr>
+<tr class="separator:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a></td></tr>
+<tr class="separator:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a></td></tr>
+<tr class="separator:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga8f67eafa7197d7a668dad5105a463d2a">highp_ddualquat</a></td></tr>
+<tr class="separator:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga9ef5bf1da52a9d4932335a517086ceaf">highp_dualquat</a></td></tr>
+<tr class="separator:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4c4e55e9c99dc57b299ed590968da564"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga4c4e55e9c99dc57b299ed590968da564">highp_fdualquat</a></td></tr>
+<tr class="separator:ga4c4e55e9c99dc57b299ed590968da564"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; double, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gab4c5103338af3dac7e0fbc86895a3f1a">lowp_ddualquat</a></td></tr>
+<tr class="separator:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gade05d29ebd4deea0f883d0e1bb4169aa">lowp_dualquat</a></td></tr>
+<tr class="separator:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa38f671be25a7f3b136a452a8bb42860"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gaa38f671be25a7f3b136a452a8bb42860">lowp_fdualquat</a></td></tr>
+<tr class="separator:gaa38f671be25a7f3b136a452a8bb42860"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; double, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga0fb11e48e2d16348ccb06a25213641b4">mediump_ddualquat</a></td></tr>
+<tr class="separator:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#gaa7aeb54c167712b38f2178a1be2360ad">mediump_dualquat</a></td></tr>
+<tr class="separator:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4a6b594ff7e81150d8143001367a9431"><td class="memItemLeft" align="right" valign="top">typedef tdualquat&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#ga4a6b594ff7e81150d8143001367a9431">mediump_fdualquat</a></td></tr>
+<tr class="separator:ga4a6b594ff7e81150d8143001367a9431"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gada9799afe2b62394dc498534beb5bc78"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gada9799afe2b62394dc498534beb5bc78"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#gada9799afe2b62394dc498534beb5bc78">dualquat_cast</a> (tmat2x4&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gada9799afe2b62394dc498534beb5bc78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga20eb5758beb73cc6dbc2d9104f03ec20">dualquat_cast</a> (tmat3x4&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga20eb5758beb73cc6dbc2d9104f03ec20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga2149d3cb8af04d9530de0cd16aa1aab2">inverse</a> (tdualquat&lt; T, P &gt; const &amp;q)</td></tr>
+<tr class="separator:ga2149d3cb8af04d9530de0cd16aa1aab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8039b88397ca09275be924a26a806a59"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga8039b88397ca09275be924a26a806a59"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga8039b88397ca09275be924a26a806a59">lerp</a> (tdualquat&lt; T, P &gt; const &amp;x, tdualquat&lt; T, P &gt; const &amp;y, T const &amp;a)</td></tr>
+<tr class="separator:ga8039b88397ca09275be924a26a806a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2d124748183e12db8288eeaca350298e"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga2d124748183e12db8288eeaca350298e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat2x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga2d124748183e12db8288eeaca350298e">mat2x4_cast</a> (tdualquat&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga2d124748183e12db8288eeaca350298e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga576745d979e3c079a64152490c816954"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga576745d979e3c079a64152490c816954"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat3x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga576745d979e3c079a64152490c816954">mat3x4_cast</a> (tdualquat&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga576745d979e3c079a64152490c816954"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00189.html#ga495818aa48c23e9e730f87a3c337d1d5">normalize</a> (tdualquat&lt; T, P &gt; const &amp;q)</td></tr>
+<tr class="separator:ga495818aa48c23e9e730f87a3c337d1d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00189.html">GLM_GTX_dual_quaternion</a> </p>
+<dl class="section author"><dt>Author</dt><dd>Maksim Vorobiev (<a href="#" onclick="location.href='mai'+'lto:'+'mso'+'me'+'one'+'@g'+'mai'+'l.'+'com'; return false;">msome<span style="display: none;">.nosp@m.</span>one@<span style="display: none;">.nosp@m.</span>gmail<span style="display: none;">.nosp@m.</span>.com</a>)</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd>
+<dd>
+<a class="el" href="a00162.html" title="Provide a list of constants and precomputed useful values. ">GLM_GTC_constants</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00172.html" title="Defines a templated quaternion type and several quaternion operations. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00019_source.html">dual_quaternion.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00019_source.html b/src/third_party/glm/doc/api/a00019_source.html
new file mode 100644
index 0000000..9e03752
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00019_source.html
@@ -0,0 +1,271 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: dual_quaternion.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">dual_quaternion.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00019.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../gtc/constants.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_dual_quaternion extension included&quot;)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P = defaultp&gt;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">struct </span>tdualquat</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        {</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                <span class="comment">// -- Implementation detail --</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                <span class="keyword">typedef</span> T value_type;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                <span class="keyword">typedef</span> glm::tquat&lt;T, P&gt; part_type;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                <span class="comment">// -- Data --</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                glm::tquat&lt;T, P&gt; real, dual;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                <span class="comment">// -- Component accesses --</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                <span class="keyword">typedef</span> length_t length_type;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR length_type <a class="code" href="a00148.html#ga18d45e3d4c7705e67ccfabd99e521604">length</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                GLM_FUNC_DECL part_type &amp; operator[](length_type i);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                GLM_FUNC_DECL part_type <span class="keyword">const</span> &amp; operator[](length_type i) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                <span class="comment">// -- Implicit basic constructors --</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR tdualquat() GLM_DEFAULT_CTOR;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat&lt;T, P&gt; const &amp; d) GLM_DEFAULT;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                template &lt;precision Q&gt;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat&lt;T, Q&gt; const &amp; d);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                <span class="comment">// -- Explicit basic constructors --</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit tdualquat(ctor);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat&lt;T, P&gt; const &amp; real);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat&lt;T, P&gt; const &amp; <a class="code" href="a00224.html#ga49b4d082305cdfcfe0a5c184f684a902">orientation</a>, tvec3&lt;T, P&gt; const &amp; translation);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat&lt;T, P&gt; const &amp; real, tquat&lt;T, P&gt; const &amp; dual);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                <span class="comment">// -- Conversion constructors --</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                template &lt;typename U, precision Q&gt;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT tdualquat(tdualquat&lt;U, Q&gt; const &amp; q);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                GLM_FUNC_DECL GLM_EXPLICIT tdualquat(tmat2x4&lt;T, P&gt; const &amp; holder_mat);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                GLM_FUNC_DECL GLM_EXPLICIT tdualquat(tmat3x4&lt;T, P&gt; const &amp; aug_mat);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                <span class="comment">// -- Unary arithmetic operators --</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                GLM_FUNC_DECL tdualquat&lt;T, P&gt; &amp; operator=(tdualquat&lt;T, P&gt; const &amp; m) GLM_DEFAULT;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                template &lt;typename U&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                GLM_FUNC_DECL tdualquat&lt;T, P&gt; &amp; operator=(tdualquat&lt;U, P&gt; const &amp; m);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                template &lt;typename U&gt;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                GLM_FUNC_DECL tdualquat&lt;T, P&gt; &amp; operator*=(U s);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                template &lt;typename U&gt;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                GLM_FUNC_DECL tdualquat&lt;T, P&gt; &amp; operator/=(U s);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        };</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="comment">// -- Unary bit operators --</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator+(tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator-(tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="comment">// -- Binary operators --</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator+(tdualquat&lt;T, P&gt; const &amp; q, tdualquat&lt;T, P&gt; const &amp; p);</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator*(tdualquat&lt;T, P&gt; const &amp; q, tdualquat&lt;T, P&gt; const &amp; p);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; operator*(tdualquat&lt;T, P&gt; const &amp; q, tvec3&lt;T, P&gt; const &amp; v);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; operator*(tvec3&lt;T, P&gt; const &amp; v, tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        GLM_FUNC_DECL tvec4&lt;T, P&gt; operator*(tdualquat&lt;T, P&gt; const &amp; q, tvec4&lt;T, P&gt; const &amp; v);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        GLM_FUNC_DECL tvec4&lt;T, P&gt; operator*(tvec4&lt;T, P&gt; const &amp; v, tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator*(tdualquat&lt;T, P&gt; const &amp; q, T const &amp; s);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator*(T const &amp; s, tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; operator/(tdualquat&lt;T, P&gt; const &amp; q, T const &amp; s);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="comment">// -- Boolean operators --</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> operator==(tdualquat&lt;T, P&gt; const &amp; q1, tdualquat&lt;T, P&gt; const &amp; q2);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> operator!=(tdualquat&lt;T, P&gt; const &amp; q1, tdualquat&lt;T, P&gt; const &amp; q2);</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; <a class="code" href="a00189.html#ga495818aa48c23e9e730f87a3c337d1d5">normalize</a>(tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; <a class="code" href="a00189.html#ga8039b88397ca09275be924a26a806a59">lerp</a>(tdualquat&lt;T, P&gt; const &amp; x, tdualquat&lt;T, P&gt; const &amp; y, T const &amp; a);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; <a class="code" href="a00189.html#ga2149d3cb8af04d9530de0cd16aa1aab2">inverse</a>(tdualquat&lt;T, P&gt; const &amp; q);</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        GLM_FUNC_DECL tmat2x4&lt;T, P&gt; <a class="code" href="a00189.html#ga2d124748183e12db8288eeaca350298e">mat2x4_cast</a>(tdualquat&lt;T, P&gt; const &amp; x);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL tmat3x4&lt;T, P&gt; <a class="code" href="a00189.html#ga576745d979e3c079a64152490c816954">mat3x4_cast</a>(tdualquat&lt;T, P&gt; const &amp; x);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; <a class="code" href="a00189.html#ga20eb5758beb73cc6dbc2d9104f03ec20">dualquat_cast</a>(tmat2x4&lt;T, P&gt; const &amp; x);</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        template &lt;typename T, precision P&gt;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        GLM_FUNC_DECL tdualquat&lt;T, P&gt; <a class="code" href="a00189.html#ga20eb5758beb73cc6dbc2d9104f03ec20">dualquat_cast</a>(tmat3x4&lt;T, P&gt; const &amp; x);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="a00189.html#gade05d29ebd4deea0f883d0e1bb4169aa">  179</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">float</span>, lowp&gt;          <a class="code" href="a00189.html#gade05d29ebd4deea0f883d0e1bb4169aa">lowp_dualquat</a>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="a00189.html#gaa7aeb54c167712b38f2178a1be2360ad">  184</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">float</span>, mediump&gt;       <a class="code" href="a00189.html#gaa7aeb54c167712b38f2178a1be2360ad">mediump_dualquat</a>;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
+<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="a00189.html#ga9ef5bf1da52a9d4932335a517086ceaf">  189</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">float</span>, highp&gt;         <a class="code" href="a00189.html#ga9ef5bf1da52a9d4932335a517086ceaf">highp_dualquat</a>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
+<div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="a00189.html#gaa38f671be25a7f3b136a452a8bb42860">  195</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">float</span>, lowp&gt;          <a class="code" href="a00189.html#gaa38f671be25a7f3b136a452a8bb42860">lowp_fdualquat</a>;</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
+<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="a00189.html#ga4a6b594ff7e81150d8143001367a9431">  200</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">float</span>, mediump&gt;       <a class="code" href="a00189.html#ga4a6b594ff7e81150d8143001367a9431">mediump_fdualquat</a>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="a00189.html#ga4c4e55e9c99dc57b299ed590968da564">  205</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">float</span>, highp&gt;         <a class="code" href="a00189.html#ga4c4e55e9c99dc57b299ed590968da564">highp_fdualquat</a>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="a00189.html#gab4c5103338af3dac7e0fbc86895a3f1a">  211</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">double</span>, lowp&gt;         <a class="code" href="a00189.html#gab4c5103338af3dac7e0fbc86895a3f1a">lowp_ddualquat</a>;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="a00189.html#ga0fb11e48e2d16348ccb06a25213641b4">  216</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">double</span>, mediump&gt;      <a class="code" href="a00189.html#ga0fb11e48e2d16348ccb06a25213641b4">mediump_ddualquat</a>;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="a00189.html#ga8f67eafa7197d7a668dad5105a463d2a">  221</a></span>&#160;        typedef tdualquat&lt;<span class="keywordtype">double</span>, highp&gt;        <a class="code" href="a00189.html#ga8f67eafa7197d7a668dad5105a463d2a">highp_ddualquat</a>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor">#if(!defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <span class="keyword">typedef</span> highp_fdualquat                 <a class="code" href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">  233</a></span>&#160;        <span class="keyword">typedef</span> highp_fdualquat                 <a class="code" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keyword">typedef</span> highp_fdualquat                 <a class="code" href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keyword">typedef</span> highp_fdualquat                 <a class="code" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        <span class="keyword">typedef</span> mediump_fdualquat               <a class="code" href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keyword">typedef</span> mediump_fdualquat               <a class="code" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keyword">typedef</span> lowp_fdualquat                  <a class="code" href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <span class="keyword">typedef</span> lowp_fdualquat                  <a class="code" href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor">#       error &quot;GLM error: multiple default precision requested for single-precision floating-point types&quot;</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">#if(!defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keyword">typedef</span> highp_ddualquat                 <a class="code" href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keyword">typedef</span> highp_ddualquat                 <a class="code" href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <span class="keyword">typedef</span> mediump_ddualquat               <a class="code" href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="keyword">typedef</span> lowp_ddualquat                  <a class="code" href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#       error &quot;GLM error: Multiple default precision requested for double-precision floating-point types&quot;</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor">#include &quot;dual_quaternion.inl&quot;</span></div>
+<div class="ttc" id="a00224_html_ga49b4d082305cdfcfe0a5c184f684a902"><div class="ttname"><a href="a00224.html#ga49b4d082305cdfcfe0a5c184f684a902">glm::orientation</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; orientation(tvec3&lt; T, P &gt; const &amp;Normal, tvec3&lt; T, P &gt; const &amp;Up)</div><div class="ttdoc">Build a rotation matrix from a normal and a up vector. </div></div>
+<div class="ttc" id="a00189_html_gaa38f671be25a7f3b136a452a8bb42860"><div class="ttname"><a href="a00189.html#gaa38f671be25a7f3b136a452a8bb42860">glm::lowp_fdualquat</a></div><div class="ttdeci">tdualquat&lt; float, lowp &gt; lowp_fdualquat</div><div class="ttdoc">Dual-quaternion of low single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00195">dual_quaternion.hpp:195</a></div></div>
+<div class="ttc" id="a00189_html_ga20eb5758beb73cc6dbc2d9104f03ec20"><div class="ttname"><a href="a00189.html#ga20eb5758beb73cc6dbc2d9104f03ec20">glm::dualquat_cast</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat&lt; T, P &gt; dualquat_cast(tmat3x4&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. </div></div>
+<div class="ttc" id="a00189_html_ga237c2b9b42c9a930e49de5840ae0f930"><div class="ttname"><a href="a00189.html#ga237c2b9b42c9a930e49de5840ae0f930">glm::fdualquat</a></div><div class="ttdeci">highp_fdualquat fdualquat</div><div class="ttdoc">Dual-quaternion of single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00233">dual_quaternion.hpp:233</a></div></div>
+<div class="ttc" id="a00189_html_ga0fb11e48e2d16348ccb06a25213641b4"><div class="ttname"><a href="a00189.html#ga0fb11e48e2d16348ccb06a25213641b4">glm::mediump_ddualquat</a></div><div class="ttdeci">tdualquat&lt; double, mediump &gt; mediump_ddualquat</div><div class="ttdoc">Dual-quaternion of medium double-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00216">dual_quaternion.hpp:216</a></div></div>
+<div class="ttc" id="a00189_html_ga495818aa48c23e9e730f87a3c337d1d5"><div class="ttname"><a href="a00189.html#ga495818aa48c23e9e730f87a3c337d1d5">glm::normalize</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat&lt; T, P &gt; normalize(tdualquat&lt; T, P &gt; const &amp;q)</div><div class="ttdoc">Returns the normalized quaternion. </div></div>
+<div class="ttc" id="a00189_html_ga4a6b594ff7e81150d8143001367a9431"><div class="ttname"><a href="a00189.html#ga4a6b594ff7e81150d8143001367a9431">glm::mediump_fdualquat</a></div><div class="ttdeci">tdualquat&lt; float, mediump &gt; mediump_fdualquat</div><div class="ttdoc">Dual-quaternion of medium single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00200">dual_quaternion.hpp:200</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00189_html_gab4c5103338af3dac7e0fbc86895a3f1a"><div class="ttname"><a href="a00189.html#gab4c5103338af3dac7e0fbc86895a3f1a">glm::lowp_ddualquat</a></div><div class="ttdeci">tdualquat&lt; double, lowp &gt; lowp_ddualquat</div><div class="ttdoc">Dual-quaternion of low double-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00211">dual_quaternion.hpp:211</a></div></div>
+<div class="ttc" id="a00189_html_ga3d71f98d84ba59dfe4e369fde4714cd6"><div class="ttname"><a href="a00189.html#ga3d71f98d84ba59dfe4e369fde4714cd6">glm::ddualquat</a></div><div class="ttdeci">highp_ddualquat ddualquat</div><div class="ttdoc">Dual-quaternion of default double-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00252">dual_quaternion.hpp:252</a></div></div>
+<div class="ttc" id="a00189_html_gae93abee0c979902fbec6a7bee0f6fae1"><div class="ttname"><a href="a00189.html#gae93abee0c979902fbec6a7bee0f6fae1">glm::dualquat</a></div><div class="ttdeci">highp_fdualquat dualquat</div><div class="ttdoc">Dual-quaternion of floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00228">dual_quaternion.hpp:228</a></div></div>
+<div class="ttc" id="a00189_html_ga4c4e55e9c99dc57b299ed590968da564"><div class="ttname"><a href="a00189.html#ga4c4e55e9c99dc57b299ed590968da564">glm::highp_fdualquat</a></div><div class="ttdeci">tdualquat&lt; float, highp &gt; highp_fdualquat</div><div class="ttdoc">Dual-quaternion of high single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00205">dual_quaternion.hpp:205</a></div></div>
+<div class="ttc" id="a00189_html_gaa7aeb54c167712b38f2178a1be2360ad"><div class="ttname"><a href="a00189.html#gaa7aeb54c167712b38f2178a1be2360ad">glm::mediump_dualquat</a></div><div class="ttdeci">tdualquat&lt; float, mediump &gt; mediump_dualquat</div><div class="ttdoc">Dual-quaternion of medium single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00184">dual_quaternion.hpp:184</a></div></div>
+<div class="ttc" id="a00189_html_ga8039b88397ca09275be924a26a806a59"><div class="ttname"><a href="a00189.html#ga8039b88397ca09275be924a26a806a59">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat&lt; T, P &gt; lerp(tdualquat&lt; T, P &gt; const &amp;x, tdualquat&lt; T, P &gt; const &amp;y, T const &amp;a)</div><div class="ttdoc">Returns the linear interpolation of two dual quaternion. </div></div>
+<div class="ttc" id="a00189_html_ga576745d979e3c079a64152490c816954"><div class="ttname"><a href="a00189.html#ga576745d979e3c079a64152490c816954">glm::mat3x4_cast</a></div><div class="ttdeci">GLM_FUNC_DECL tmat3x4&lt; T, P &gt; mat3x4_cast(tdualquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 3 * 4 matrix. </div></div>
+<div class="ttc" id="a00189_html_ga9ef5bf1da52a9d4932335a517086ceaf"><div class="ttname"><a href="a00189.html#ga9ef5bf1da52a9d4932335a517086ceaf">glm::highp_dualquat</a></div><div class="ttdeci">tdualquat&lt; float, highp &gt; highp_dualquat</div><div class="ttdoc">Dual-quaternion of high single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00189">dual_quaternion.hpp:189</a></div></div>
+<div class="ttc" id="a00189_html_ga2d124748183e12db8288eeaca350298e"><div class="ttname"><a href="a00189.html#ga2d124748183e12db8288eeaca350298e">glm::mat2x4_cast</a></div><div class="ttdeci">GLM_FUNC_DECL tmat2x4&lt; T, P &gt; mat2x4_cast(tdualquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Converts a quaternion to a 2 * 4 matrix. </div></div>
+<div class="ttc" id="a00189_html_gade05d29ebd4deea0f883d0e1bb4169aa"><div class="ttname"><a href="a00189.html#gade05d29ebd4deea0f883d0e1bb4169aa">glm::lowp_dualquat</a></div><div class="ttdeci">tdualquat&lt; float, lowp &gt; lowp_dualquat</div><div class="ttdoc">Dual-quaternion of low single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00179">dual_quaternion.hpp:179</a></div></div>
+<div class="ttc" id="a00148_html_ga18d45e3d4c7705e67ccfabd99e521604"><div class="ttname"><a href="a00148.html#ga18d45e3d4c7705e67ccfabd99e521604">glm::length</a></div><div class="ttdeci">GLM_FUNC_DECL T length(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the length of x, i.e., sqrt(x * x). </div></div>
+<div class="ttc" id="a00189_html_ga2149d3cb8af04d9530de0cd16aa1aab2"><div class="ttname"><a href="a00189.html#ga2149d3cb8af04d9530de0cd16aa1aab2">glm::inverse</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat&lt; T, P &gt; inverse(tdualquat&lt; T, P &gt; const &amp;q)</div><div class="ttdoc">Returns the q inverse. </div></div>
+<div class="ttc" id="a00189_html_ga8f67eafa7197d7a668dad5105a463d2a"><div class="ttname"><a href="a00189.html#ga8f67eafa7197d7a668dad5105a463d2a">glm::highp_ddualquat</a></div><div class="ttdeci">tdualquat&lt; double, highp &gt; highp_ddualquat</div><div class="ttdoc">Dual-quaternion of high double-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00019_source.html#l00221">dual_quaternion.hpp:221</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00020.html b/src/third_party/glm/doc/api/a00020.html
new file mode 100644
index 0000000..351c770
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00020.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: epsilon.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">epsilon.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00020_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaca9443f217dc36587624247245522331"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaca9443f217dc36587624247245522331"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00163.html#gaca9443f217dc36587624247245522331">epsilonEqual</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y, T const &amp;epsilon)</td></tr>
+<tr class="separator:gaca9443f217dc36587624247245522331"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00163.html#gaa7f227999ca09e7ca994e8b35aba47bb">epsilonEqual</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
+<tr class="separator:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga14e2888a304654ade8a3996024e2739c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga14e2888a304654ade8a3996024e2739c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::boolType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00163.html#ga14e2888a304654ade8a3996024e2739c">epsilonNotEqual</a> (genType const &amp;x, genType const &amp;y, typename genType::value_type const &amp;epsilon)</td></tr>
+<tr class="separator:ga14e2888a304654ade8a3996024e2739c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00163.html#ga50a92103fb0cbd796908e1bf20c79aaf">epsilonNotEqual</a> (genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</td></tr>
+<tr class="separator:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00163.html">GLM_GTC_epsilon</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd>
+<dd>
+<a class="el" href="a00172.html" title="Defines a templated quaternion type and several quaternion operations. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00020_source.html">epsilon.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00020_source.html b/src/third_party/glm/doc/api/a00020_source.html
new file mode 100644
index 0000000..9444656
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00020_source.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: epsilon.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">epsilon.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00020.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_epsilon extension included&quot;)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00163.html#gaa7f227999ca09e7ca994e8b35aba47bb">epsilonEqual</a>(</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00163.html#gaa7f227999ca09e7ca994e8b35aba47bb">epsilonEqual</a>(</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                genType <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                genType <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                genType <span class="keyword">const</span> &amp; <a class="code" href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::boolType <a class="code" href="a00163.html#ga50a92103fb0cbd796908e1bf20c79aaf">epsilonNotEqual</a>(</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                genType <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                genType <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> &amp; <a class="code" href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00163.html#ga50a92103fb0cbd796908e1bf20c79aaf">epsilonNotEqual</a>(</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                genType <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                genType <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                genType <span class="keyword">const</span> &amp; <a class="code" href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#include &quot;epsilon.inl&quot;</span></div>
+<div class="ttc" id="a00163_html_ga50a92103fb0cbd796908e1bf20c79aaf"><div class="ttname"><a href="a00163.html#ga50a92103fb0cbd796908e1bf20c79aaf">glm::epsilonNotEqual</a></div><div class="ttdeci">GLM_FUNC_DECL bool epsilonNotEqual(genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| >= epsilon. </div></div>
+<div class="ttc" id="a00162_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00162.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00163_html_gaa7f227999ca09e7ca994e8b35aba47bb"><div class="ttname"><a href="a00163.html#gaa7f227999ca09e7ca994e8b35aba47bb">glm::epsilonEqual</a></div><div class="ttdeci">GLM_FUNC_DECL bool epsilonEqual(genType const &amp;x, genType const &amp;y, genType const &amp;epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| < epsilon. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00021.html b/src/third_party/glm/doc/api/a00021.html
new file mode 100644
index 0000000..cc8303b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00021.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: euler_angles.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">euler_angles.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00021_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga82cd3b8a04943f1a0d1a562aff358dc8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga82cd3b8a04943f1a0d1a562aff358dc8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga82cd3b8a04943f1a0d1a562aff358dc8">eulerAngleX</a> (T const &amp;angleX)</td></tr>
+<tr class="separator:ga82cd3b8a04943f1a0d1a562aff358dc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8bf84f92ca976a7f50dbe4b30ceb72dd"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga8bf84f92ca976a7f50dbe4b30ceb72dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga8bf84f92ca976a7f50dbe4b30ceb72dd">eulerAngleXY</a> (T const &amp;angleX, T const &amp;angleY)</td></tr>
+<tr class="separator:ga8bf84f92ca976a7f50dbe4b30ceb72dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaedda1657a1aebe0a904d864b33844e8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gaaedda1657a1aebe0a904d864b33844e8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gaaedda1657a1aebe0a904d864b33844e8">eulerAngleXYZ</a> (T const &amp;t1, T const &amp;t2, T const &amp;t3)</td></tr>
+<tr class="separator:gaaedda1657a1aebe0a904d864b33844e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2d7dc94b9a7519d741aaa208c7a335b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gab2d7dc94b9a7519d741aaa208c7a335b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gab2d7dc94b9a7519d741aaa208c7a335b">eulerAngleXZ</a> (T const &amp;angleX, T const &amp;angleZ)</td></tr>
+<tr class="separator:gab2d7dc94b9a7519d741aaa208c7a335b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb193af1184bdf39c23636d756e1ff33"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gaeb193af1184bdf39c23636d756e1ff33"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gaeb193af1184bdf39c23636d756e1ff33">eulerAngleY</a> (T const &amp;angleY)</td></tr>
+<tr class="separator:gaeb193af1184bdf39c23636d756e1ff33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafdd02f9a37511190962119adef5c1c25"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gafdd02f9a37511190962119adef5c1c25"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gafdd02f9a37511190962119adef5c1c25">eulerAngleYX</a> (T const &amp;angleY, T const &amp;angleX)</td></tr>
+<tr class="separator:gafdd02f9a37511190962119adef5c1c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0242b5ab68651db70c6025815549427f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga0242b5ab68651db70c6025815549427f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga0242b5ab68651db70c6025815549427f">eulerAngleYXZ</a> (T const &amp;yaw, T const &amp;pitch, T const &amp;roll)</td></tr>
+<tr class="separator:ga0242b5ab68651db70c6025815549427f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1033f84f51d61646145352ef0c1bb58c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga1033f84f51d61646145352ef0c1bb58c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga1033f84f51d61646145352ef0c1bb58c">eulerAngleYZ</a> (T const &amp;angleY, T const &amp;angleZ)</td></tr>
+<tr class="separator:ga1033f84f51d61646145352ef0c1bb58c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab59c4fe7f735568255cc19fddd3ddfcd"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gab59c4fe7f735568255cc19fddd3ddfcd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gab59c4fe7f735568255cc19fddd3ddfcd">eulerAngleZ</a> (T const &amp;angleZ)</td></tr>
+<tr class="separator:gab59c4fe7f735568255cc19fddd3ddfcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaef83cf40bd9ae780011b29970f16f622"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gaef83cf40bd9ae780011b29970f16f622"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gaef83cf40bd9ae780011b29970f16f622">eulerAngleZX</a> (T const &amp;angle, T const &amp;angleX)</td></tr>
+<tr class="separator:gaef83cf40bd9ae780011b29970f16f622"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga02f037926568bbd12dfece3b28b20343"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga02f037926568bbd12dfece3b28b20343"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga02f037926568bbd12dfece3b28b20343">eulerAngleZY</a> (T const &amp;angleZ, T const &amp;angleY)</td></tr>
+<tr class="separator:ga02f037926568bbd12dfece3b28b20343"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad5838a4c87ce2b8ee4c4e17bd162fd14"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gad5838a4c87ce2b8ee4c4e17bd162fd14"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gad5838a4c87ce2b8ee4c4e17bd162fd14">extractEulerAngleXYZ</a> (tmat4x4&lt; T, defaultp &gt; const &amp;M, T &amp;t1, T &amp;t2, T &amp;t3)</td></tr>
+<tr class="separator:gad5838a4c87ce2b8ee4c4e17bd162fd14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6f465681cbbc575ad93a53ec918dacf3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga6f465681cbbc575ad93a53ec918dacf3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat2x2&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga6f465681cbbc575ad93a53ec918dacf3">orientate2</a> (T const &amp;angle)</td></tr>
+<tr class="separator:ga6f465681cbbc575ad93a53ec918dacf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab188e2526dea3c003e86e298f618085e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gab188e2526dea3c003e86e298f618085e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat3x3&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gab188e2526dea3c003e86e298f618085e">orientate3</a> (T const &amp;angle)</td></tr>
+<tr class="separator:gab188e2526dea3c003e86e298f618085e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga33f0d790cecd8337ee83f8e3a8109b11"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga33f0d790cecd8337ee83f8e3a8109b11"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat3x3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga33f0d790cecd8337ee83f8e3a8109b11">orientate3</a> (tvec3&lt; T, P &gt; const &amp;angles)</td></tr>
+<tr class="separator:ga33f0d790cecd8337ee83f8e3a8109b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4e25c9468b6f002c76e9a2412bcfa503"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga4e25c9468b6f002c76e9a2412bcfa503"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#ga4e25c9468b6f002c76e9a2412bcfa503">orientate4</a> (tvec3&lt; T, P &gt; const &amp;angles)</td></tr>
+<tr class="separator:ga4e25c9468b6f002c76e9a2412bcfa503"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf9c8d0f1df88c5344165600774489bc5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gaf9c8d0f1df88c5344165600774489bc5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00190.html#gaf9c8d0f1df88c5344165600774489bc5">yawPitchRoll</a> (T const &amp;yaw, T const &amp;pitch, T const &amp;roll)</td></tr>
+<tr class="separator:gaf9c8d0f1df88c5344165600774489bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00190.html">GLM_GTX_euler_angles</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00021_source.html">euler_angles.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00021_source.html b/src/third_party/glm/doc/api/a00021_source.html
new file mode 100644
index 0000000..8436efb
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00021_source.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: euler_angles.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">euler_angles.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00021.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_euler_angles extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga82cd3b8a04943f1a0d1a562aff358dc8">eulerAngleX</a>(</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                T <span class="keyword">const</span> &amp; angleX);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gaeb193af1184bdf39c23636d756e1ff33">eulerAngleY</a>(</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                T <span class="keyword">const</span> &amp; angleY);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gab59c4fe7f735568255cc19fddd3ddfcd">eulerAngleZ</a>(</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                T <span class="keyword">const</span> &amp; angleZ);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga8bf84f92ca976a7f50dbe4b30ceb72dd">eulerAngleXY</a>(</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                T <span class="keyword">const</span> &amp; angleX,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                T <span class="keyword">const</span> &amp; angleY);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gafdd02f9a37511190962119adef5c1c25">eulerAngleYX</a>(</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                T <span class="keyword">const</span> &amp; angleY,</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                T <span class="keyword">const</span> &amp; angleX);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gab2d7dc94b9a7519d741aaa208c7a335b">eulerAngleXZ</a>(</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                T <span class="keyword">const</span> &amp; angleX,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                T <span class="keyword">const</span> &amp; angleZ);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gaef83cf40bd9ae780011b29970f16f622">eulerAngleZX</a>(</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                T <span class="keyword">const</span> &amp; angleX);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga1033f84f51d61646145352ef0c1bb58c">eulerAngleYZ</a>(</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                T <span class="keyword">const</span> &amp; angleY,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                T <span class="keyword">const</span> &amp; angleZ);</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga02f037926568bbd12dfece3b28b20343">eulerAngleZY</a>(</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                T <span class="keyword">const</span> &amp; angleZ,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                T <span class="keyword">const</span> &amp; angleY);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gaaedda1657a1aebe0a904d864b33844e8">eulerAngleXYZ</a>(</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        T <span class="keyword">const</span> &amp; t1,</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        T <span class="keyword">const</span> &amp; t2,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        T <span class="keyword">const</span> &amp; t3);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    </div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga0242b5ab68651db70c6025815549427f">eulerAngleYXZ</a>(</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga724a5df282b70cec0a6cb0d6dcddb6d6">yaw</a>,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga2c08b93a4261c10748fd4d2104346f17">pitch</a>,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga4fd705376c6c1fd667be0055a0ea58ec">roll</a>);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    </div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, defaultp&gt; <a class="code" href="a00190.html#gaf9c8d0f1df88c5344165600774489bc5">yawPitchRoll</a>(</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga724a5df282b70cec0a6cb0d6dcddb6d6">yaw</a>,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga2c08b93a4261c10748fd4d2104346f17">pitch</a>,</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga4fd705376c6c1fd667be0055a0ea58ec">roll</a>);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL tmat2x2&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga6f465681cbbc575ad93a53ec918dacf3">orientate2</a>(T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        GLM_FUNC_DECL tmat3x3&lt;T, defaultp&gt; <a class="code" href="a00190.html#ga33f0d790cecd8337ee83f8e3a8109b11">orientate3</a>(T <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        GLM_FUNC_DECL tmat3x3&lt;T, P&gt; <a class="code" href="a00190.html#ga33f0d790cecd8337ee83f8e3a8109b11">orientate3</a>(tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; angles);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                </div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, P&gt; <a class="code" href="a00190.html#ga4e25c9468b6f002c76e9a2412bcfa503">orientate4</a>(tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; angles);</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    GLM_FUNC_DECL <span class="keywordtype">void</span> <a class="code" href="a00190.html#gad5838a4c87ce2b8ee4c4e17bd162fd14">extractEulerAngleXYZ</a>(tmat4x4&lt;T, defaultp&gt; <span class="keyword">const</span> &amp; M,</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                                            T &amp; t1,</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                                            T &amp; t2,</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;                                            T &amp; t3);</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    </div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor">#include &quot;euler_angles.inl&quot;</span></div>
+<div class="ttc" id="a00172_html_ga4fd705376c6c1fd667be0055a0ea58ec"><div class="ttname"><a href="a00172.html#ga4fd705376c6c1fd667be0055a0ea58ec">glm::roll</a></div><div class="ttdeci">GLM_FUNC_DECL T roll(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns roll value of euler angles expressed in radians. </div></div>
+<div class="ttc" id="a00190_html_ga82cd3b8a04943f1a0d1a562aff358dc8"><div class="ttname"><a href="a00190.html#ga82cd3b8a04943f1a0d1a562aff358dc8">glm::eulerAngleX</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleX(T const &amp;angleX)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. </div></div>
+<div class="ttc" id="a00190_html_gab2d7dc94b9a7519d741aaa208c7a335b"><div class="ttname"><a href="a00190.html#gab2d7dc94b9a7519d741aaa208c7a335b">glm::eulerAngleXZ</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleXZ(T const &amp;angleX, T const &amp;angleZ)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). </div></div>
+<div class="ttc" id="a00190_html_ga1033f84f51d61646145352ef0c1bb58c"><div class="ttname"><a href="a00190.html#ga1033f84f51d61646145352ef0c1bb58c">glm::eulerAngleYZ</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleYZ(T const &amp;angleY, T const &amp;angleZ)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). </div></div>
+<div class="ttc" id="a00172_html_ga2c08b93a4261c10748fd4d2104346f17"><div class="ttname"><a href="a00172.html#ga2c08b93a4261c10748fd4d2104346f17">glm::pitch</a></div><div class="ttdeci">GLM_FUNC_DECL T pitch(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns pitch value of euler angles expressed in radians. </div></div>
+<div class="ttc" id="a00190_html_gaf9c8d0f1df88c5344165600774489bc5"><div class="ttname"><a href="a00190.html#gaf9c8d0f1df88c5344165600774489bc5">glm::yawPitchRoll</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; yawPitchRoll(T const &amp;yaw, T const &amp;pitch, T const &amp;roll)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </div></div>
+<div class="ttc" id="a00190_html_gaaedda1657a1aebe0a904d864b33844e8"><div class="ttname"><a href="a00190.html#gaaedda1657a1aebe0a904d864b33844e8">glm::eulerAngleXYZ</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleXYZ(T const &amp;t1, T const &amp;t2, T const &amp;t3)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00190_html_ga0242b5ab68651db70c6025815549427f"><div class="ttname"><a href="a00190.html#ga0242b5ab68651db70c6025815549427f">glm::eulerAngleYXZ</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleYXZ(T const &amp;yaw, T const &amp;pitch, T const &amp;roll)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </div></div>
+<div class="ttc" id="a00190_html_gaeb193af1184bdf39c23636d756e1ff33"><div class="ttname"><a href="a00190.html#gaeb193af1184bdf39c23636d756e1ff33">glm::eulerAngleY</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleY(T const &amp;angleY)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. </div></div>
+<div class="ttc" id="a00190_html_ga02f037926568bbd12dfece3b28b20343"><div class="ttname"><a href="a00190.html#ga02f037926568bbd12dfece3b28b20343">glm::eulerAngleZY</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleZY(T const &amp;angleZ, T const &amp;angleY)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). </div></div>
+<div class="ttc" id="a00190_html_gaef83cf40bd9ae780011b29970f16f622"><div class="ttname"><a href="a00190.html#gaef83cf40bd9ae780011b29970f16f622">glm::eulerAngleZX</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleZX(T const &amp;angle, T const &amp;angleX)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). </div></div>
+<div class="ttc" id="a00190_html_ga4e25c9468b6f002c76e9a2412bcfa503"><div class="ttname"><a href="a00190.html#ga4e25c9468b6f002c76e9a2412bcfa503">glm::orientate4</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; orientate4(tvec3&lt; T, P &gt; const &amp;angles)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </div></div>
+<div class="ttc" id="a00190_html_gab59c4fe7f735568255cc19fddd3ddfcd"><div class="ttname"><a href="a00190.html#gab59c4fe7f735568255cc19fddd3ddfcd">glm::eulerAngleZ</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleZ(T const &amp;angleZ)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. </div></div>
+<div class="ttc" id="a00172_html_gad4a4448baedb198b2b1e7880d2544dc9"><div class="ttname"><a href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the quaternion rotation angle. </div></div>
+<div class="ttc" id="a00190_html_gafdd02f9a37511190962119adef5c1c25"><div class="ttname"><a href="a00190.html#gafdd02f9a37511190962119adef5c1c25">glm::eulerAngleYX</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleYX(T const &amp;angleY, T const &amp;angleX)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). </div></div>
+<div class="ttc" id="a00190_html_ga33f0d790cecd8337ee83f8e3a8109b11"><div class="ttname"><a href="a00190.html#ga33f0d790cecd8337ee83f8e3a8109b11">glm::orientate3</a></div><div class="ttdeci">GLM_FUNC_DECL tmat3x3&lt; T, P &gt; orientate3(tvec3&lt; T, P &gt; const &amp;angles)</div><div class="ttdoc">Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). </div></div>
+<div class="ttc" id="a00190_html_ga8bf84f92ca976a7f50dbe4b30ceb72dd"><div class="ttname"><a href="a00190.html#ga8bf84f92ca976a7f50dbe4b30ceb72dd">glm::eulerAngleXY</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; eulerAngleXY(T const &amp;angleX, T const &amp;angleY)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). </div></div>
+<div class="ttc" id="a00190_html_gad5838a4c87ce2b8ee4c4e17bd162fd14"><div class="ttname"><a href="a00190.html#gad5838a4c87ce2b8ee4c4e17bd162fd14">glm::extractEulerAngleXYZ</a></div><div class="ttdeci">GLM_FUNC_DECL void extractEulerAngleXYZ(tmat4x4&lt; T, defaultp &gt; const &amp;M, T &amp;t1, T &amp;t2, T &amp;t3)</div><div class="ttdoc">Extracts the (X * Y * Z) Euler angles from the rotation matrix M. </div></div>
+<div class="ttc" id="a00172_html_ga724a5df282b70cec0a6cb0d6dcddb6d6"><div class="ttname"><a href="a00172.html#ga724a5df282b70cec0a6cb0d6dcddb6d6">glm::yaw</a></div><div class="ttdeci">GLM_FUNC_DECL T yaw(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns yaw value of euler angles expressed in radians. </div></div>
+<div class="ttc" id="a00190_html_ga6f465681cbbc575ad93a53ec918dacf3"><div class="ttname"><a href="a00190.html#ga6f465681cbbc575ad93a53ec918dacf3">glm::orientate2</a></div><div class="ttdeci">GLM_FUNC_DECL tmat2x2&lt; T, defaultp &gt; orientate2(T const &amp;angle)</div><div class="ttdoc">Creates a 2D 2 * 2 rotation matrix from an euler angle. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00022.html b/src/third_party/glm/doc/api/a00022.html
new file mode 100644
index 0000000..1a875f0
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00022.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: exponential.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">exponential.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00022_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00022_source.html">exponential.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00022_source.html b/src/third_party/glm/doc/api/a00022_source.html
new file mode 100644
index 0000000..ecad960
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00022_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: exponential.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">exponential.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00022.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00030.html">detail/func_exponential.hpp</a>&quot;</span></div>
+<div class="ttc" id="a00030_html"><div class="ttname"><a href="a00030.html">func_exponential.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00023.html b/src/third_party/glm/doc/api/a00023.html
new file mode 100644
index 0000000..d873328
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00023.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: ext.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ext.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00023_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> (Dependence) </p>
+
+<p>Definition in file <a class="el" href="a00023_source.html">ext.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00023_source.html b/src/third_party/glm/doc/api/a00023_source.html
new file mode 100644
index 0000000..6638219
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00023_source.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: ext.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">ext.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00023.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00040.html">glm.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#       define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: All extensions included (not recommanded)&quot;)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif//GLM_MESSAGES</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00009.html">./gtc/bitfield.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00011.html">./gtc/color_space.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00018.html">./gtc/constants.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00020.html">./gtc/epsilon.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00037.html">./gtc/functions.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00044.html">./gtc/integer.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00061.html">./gtc/matrix_access.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00064.html">./gtc/matrix_integer.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00066.html">./gtc/matrix_inverse.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00070.html">./gtc/matrix_transform.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00073.html">./gtc/noise.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00080.html">./gtc/packing.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00087.html">./gtc/quaternion.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00089.html">./gtc/random.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00092.html">./gtc/reciprocal.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00095.html">./gtc/round.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">//#include &quot;./gtc/type_aligned.hpp&quot;</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00124.html">./gtc/type_precision.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00125.html">./gtc/type_ptr.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00132.html">./gtc/ulp.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00133.html">./gtc/vec1.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if GLM_HAS_ALIGNED_TYPE</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#       include &quot;<a class="code" href="a00108.html">./gtc/type_aligned.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00007.html">./gtx/associated_min_max.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00008.html">./gtx/bit.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00010.html">./gtx/closest_point.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00012.html">./gtx/color_space.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00013.html">./gtx/color_space_YCoCg.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00016.html">./gtx/compatibility.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00017.html">./gtx/component_wise.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00019.html">./gtx/dual_quaternion.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00021.html">./gtx/euler_angles.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00024.html">./gtx/extend.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00025.html">./gtx/extended_min_max.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00026.html">./gtx/fast_exponential.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00027.html">./gtx/fast_square_root.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00028.html">./gtx/fast_trigonometry.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00041.html">./gtx/gradient_paint.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00042.html">./gtx/handed_coordinate_space.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00045.html">./gtx/integer.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00047.html">./gtx/intersect.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00049.html">./gtx/log_base.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00062.html">./gtx/matrix_cross_product.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00065.html">./gtx/matrix_interpolation.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00067.html">./gtx/matrix_major_storage.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00068.html">./gtx/matrix_operation.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00069.html">./gtx/matrix_query.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00072.html">./gtx/mixed_product.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00074.html">./gtx/norm.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00075.html">./gtx/normal.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00076.html">./gtx/normalize_dot.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00077.html">./gtx/number_precision.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00078.html">./gtx/optimum_pow.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00079.html">./gtx/orthonormalize.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00083.html">./gtx/perpendicular.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00084.html">./gtx/polar_coordinates.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00086.html">./gtx/projection.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00088.html">./gtx/quaternion.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00091.html">./gtx/raw_data.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00094.html">./gtx/rotate_vector.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00102.html">./gtx/spline.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00103.html">./gtx/std_based_type.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#if !(GLM_COMPILER &amp; GLM_COMPILER_CUDA)</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#       include &quot;<a class="code" href="a00104.html">./gtx/string_cast.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00105.html">./gtx/transform.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00106.html">./gtx/transform2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00137.html">./gtx/vector_angle.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00138.html">./gtx/vector_query.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00140.html">./gtx/wrap.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor">#if GLM_HAS_TEMPLATE_ALIASES</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#       include &quot;<a class="code" href="a00096.html">./gtx/scalar_multiplication.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#if GLM_HAS_RANGE_FOR</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#       include &quot;<a class="code" href="a00090.html">./gtx/range.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="ttc" id="a00024_html"><div class="ttname"><a href="a00024.html">extend.hpp</a></div><div class="ttdoc">GLM_GTX_extend </div></div>
+<div class="ttc" id="a00124_html"><div class="ttname"><a href="a00124.html">type_precision.hpp</a></div><div class="ttdoc">GLM_GTC_type_precision </div></div>
+<div class="ttc" id="a00010_html"><div class="ttname"><a href="a00010.html">closest_point.hpp</a></div><div class="ttdoc">GLM_GTX_closest_point </div></div>
+<div class="ttc" id="a00068_html"><div class="ttname"><a href="a00068.html">matrix_operation.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_operation </div></div>
+<div class="ttc" id="a00091_html"><div class="ttname"><a href="a00091.html">raw_data.hpp</a></div><div class="ttdoc">GLM_GTX_raw_data </div></div>
+<div class="ttc" id="a00027_html"><div class="ttname"><a href="a00027.html">fast_square_root.hpp</a></div><div class="ttdoc">GLM_GTX_fast_square_root </div></div>
+<div class="ttc" id="a00044_html"><div class="ttname"><a href="a00044.html">integer.hpp</a></div><div class="ttdoc">GLM_GTC_integer </div></div>
+<div class="ttc" id="a00042_html"><div class="ttname"><a href="a00042.html">handed_coordinate_space.hpp</a></div><div class="ttdoc">GLM_GTX_handed_coordinate_space </div></div>
+<div class="ttc" id="a00103_html"><div class="ttname"><a href="a00103.html">std_based_type.hpp</a></div><div class="ttdoc">GLM_GTX_std_based_type </div></div>
+<div class="ttc" id="a00088_html"><div class="ttname"><a href="a00088.html">quaternion.hpp</a></div><div class="ttdoc">GLM_GTX_quaternion </div></div>
+<div class="ttc" id="a00076_html"><div class="ttname"><a href="a00076.html">normalize_dot.hpp</a></div><div class="ttdoc">GLM_GTX_normalize_dot </div></div>
+<div class="ttc" id="a00047_html"><div class="ttname"><a href="a00047.html">intersect.hpp</a></div><div class="ttdoc">GLM_GTX_intersect </div></div>
+<div class="ttc" id="a00064_html"><div class="ttname"><a href="a00064.html">matrix_integer.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_integer </div></div>
+<div class="ttc" id="a00062_html"><div class="ttname"><a href="a00062.html">matrix_cross_product.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_cross_product </div></div>
+<div class="ttc" id="a00021_html"><div class="ttname"><a href="a00021.html">euler_angles.hpp</a></div><div class="ttdoc">GLM_GTX_euler_angles </div></div>
+<div class="ttc" id="a00079_html"><div class="ttname"><a href="a00079.html">orthonormalize.hpp</a></div><div class="ttdoc">GLM_GTX_orthonormalize </div></div>
+<div class="ttc" id="a00096_html"><div class="ttname"><a href="a00096.html">scalar_multiplication.hpp</a></div><div class="ttdoc">GTX Extensions (Experimental) </div></div>
+<div class="ttc" id="a00067_html"><div class="ttname"><a href="a00067.html">matrix_major_storage.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_major_storage </div></div>
+<div class="ttc" id="a00084_html"><div class="ttname"><a href="a00084.html">polar_coordinates.hpp</a></div><div class="ttdoc">GLM_GTX_polar_coordinates </div></div>
+<div class="ttc" id="a00018_html"><div class="ttname"><a href="a00018.html">constants.hpp</a></div><div class="ttdoc">GLM_GTC_constants </div></div>
+<div class="ttc" id="a00070_html"><div class="ttname"><a href="a00070.html">matrix_transform.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_transform </div></div>
+<div class="ttc" id="a00041_html"><div class="ttname"><a href="a00041.html">gradient_paint.hpp</a></div><div class="ttdoc">GLM_GTX_gradient_paint </div></div>
+<div class="ttc" id="a00106_html"><div class="ttname"><a href="a00106.html">transform2.hpp</a></div><div class="ttdoc">GLM_GTX_transform2 </div></div>
+<div class="ttc" id="a00087_html"><div class="ttname"><a href="a00087.html">quaternion.hpp</a></div><div class="ttdoc">GLM_GTC_quaternion </div></div>
+<div class="ttc" id="a00075_html"><div class="ttname"><a href="a00075.html">normal.hpp</a></div><div class="ttdoc">GLM_GTX_normal </div></div>
+<div class="ttc" id="a00009_html"><div class="ttname"><a href="a00009.html">bitfield.hpp</a></div><div class="ttdoc">GLM_GTC_bitfield </div></div>
+<div class="ttc" id="a00138_html"><div class="ttname"><a href="a00138.html">vector_query.hpp</a></div><div class="ttdoc">GLM_GTX_vector_query </div></div>
+<div class="ttc" id="a00090_html"><div class="ttname"><a href="a00090.html">range.hpp</a></div><div class="ttdoc">GLM_GTX_range </div></div>
+<div class="ttc" id="a00061_html"><div class="ttname"><a href="a00061.html">matrix_access.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_access </div></div>
+<div class="ttc" id="a00026_html"><div class="ttname"><a href="a00026.html">fast_exponential.hpp</a></div><div class="ttdoc">GLM_GTX_fast_exponential </div></div>
+<div class="ttc" id="a00012_html"><div class="ttname"><a href="a00012.html">color_space.hpp</a></div><div class="ttdoc">GLM_GTX_color_space </div></div>
+<div class="ttc" id="a00095_html"><div class="ttname"><a href="a00095.html">round.hpp</a></div><div class="ttdoc">GLM_GTC_round </div></div>
+<div class="ttc" id="a00083_html"><div class="ttname"><a href="a00083.html">perpendicular.hpp</a></div><div class="ttdoc">GLM_GTX_perpendicular </div></div>
+<div class="ttc" id="a00017_html"><div class="ttname"><a href="a00017.html">component_wise.hpp</a></div><div class="ttdoc">GLM_GTX_component_wise </div></div>
+<div class="ttc" id="a00105_html"><div class="ttname"><a href="a00105.html">transform.hpp</a></div><div class="ttdoc">GLM_GTX_transform </div></div>
+<div class="ttc" id="a00132_html"><div class="ttname"><a href="a00132.html">ulp.hpp</a></div><div class="ttdoc">GLM_GTC_ulp </div></div>
+<div class="ttc" id="a00020_html"><div class="ttname"><a href="a00020.html">epsilon.hpp</a></div><div class="ttdoc">GLM_GTC_epsilon </div></div>
+<div class="ttc" id="a00078_html"><div class="ttname"><a href="a00078.html">optimum_pow.hpp</a></div><div class="ttdoc">GLM_GTX_optimum_pow </div></div>
+<div class="ttc" id="a00049_html"><div class="ttname"><a href="a00049.html">log_base.hpp</a></div><div class="ttdoc">GLM_GTX_log_base </div></div>
+<div class="ttc" id="a00066_html"><div class="ttname"><a href="a00066.html">matrix_inverse.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_inverse </div></div>
+<div class="ttc" id="a00037_html"><div class="ttname"><a href="a00037.html">functions.hpp</a></div><div class="ttdoc">GLM_GTC_functions </div></div>
+<div class="ttc" id="a00137_html"><div class="ttname"><a href="a00137.html">vector_angle.hpp</a></div><div class="ttdoc">GLM_GTX_vector_angle </div></div>
+<div class="ttc" id="a00025_html"><div class="ttname"><a href="a00025.html">extended_min_max.hpp</a></div><div class="ttdoc">gtx_extended_min_max </div></div>
+<div class="ttc" id="a00125_html"><div class="ttname"><a href="a00125.html">type_ptr.hpp</a></div><div class="ttdoc">GLM_GTC_type_ptr </div></div>
+<div class="ttc" id="a00013_html"><div class="ttname"><a href="a00013.html">color_space_YCoCg.hpp</a></div><div class="ttdoc">GLM_GTX_color_space_YCoCg </div></div>
+<div class="ttc" id="a00040_html"><div class="ttname"><a href="a00040.html">glm.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00011_html"><div class="ttname"><a href="a00011.html">color_space.hpp</a></div><div class="ttdoc">GLM_GTC_color_space </div></div>
+<div class="ttc" id="a00140_html"><div class="ttname"><a href="a00140.html">wrap.hpp</a></div><div class="ttdoc">GLM_GTX_wrap </div></div>
+<div class="ttc" id="a00069_html"><div class="ttname"><a href="a00069.html">matrix_query.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_query </div></div>
+<div class="ttc" id="a00086_html"><div class="ttname"><a href="a00086.html">projection.hpp</a></div><div class="ttdoc">GLM_GTX_projection </div></div>
+<div class="ttc" id="a00074_html"><div class="ttname"><a href="a00074.html">norm.hpp</a></div><div class="ttdoc">GLM_GTX_norm </div></div>
+<div class="ttc" id="a00045_html"><div class="ttname"><a href="a00045.html">integer.hpp</a></div><div class="ttdoc">GLM_GTX_integer </div></div>
+<div class="ttc" id="a00072_html"><div class="ttname"><a href="a00072.html">mixed_product.hpp</a></div><div class="ttdoc">GLM_GTX_mixed_producte </div></div>
+<div class="ttc" id="a00008_html"><div class="ttname"><a href="a00008.html">bit.hpp</a></div><div class="ttdoc">GLM_GTX_bit </div></div>
+<div class="ttc" id="a00133_html"><div class="ttname"><a href="a00133.html">vec1.hpp</a></div><div class="ttdoc">GLM_GTC_vec1 </div></div>
+<div class="ttc" id="a00108_html"><div class="ttname"><a href="a00108.html">type_aligned.hpp</a></div><div class="ttdoc">GLM_GTC_type_aligned </div></div>
+<div class="ttc" id="a00089_html"><div class="ttname"><a href="a00089.html">random.hpp</a></div><div class="ttdoc">GLM_GTC_random </div></div>
+<div class="ttc" id="a00077_html"><div class="ttname"><a href="a00077.html">number_precision.hpp</a></div><div class="ttdoc">GLM_GTX_number_precision </div></div>
+<div class="ttc" id="a00094_html"><div class="ttname"><a href="a00094.html">rotate_vector.hpp</a></div><div class="ttdoc">GLM_GTX_rotate_vector </div></div>
+<div class="ttc" id="a00065_html"><div class="ttname"><a href="a00065.html">matrix_interpolation.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_interpolation </div></div>
+<div class="ttc" id="a00092_html"><div class="ttname"><a href="a00092.html">reciprocal.hpp</a></div><div class="ttdoc">GLM_GTC_reciprocal </div></div>
+<div class="ttc" id="a00028_html"><div class="ttname"><a href="a00028.html">fast_trigonometry.hpp</a></div><div class="ttdoc">GLM_GTX_fast_trigonometry </div></div>
+<div class="ttc" id="a00080_html"><div class="ttname"><a href="a00080.html">packing.hpp</a></div><div class="ttdoc">GLM_GTC_packing </div></div>
+<div class="ttc" id="a00016_html"><div class="ttname"><a href="a00016.html">compatibility.hpp</a></div><div class="ttdoc">GLM_GTX_compatibility </div></div>
+<div class="ttc" id="a00104_html"><div class="ttname"><a href="a00104.html">string_cast.hpp</a></div><div class="ttdoc">GLM_GTX_string_cast </div></div>
+<div class="ttc" id="a00102_html"><div class="ttname"><a href="a00102.html">spline.hpp</a></div><div class="ttdoc">GLM_GTX_spline </div></div>
+<div class="ttc" id="a00073_html"><div class="ttname"><a href="a00073.html">noise.hpp</a></div><div class="ttdoc">GLM_GTC_noise </div></div>
+<div class="ttc" id="a00019_html"><div class="ttname"><a href="a00019.html">dual_quaternion.hpp</a></div><div class="ttdoc">GLM_GTX_dual_quaternion </div></div>
+<div class="ttc" id="a00007_html"><div class="ttname"><a href="a00007.html">associated_min_max.hpp</a></div><div class="ttdoc">GLM_GTX_associated_min_max </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00024.html b/src/third_party/glm/doc/api/a00024.html
new file mode 100644
index 0000000..a06b629
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00024.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: extend.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">extend.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00024_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga8140caae613b0f847ab0d7175dc03a37"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga8140caae613b0f847ab0d7175dc03a37"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00191.html#ga8140caae613b0f847ab0d7175dc03a37">extend</a> (genType const &amp;Origin, genType const &amp;Source, typename genType::value_type const Length)</td></tr>
+<tr class="separator:ga8140caae613b0f847ab0d7175dc03a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00191.html">GLM_GTX_extend</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00024_source.html">extend.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00024_source.html b/src/third_party/glm/doc/api/a00024_source.html
new file mode 100644
index 0000000..e82d146
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00024_source.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: extend.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">extend.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00024.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_extend extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00191.html#ga8140caae613b0f847ab0d7175dc03a37">extend</a>(</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                genType <span class="keyword">const</span> &amp; Origin, </div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                genType <span class="keyword">const</span> &amp; Source, </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> Length);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &quot;extend.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00191_html_ga8140caae613b0f847ab0d7175dc03a37"><div class="ttname"><a href="a00191.html#ga8140caae613b0f847ab0d7175dc03a37">glm::extend</a></div><div class="ttdeci">GLM_FUNC_DECL genType extend(genType const &amp;Origin, genType const &amp;Source, typename genType::value_type const Length)</div><div class="ttdoc">Extends of Length the Origin position using the (Source - Origin) direction. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00025.html b/src/third_party/glm/doc/api/a00025.html
new file mode 100644
index 0000000..e99d60e
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00025.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: extended_min_max.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">extended_min_max.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00025_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga04991ccb9865c4c4e58488cfb209ce69"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga04991ccb9865c4c4e58488cfb209ce69"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga04991ccb9865c4c4e58488cfb209ce69">max</a> (T const &amp;x, T const &amp;y, T const &amp;z)</td></tr>
+<tr class="separator:ga04991ccb9865c4c4e58488cfb209ce69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae1b7bbe5c91de4924835ea3e14530744"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:gae1b7bbe5c91de4924835ea3e14530744"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#gae1b7bbe5c91de4924835ea3e14530744">max</a> (C&lt; T &gt; const &amp;x, typename C&lt; T &gt;::T const &amp;y, typename C&lt; T &gt;::T const &amp;z)</td></tr>
+<tr class="separator:gae1b7bbe5c91de4924835ea3e14530744"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#gaf832e9d4ab4826b2dda2fda25935a3a4">max</a> (C&lt; T &gt; const &amp;x, C&lt; T &gt; const &amp;y, C&lt; T &gt; const &amp;z)</td></tr>
+<tr class="separator:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga78e04a0cef1c4863fcae1a2130500d87"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga78e04a0cef1c4863fcae1a2130500d87"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga78e04a0cef1c4863fcae1a2130500d87">max</a> (T const &amp;x, T const &amp;y, T const &amp;z, T const &amp;w)</td></tr>
+<tr class="separator:ga78e04a0cef1c4863fcae1a2130500d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga7cca8b53cfda402040494cdf40fbdf4a">max</a> (C&lt; T &gt; const &amp;x, typename C&lt; T &gt;::T const &amp;y, typename C&lt; T &gt;::T const &amp;z, typename C&lt; T &gt;::T const &amp;w)</td></tr>
+<tr class="separator:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaacffbc466c2d08c140b181e7fd8a4858"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:gaacffbc466c2d08c140b181e7fd8a4858"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a> (C&lt; T &gt; const &amp;x, C&lt; T &gt; const &amp;y, C&lt; T &gt; const &amp;z, C&lt; T &gt; const &amp;w)</td></tr>
+<tr class="separator:gaacffbc466c2d08c140b181e7fd8a4858"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga713d3f9b3e76312c0d314e0c8611a6a6">min</a> (T const &amp;x, T const &amp;y, T const &amp;z)</td></tr>
+<tr class="separator:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga74d1a96e7cdbac40f6d35142d3bcbbd4">min</a> (C&lt; T &gt; const &amp;x, typename C&lt; T &gt;::T const &amp;y, typename C&lt; T &gt;::T const &amp;z)</td></tr>
+<tr class="separator:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga42b5c3fc027fd3d9a50d2ccc9126d9f0">min</a> (C&lt; T &gt; const &amp;x, C&lt; T &gt; const &amp;y, C&lt; T &gt; const &amp;z)</td></tr>
+<tr class="separator:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga95466987024d03039607f09e69813d69"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga95466987024d03039607f09e69813d69"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga95466987024d03039607f09e69813d69">min</a> (T const &amp;x, T const &amp;y, T const &amp;z, T const &amp;w)</td></tr>
+<tr class="separator:ga95466987024d03039607f09e69813d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga4fe35dd31dd0c45693c9b60b830b8d47">min</a> (C&lt; T &gt; const &amp;x, typename C&lt; T &gt;::T const &amp;y, typename C&lt; T &gt;::T const &amp;z, typename C&lt; T &gt;::T const &amp;w)</td></tr>
+<tr class="separator:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class C&gt; </td></tr>
+<tr class="memitem:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a> (C&lt; T &gt; const &amp;x, C&lt; T &gt; const &amp;y, C&lt; T &gt; const &amp;z, C&lt; T &gt; const &amp;w)</td></tr>
+<tr class="separator:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>gtx_extended_min_max </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtx_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00025_source.html">extended_min_max.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00025_source.html b/src/third_party/glm/doc/api/a00025_source.html
new file mode 100644
index 0000000..ff10605
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00025_source.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: extended_min_max.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">extended_min_max.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00025.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_extented_min_max extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                T <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                T <span class="keyword">const</span> &amp; z);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; z);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; z);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                T <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                T <span class="keyword">const</span> &amp; z, </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                T <span class="keyword">const</span> &amp; w);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; z, </div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; w);</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; z,</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; w);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                T <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                T <span class="keyword">const</span> &amp; z);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; z);</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; z);</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                T <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                T <span class="keyword">const</span> &amp; z, </div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                T <span class="keyword">const</span> &amp; w);</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; z, </div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                <span class="keyword">typename</span> C&lt;T&gt;::T <span class="keyword">const</span> &amp; w);</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>&gt; <span class="keyword">class </span>C&gt;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        GLM_FUNC_DECL C&lt;T&gt; <a class="code" href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; x, </div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; y, </div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; z, </div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                C&lt;T&gt; <span class="keyword">const</span> &amp; w);</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#include &quot;extended_min_max.inl&quot;</span></div>
+<div class="ttc" id="a00192_html_ga7471ea4159eed8dd9ea4ac5d46c2fead"><div class="ttname"><a href="a00192.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL C&lt; T &gt; min(C&lt; T &gt; const &amp;x, C&lt; T &gt; const &amp;y, C&lt; T &gt; const &amp;z, C&lt; T &gt; const &amp;w)</div><div class="ttdoc">Return the minimum component-wise values of 4 inputs. </div></div>
+<div class="ttc" id="a00192_html_gaacffbc466c2d08c140b181e7fd8a4858"><div class="ttname"><a href="a00192.html#gaacffbc466c2d08c140b181e7fd8a4858">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL C&lt; T &gt; max(C&lt; T &gt; const &amp;x, C&lt; T &gt; const &amp;y, C&lt; T &gt; const &amp;z, C&lt; T &gt; const &amp;w)</div><div class="ttdoc">Return the maximum component-wise values of 4 inputs. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00026.html b/src/third_party/glm/doc/api/a00026.html
new file mode 100644
index 0000000..fe6542d
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00026.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fast_exponential.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">fast_exponential.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00026_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gaa3180ac8f96ab37ab96e0cacaf608e10">fastExp</a> (T x)</td></tr>
+<tr class="separator:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga4faf0b61115de36efcf47c4ecb55a5fa">fastExp</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga4faf0b61115de36efcf47c4ecb55a5fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0af50585955eb14c60bb286297fabab2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga0af50585955eb14c60bb286297fabab2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga0af50585955eb14c60bb286297fabab2">fastExp2</a> (T x)</td></tr>
+<tr class="separator:ga0af50585955eb14c60bb286297fabab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9e6219327b7a33077dbec7620d981fff"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga9e6219327b7a33077dbec7620d981fff"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga9e6219327b7a33077dbec7620d981fff">fastExp2</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga9e6219327b7a33077dbec7620d981fff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gae1bdc97b7f96a600e29c753f1cd4388a">fastLog</a> (T x)</td></tr>
+<tr class="separator:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga789abcbc34d08008d2f5a4547dd6e5e3">fastLog</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga789abcbc34d08008d2f5a4547dd6e5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga6e98118685f6dc9e05fbb13dd5e5234e">fastLog2</a> (T x)</td></tr>
+<tr class="separator:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#gabc46086fe6636b8be87f09e6c5d2bb58">fastLog2</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gabc46086fe6636b8be87f09e6c5d2bb58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga5340e98a11fcbbd936ba6e983a154d50">fastPow</a> (genType x, genType y)</td></tr>
+<tr class="separator:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga07b73976a9af4005945bc338b45d8466"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga07b73976a9af4005945bc338b45d8466"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga07b73976a9af4005945bc338b45d8466">fastPow</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga07b73976a9af4005945bc338b45d8466"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memTemplParams" colspan="2">template&lt;typename genTypeT , typename genTypeU &gt; </td></tr>
+<tr class="memitem:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genTypeT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga7f2562db9c3e02ae76169c36b086c3f6">fastPow</a> (genTypeT x, genTypeU y)</td></tr>
+<tr class="separator:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga29924aea1aa11c5c504fb2d621221906"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga29924aea1aa11c5c504fb2d621221906"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">fastPow</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga29924aea1aa11c5c504fb2d621221906"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00193.html">GLM_GTX_fast_exponential</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtx_half_float (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00026_source.html">fast_exponential.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00026_source.html b/src/third_party/glm/doc/api/a00026_source.html
new file mode 100644
index 0000000..67bf8b8
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00026_source.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fast_exponential.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">fast_exponential.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00026.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_fast_exponential extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">fastPow</a>(genType x, genType y);</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">fastPow</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        GLM_FUNC_DECL genTypeT <a class="code" href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">fastPow</a>(genTypeT x, genTypeU y);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">fastPow</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00193.html#ga4faf0b61115de36efcf47c4ecb55a5fa">fastExp</a>(T x);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00193.html#ga4faf0b61115de36efcf47c4ecb55a5fa">fastExp</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00193.html#ga789abcbc34d08008d2f5a4547dd6e5e3">fastLog</a>(T x);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00193.html#ga789abcbc34d08008d2f5a4547dd6e5e3">fastLog</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00193.html#ga9e6219327b7a33077dbec7620d981fff">fastExp2</a>(T x);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00193.html#ga9e6219327b7a33077dbec7620d981fff">fastExp2</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00193.html#gabc46086fe6636b8be87f09e6c5d2bb58">fastLog2</a>(T x);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00193.html#gabc46086fe6636b8be87f09e6c5d2bb58">fastLog2</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#include &quot;fast_exponential.inl&quot;</span></div>
+<div class="ttc" id="a00193_html_ga789abcbc34d08008d2f5a4547dd6e5e3"><div class="ttname"><a href="a00193.html#ga789abcbc34d08008d2f5a4547dd6e5e3">glm::fastLog</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastLog(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common exp2 function but less accurate. </div></div>
+<div class="ttc" id="a00193_html_ga29924aea1aa11c5c504fb2d621221906"><div class="ttname"><a href="a00193.html#ga29924aea1aa11c5c504fb2d621221906">glm::fastPow</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastPow(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common pow function but less accurate. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00193_html_ga4faf0b61115de36efcf47c4ecb55a5fa"><div class="ttname"><a href="a00193.html#ga4faf0b61115de36efcf47c4ecb55a5fa">glm::fastExp</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastExp(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common exp function but less accurate. </div></div>
+<div class="ttc" id="a00193_html_ga9e6219327b7a33077dbec7620d981fff"><div class="ttname"><a href="a00193.html#ga9e6219327b7a33077dbec7620d981fff">glm::fastExp2</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastExp2(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common exp2 function but less accurate. </div></div>
+<div class="ttc" id="a00193_html_gabc46086fe6636b8be87f09e6c5d2bb58"><div class="ttname"><a href="a00193.html#gabc46086fe6636b8be87f09e6c5d2bb58">glm::fastLog2</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastLog2(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common log2 function but less accurate. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00027.html b/src/third_party/glm/doc/api/a00027.html
new file mode 100644
index 0000000..7efc7ac
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00027.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fast_square_root.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">fast_square_root.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00027_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaac333418d0c4e0cc6d3d219ed606c238"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaac333418d0c4e0cc6d3d219ed606c238"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#gaac333418d0c4e0cc6d3d219ed606c238">fastDistance</a> (genType x, genType y)</td></tr>
+<tr class="separator:gaac333418d0c4e0cc6d3d219ed606c238"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6d1ac559cd77d69119e30c3aca0e14b5"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga6d1ac559cd77d69119e30c3aca0e14b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#ga6d1ac559cd77d69119e30c3aca0e14b5">fastDistance</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga6d1ac559cd77d69119e30c3aca0e14b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f081b14d9c7035c8714eba5f7f75a8f"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga7f081b14d9c7035c8714eba5f7f75a8f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#ga7f081b14d9c7035c8714eba5f7f75a8f">fastInverseSqrt</a> (genType x)</td></tr>
+<tr class="separator:ga7f081b14d9c7035c8714eba5f7f75a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga903878071f92e51e551791e584a171a1"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga903878071f92e51e551791e584a171a1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#ga903878071f92e51e551791e584a171a1">fastInverseSqrt</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga903878071f92e51e551791e584a171a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafe697d6287719538346bbdf8b1367c59"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gafe697d6287719538346bbdf8b1367c59"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#gafe697d6287719538346bbdf8b1367c59">fastLength</a> (genType x)</td></tr>
+<tr class="separator:gafe697d6287719538346bbdf8b1367c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae28a3099cbd6404a4ea8ef22147ed7b0"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gae28a3099cbd6404a4ea8ef22147ed7b0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#gae28a3099cbd6404a4ea8ef22147ed7b0">fastLength</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gae28a3099cbd6404a4ea8ef22147ed7b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3b02c1d6e0c754144e2f1e110bf9f16c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga3b02c1d6e0c754144e2f1e110bf9f16c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#ga3b02c1d6e0c754144e2f1e110bf9f16c">fastNormalize</a> (genType const &amp;x)</td></tr>
+<tr class="separator:ga3b02c1d6e0c754144e2f1e110bf9f16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6c460e9414a50b2fc455c8f64c86cdc9"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga6c460e9414a50b2fc455c8f64c86cdc9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#ga6c460e9414a50b2fc455c8f64c86cdc9">fastSqrt</a> (genType x)</td></tr>
+<tr class="separator:ga6c460e9414a50b2fc455c8f64c86cdc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaad9f601bbc3faa04dda384e4c4e1592c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaad9f601bbc3faa04dda384e4c4e1592c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00194.html#gaad9f601bbc3faa04dda384e4c4e1592c">fastSqrt</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gaad9f601bbc3faa04dda384e4c4e1592c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00194.html">GLM_GTX_fast_square_root</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00027_source.html">fast_square_root.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00027_source.html b/src/third_party/glm/doc/api/a00027_source.html
new file mode 100644
index 0000000..4b314ef
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00027_source.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fast_square_root.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">fast_square_root.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00027.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../common.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../exponential.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../geometric.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_fast_square_root extension included&quot;)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00194.html#gaad9f601bbc3faa04dda384e4c4e1592c">fastSqrt</a>(genType x);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00194.html#gaad9f601bbc3faa04dda384e4c4e1592c">fastSqrt</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00194.html#ga903878071f92e51e551791e584a171a1">fastInverseSqrt</a>(genType x);</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00194.html#ga903878071f92e51e551791e584a171a1">fastInverseSqrt</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00194.html#gae28a3099cbd6404a4ea8ef22147ed7b0">fastLength</a>(genType x);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00194.html#gae28a3099cbd6404a4ea8ef22147ed7b0">fastLength</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00194.html#ga6d1ac559cd77d69119e30c3aca0e14b5">fastDistance</a>(genType x, genType y);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00194.html#ga6d1ac559cd77d69119e30c3aca0e14b5">fastDistance</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00194.html#ga3b02c1d6e0c754144e2f1e110bf9f16c">fastNormalize</a>(genType <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;}<span class="comment">// namespace glm</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#include &quot;fast_square_root.inl&quot;</span></div>
+<div class="ttc" id="a00194_html_ga6d1ac559cd77d69119e30c3aca0e14b5"><div class="ttname"><a href="a00194.html#ga6d1ac559cd77d69119e30c3aca0e14b5">glm::fastDistance</a></div><div class="ttdeci">GLM_FUNC_DECL T fastDistance(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Faster than the common distance function but less accurate. </div></div>
+<div class="ttc" id="a00194_html_ga3b02c1d6e0c754144e2f1e110bf9f16c"><div class="ttname"><a href="a00194.html#ga3b02c1d6e0c754144e2f1e110bf9f16c">glm::fastNormalize</a></div><div class="ttdeci">GLM_FUNC_DECL genType fastNormalize(genType const &amp;x)</div><div class="ttdoc">Faster than the common normalize function but less accurate. </div></div>
+<div class="ttc" id="a00194_html_ga903878071f92e51e551791e584a171a1"><div class="ttname"><a href="a00194.html#ga903878071f92e51e551791e584a171a1">glm::fastInverseSqrt</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastInverseSqrt(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common inversesqrt function but less accurate. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00194_html_gaad9f601bbc3faa04dda384e4c4e1592c"><div class="ttname"><a href="a00194.html#gaad9f601bbc3faa04dda384e4c4e1592c">glm::fastSqrt</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; fastSqrt(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common sqrt function but less accurate. </div></div>
+<div class="ttc" id="a00194_html_gae28a3099cbd6404a4ea8ef22147ed7b0"><div class="ttname"><a href="a00194.html#gae28a3099cbd6404a4ea8ef22147ed7b0">glm::fastLength</a></div><div class="ttdeci">GLM_FUNC_DECL T fastLength(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Faster than the common length function but less accurate. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00028.html b/src/third_party/glm/doc/api/a00028.html
new file mode 100644
index 0000000..11c45da
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00028.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fast_trigonometry.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">fast_trigonometry.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00028_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga9721d63356e5d94fdc4b393a426ab26b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga9721d63356e5d94fdc4b393a426ab26b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#ga9721d63356e5d94fdc4b393a426ab26b">fastAcos</a> (T angle)</td></tr>
+<tr class="separator:ga9721d63356e5d94fdc4b393a426ab26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga562cb62c51fbfe7fac7db0bce706b81f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga562cb62c51fbfe7fac7db0bce706b81f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#ga562cb62c51fbfe7fac7db0bce706b81f">fastAsin</a> (T angle)</td></tr>
+<tr class="separator:ga562cb62c51fbfe7fac7db0bce706b81f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8d197c6ef564f5e5d59af3b3f8adcc2c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga8d197c6ef564f5e5d59af3b3f8adcc2c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#ga8d197c6ef564f5e5d59af3b3f8adcc2c">fastAtan</a> (T y, T x)</td></tr>
+<tr class="separator:ga8d197c6ef564f5e5d59af3b3f8adcc2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae25de86a968490ff56856fa425ec9d30"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gae25de86a968490ff56856fa425ec9d30"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#gae25de86a968490ff56856fa425ec9d30">fastAtan</a> (T angle)</td></tr>
+<tr class="separator:gae25de86a968490ff56856fa425ec9d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab34c8b45c23c0165a64dcecfcc3b302a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gab34c8b45c23c0165a64dcecfcc3b302a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#gab34c8b45c23c0165a64dcecfcc3b302a">fastCos</a> (T angle)</td></tr>
+<tr class="separator:gab34c8b45c23c0165a64dcecfcc3b302a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0aab3257bb3b628d10a1e0483e2c6915"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga0aab3257bb3b628d10a1e0483e2c6915"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#ga0aab3257bb3b628d10a1e0483e2c6915">fastSin</a> (T angle)</td></tr>
+<tr class="separator:ga0aab3257bb3b628d10a1e0483e2c6915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf29b9c1101a10007b4f79ee89df27ba2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:gaf29b9c1101a10007b4f79ee89df27ba2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#gaf29b9c1101a10007b4f79ee89df27ba2">fastTan</a> (T angle)</td></tr>
+<tr class="separator:gaf29b9c1101a10007b4f79ee89df27ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga069527c6dbd64f53435b8ebc4878b473"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga069527c6dbd64f53435b8ebc4878b473"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00195.html#ga069527c6dbd64f53435b8ebc4878b473">wrapAngle</a> (T angle)</td></tr>
+<tr class="separator:ga069527c6dbd64f53435b8ebc4878b473"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00195.html">GLM_GTX_fast_trigonometry</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00028_source.html">fast_trigonometry.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00028_source.html b/src/third_party/glm/doc/api/a00028_source.html
new file mode 100644
index 0000000..8e2af01
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00028_source.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fast_trigonometry.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">fast_trigonometry.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00028.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../gtc/constants.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_fast_trigonometry extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#ga069527c6dbd64f53435b8ebc4878b473">wrapAngle</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#ga0aab3257bb3b628d10a1e0483e2c6915">fastSin</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#gab34c8b45c23c0165a64dcecfcc3b302a">fastCos</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#gaf29b9c1101a10007b4f79ee89df27ba2">fastTan</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#ga562cb62c51fbfe7fac7db0bce706b81f">fastAsin</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#ga9721d63356e5d94fdc4b393a426ab26b">fastAcos</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#gae25de86a968490ff56856fa425ec9d30">fastAtan</a>(T y, T x);</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; </div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00195.html#gae25de86a968490ff56856fa425ec9d30">fastAtan</a>(T <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#include &quot;fast_trigonometry.inl&quot;</span></div>
+<div class="ttc" id="a00195_html_ga9721d63356e5d94fdc4b393a426ab26b"><div class="ttname"><a href="a00195.html#ga9721d63356e5d94fdc4b393a426ab26b">glm::fastAcos</a></div><div class="ttdeci">GLM_FUNC_DECL T fastAcos(T angle)</div><div class="ttdoc">Faster than the common acos function but less accurate. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00195_html_ga0aab3257bb3b628d10a1e0483e2c6915"><div class="ttname"><a href="a00195.html#ga0aab3257bb3b628d10a1e0483e2c6915">glm::fastSin</a></div><div class="ttdeci">GLM_FUNC_DECL T fastSin(T angle)</div><div class="ttdoc">Faster than the common sin function but less accurate. </div></div>
+<div class="ttc" id="a00195_html_ga069527c6dbd64f53435b8ebc4878b473"><div class="ttname"><a href="a00195.html#ga069527c6dbd64f53435b8ebc4878b473">glm::wrapAngle</a></div><div class="ttdeci">GLM_FUNC_DECL T wrapAngle(T angle)</div><div class="ttdoc">Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension. </div></div>
+<div class="ttc" id="a00195_html_ga562cb62c51fbfe7fac7db0bce706b81f"><div class="ttname"><a href="a00195.html#ga562cb62c51fbfe7fac7db0bce706b81f">glm::fastAsin</a></div><div class="ttdeci">GLM_FUNC_DECL T fastAsin(T angle)</div><div class="ttdoc">Faster than the common asin function but less accurate. </div></div>
+<div class="ttc" id="a00172_html_gad4a4448baedb198b2b1e7880d2544dc9"><div class="ttname"><a href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the quaternion rotation angle. </div></div>
+<div class="ttc" id="a00195_html_gaf29b9c1101a10007b4f79ee89df27ba2"><div class="ttname"><a href="a00195.html#gaf29b9c1101a10007b4f79ee89df27ba2">glm::fastTan</a></div><div class="ttdeci">GLM_FUNC_DECL T fastTan(T angle)</div><div class="ttdoc">Faster than the common tan function but less accurate. </div></div>
+<div class="ttc" id="a00195_html_gab34c8b45c23c0165a64dcecfcc3b302a"><div class="ttname"><a href="a00195.html#gab34c8b45c23c0165a64dcecfcc3b302a">glm::fastCos</a></div><div class="ttdeci">GLM_FUNC_DECL T fastCos(T angle)</div><div class="ttdoc">Faster than the common cos function but less accurate. </div></div>
+<div class="ttc" id="a00195_html_gae25de86a968490ff56856fa425ec9d30"><div class="ttname"><a href="a00195.html#gae25de86a968490ff56856fa425ec9d30">glm::fastAtan</a></div><div class="ttdeci">GLM_FUNC_DECL T fastAtan(T angle)</div><div class="ttdoc">Faster than the common atan function but less accurate. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00029.html b/src/third_party/glm/doc/api/a00029.html
new file mode 100644
index 0000000..984be42
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00029.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_common.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_common.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00029_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga693d77696ff36572a0da79efec965acd"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga693d77696ff36572a0da79efec965acd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga693d77696ff36572a0da79efec965acd">abs</a> (genType x)</td></tr>
+<tr class="separator:ga693d77696ff36572a0da79efec965acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9189b2bec45ff301923ea8f8dd157fb8"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga9189b2bec45ff301923ea8f8dd157fb8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga9189b2bec45ff301923ea8f8dd157fb8">ceil</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga9189b2bec45ff301923ea8f8dd157fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a> (genType x, genType minVal, genType maxVal)</td></tr>
+<tr class="separator:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1425c1c3160ec51214b03a0469a3013d"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ga1425c1c3160ec51214b03a0469a3013d">floatBitsToInt</a> (float const &amp;v)</td></tr>
+<tr class="separator:ga1425c1c3160ec51214b03a0469a3013d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac4a0710238ae54c67931dd29a0b0f873"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename, precision &gt; class vecType, precision P&gt; </td></tr>
+<tr class="memitem:gac4a0710238ae54c67931dd29a0b0f873"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; int, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gac4a0710238ae54c67931dd29a0b0f873">floatBitsToInt</a> (vecType&lt; float, P &gt; const &amp;v)</td></tr>
+<tr class="separator:gac4a0710238ae54c67931dd29a0b0f873"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga70e0271c34af52f3100c7960e18c3f2b"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ga70e0271c34af52f3100c7960e18c3f2b">floatBitsToUint</a> (float const &amp;v)</td></tr>
+<tr class="separator:ga70e0271c34af52f3100c7960e18c3f2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1804d4c443605d8a27be644aa461afe4"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename, precision &gt; class vecType, precision P&gt; </td></tr>
+<tr class="memitem:ga1804d4c443605d8a27be644aa461afe4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; uint, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga1804d4c443605d8a27be644aa461afe4">floatBitsToUint</a> (vecType&lt; float, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga1804d4c443605d8a27be644aa461afe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga568b822b78f045f77c3325e165b44d5d"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga568b822b78f045f77c3325e165b44d5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">floor</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga568b822b78f045f77c3325e165b44d5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gad0f444d4b81cc53c3b6edf5aa25078c2">fma</a> (genType const &amp;a, genType const &amp;b, genType const &amp;c)</td></tr>
+<tr class="separator:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga8ba89e40e55ae5cdf228548f9b7639c7">fract</a> (genType x)</td></tr>
+<tr class="separator:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genIType &gt; </td></tr>
+<tr class="memitem:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga20620e83544d1a988857a3bc4ebe0e1d">frexp</a> (genType const &amp;x, genIType &amp;exp)</td></tr>
+<tr class="separator:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4fb7c21c2dce064b26fd9ccdaf9adcd4"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ga4fb7c21c2dce064b26fd9ccdaf9adcd4">intBitsToFloat</a> (int const &amp;v)</td></tr>
+<tr class="separator:ga4fb7c21c2dce064b26fd9ccdaf9adcd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad21ab176dd0e6b59d923db5efca87f4e"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename, precision &gt; class vecType, precision P&gt; </td></tr>
+<tr class="memitem:gad21ab176dd0e6b59d923db5efca87f4e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; float, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gad21ab176dd0e6b59d923db5efca87f4e">intBitsToFloat</a> (vecType&lt; int, P &gt; const &amp;v)</td></tr>
+<tr class="separator:gad21ab176dd0e6b59d923db5efca87f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf28f7a4696746f081685c9fd05c7e2de"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaf28f7a4696746f081685c9fd05c7e2de"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gaf28f7a4696746f081685c9fd05c7e2de">isinf</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gaf28f7a4696746f081685c9fd05c7e2de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6cb8f202a52eed2331724a3800198ebf"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga6cb8f202a52eed2331724a3800198ebf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga6cb8f202a52eed2331724a3800198ebf">isnan</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga6cb8f202a52eed2331724a3800198ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga52e319d7289b849ec92055abd4830533"><td class="memTemplParams" colspan="2">template&lt;typename genType , typename genIType &gt; </td></tr>
+<tr class="memitem:ga52e319d7289b849ec92055abd4830533"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga52e319d7289b849ec92055abd4830533">ldexp</a> (genType const &amp;x, genIType const &amp;exp)</td></tr>
+<tr class="separator:ga52e319d7289b849ec92055abd4830533"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga98caa7f95a94c86a86ebce893a45326c"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga98caa7f95a94c86a86ebce893a45326c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga98caa7f95a94c86a86ebce893a45326c">max</a> (genType x, genType y)</td></tr>
+<tr class="separator:ga98caa7f95a94c86a86ebce893a45326c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2c2bde1cec025b7ddff83c74a1113719"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga2c2bde1cec025b7ddff83c74a1113719"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga2c2bde1cec025b7ddff83c74a1113719">min</a> (genType x, genType y)</td></tr>
+<tr class="separator:ga2c2bde1cec025b7ddff83c74a1113719"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadccbaffe46f369cf1a96b2aef92cbfdd"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gadccbaffe46f369cf1a96b2aef92cbfdd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;a)</td></tr>
+<tr class="separator:gadccbaffe46f369cf1a96b2aef92cbfdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga12201563ef902e3b07e0d1d7656efdb1"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga12201563ef902e3b07e0d1d7656efdb1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga12201563ef902e3b07e0d1d7656efdb1">mod</a> (genType x, genType y)</td></tr>
+<tr class="separator:ga12201563ef902e3b07e0d1d7656efdb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac76ae7d82ff22526bcf6d6a1b51af6c3"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gac76ae7d82ff22526bcf6d6a1b51af6c3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#gac76ae7d82ff22526bcf6d6a1b51af6c3">mod</a> (vecType&lt; T, P &gt; const &amp;x, T y)</td></tr>
+<tr class="separator:gac76ae7d82ff22526bcf6d6a1b51af6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf5ae5330f6b30b4a35fb95f9a73d6134"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaf5ae5330f6b30b4a35fb95f9a73d6134"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#gaf5ae5330f6b30b4a35fb95f9a73d6134">mod</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:gaf5ae5330f6b30b4a35fb95f9a73d6134"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga85e33f139b8db1b39b590a5713b9e679"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga85e33f139b8db1b39b590a5713b9e679"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga85e33f139b8db1b39b590a5713b9e679">modf</a> (genType x, genType &amp;i)</td></tr>
+<tr class="separator:ga85e33f139b8db1b39b590a5713b9e679"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gada0165544c0618d634c8056a88082ce9"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gada0165544c0618d634c8056a88082ce9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gada0165544c0618d634c8056a88082ce9">round</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gada0165544c0618d634c8056a88082ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga655598104195a60a950291485e84a97e"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga655598104195a60a950291485e84a97e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga655598104195a60a950291485e84a97e">roundEven</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga655598104195a60a950291485e84a97e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac3446b4138e0b8757561c07cd19f084d"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gac3446b4138e0b8757561c07cd19f084d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gac3446b4138e0b8757561c07cd19f084d">sign</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gac3446b4138e0b8757561c07cd19f084d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a> (genType edge0, genType edge1, genType x)</td></tr>
+<tr class="separator:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga015a1261ff23e12650211aa872863cce"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga015a1261ff23e12650211aa872863cce"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga015a1261ff23e12650211aa872863cce">step</a> (genType edge, genType x)</td></tr>
+<tr class="separator:ga015a1261ff23e12650211aa872863cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf15b74ab672af2c7d7b535a9b4803700"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename, precision &gt; class vecType, typename T , precision P&gt; </td></tr>
+<tr class="memitem:gaf15b74ab672af2c7d7b535a9b4803700"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#gaf15b74ab672af2c7d7b535a9b4803700">step</a> (T edge, vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gaf15b74ab672af2c7d7b535a9b4803700"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6d84170051fb87c183c38883ec85b411"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename, precision &gt; class vecType, typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga6d84170051fb87c183c38883ec85b411"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga6d84170051fb87c183c38883ec85b411">step</a> (vecType&lt; T, P &gt; const &amp;edge, vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga6d84170051fb87c183c38883ec85b411"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga634cdbf8b37edca03f2248450570fd54"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga634cdbf8b37edca03f2248450570fd54"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga634cdbf8b37edca03f2248450570fd54">trunc</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga634cdbf8b37edca03f2248450570fd54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2bae0d15dcdca6093f88f76b3975d97"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gab2bae0d15dcdca6093f88f76b3975d97">uintBitsToFloat</a> (uint const &amp;v)</td></tr>
+<tr class="separator:gab2bae0d15dcdca6093f88f76b3975d97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3acab37650ecd792dc84548094b58684"><td class="memTemplParams" colspan="2">template&lt;template&lt; typename, precision &gt; class vecType, precision P&gt; </td></tr>
+<tr class="memitem:ga3acab37650ecd792dc84548094b58684"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; float, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00146.html#ga3acab37650ecd792dc84548094b58684">uintBitsToFloat</a> (vecType&lt; uint, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga3acab37650ecd792dc84548094b58684"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00029_source.html">func_common.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00029_source.html b/src/third_party/glm/doc/api/a00029_source.html
new file mode 100644
index 0000000..7818dbb
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00029_source.html
@@ -0,0 +1,238 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_common.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_common.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00029.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00098.html">setup.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00085.html">precision.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00113.html">type_int.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00002.html">_fixes.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;{</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga693d77696ff36572a0da79efec965acd">abs</a>(genType x);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga693d77696ff36572a0da79efec965acd">abs</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#gac3446b4138e0b8757561c07cd19f084d">sign</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">floor</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga634cdbf8b37edca03f2248450570fd54">trunc</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#gada0165544c0618d634c8056a88082ce9">round</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga655598104195a60a950291485e84a97e">roundEven</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga9189b2bec45ff301923ea8f8dd157fb8">ceil</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga8ba89e40e55ae5cdf228548f9b7639c7">fract</a>(genType x);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga8ba89e40e55ae5cdf228548f9b7639c7">fract</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00165.html#gaf5ae5330f6b30b4a35fb95f9a73d6134">mod</a>(genType x, genType y);</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00165.html#gaf5ae5330f6b30b4a35fb95f9a73d6134">mod</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, T y);</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00165.html#gaf5ae5330f6b30b4a35fb95f9a73d6134">mod</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga85e33f139b8db1b39b590a5713b9e679">modf</a>(genType x, genType &amp; i);</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga2c2bde1cec025b7ddff83c74a1113719">min</a>(genType x, genType y);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga2c2bde1cec025b7ddff83c74a1113719">min</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, T y);</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga2c2bde1cec025b7ddff83c74a1113719">min</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga98caa7f95a94c86a86ebce893a45326c">max</a>(genType x, genType y);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga98caa7f95a94c86a86ebce893a45326c">max</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, T y);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga98caa7f95a94c86a86ebce893a45326c">max</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(genType x, genType minVal, genType maxVal);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, T minVal, T maxVal);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; minVal, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; maxVal);</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;U, P&gt; <span class="keyword">const</span> &amp; a);</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, U a);</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU&gt;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        GLM_FUNC_DECL genTypeT <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(genTypeT x, genTypeT y, genTypeU a);</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga6d84170051fb87c183c38883ec85b411">step</a>(genType edge, genType x);</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga6d84170051fb87c183c38883ec85b411">step</a>(T edge, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga6d84170051fb87c183c38883ec85b411">step</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; edge, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a>(genType edge0, genType edge1, genType x);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a>(T edge0, T edge1, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00146.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; edge0, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; edge1, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00146.html#ga6cb8f202a52eed2331724a3800198ebf">isnan</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00146.html#gaf28f7a4696746f081685c9fd05c7e2de">isinf</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00146.html#gac4a0710238ae54c67931dd29a0b0f873">floatBitsToInt</a>(<span class="keywordtype">float</span> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, precision P&gt;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        GLM_FUNC_DECL vecType&lt;int, P&gt; <a class="code" href="a00146.html#gac4a0710238ae54c67931dd29a0b0f873">floatBitsToInt</a>(vecType&lt;float, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00146.html#ga1804d4c443605d8a27be644aa461afe4">floatBitsToUint</a>(<span class="keywordtype">float</span> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, precision P&gt;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        GLM_FUNC_DECL vecType&lt;uint, P&gt; <a class="code" href="a00146.html#ga1804d4c443605d8a27be644aa461afe4">floatBitsToUint</a>(vecType&lt;float, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">float</span> <a class="code" href="a00146.html#gad21ab176dd0e6b59d923db5efca87f4e">intBitsToFloat</a>(<span class="keywordtype">int</span> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, precision P&gt;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        GLM_FUNC_DECL vecType&lt;float, P&gt; <a class="code" href="a00146.html#gad21ab176dd0e6b59d923db5efca87f4e">intBitsToFloat</a>(vecType&lt;int, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">float</span> <a class="code" href="a00146.html#ga3acab37650ecd792dc84548094b58684">uintBitsToFloat</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType, precision P&gt;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        GLM_FUNC_DECL vecType&lt;float, P&gt; <a class="code" href="a00146.html#ga3acab37650ecd792dc84548094b58684">uintBitsToFloat</a>(vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#gad0f444d4b81cc53c3b6edf5aa25078c2">fma</a>(genType <span class="keyword">const</span> &amp; a, genType <span class="keyword">const</span> &amp; b, genType <span class="keyword">const</span> &amp; c);</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga20620e83544d1a988857a3bc4ebe0e1d">frexp</a>(genType <span class="keyword">const</span> &amp; x, genIType &amp; <a class="code" href="a00147.html#ga25e54a7f44fc49ec6ac6ffc7675cf04a">exp</a>);</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType&gt;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00146.html#ga52e319d7289b849ec92055abd4830533">ldexp</a>(genType <span class="keyword">const</span> &amp; x, genIType <span class="keyword">const</span> &amp; <a class="code" href="a00147.html#ga25e54a7f44fc49ec6ac6ffc7675cf04a">exp</a>);</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor">#include &quot;func_common.inl&quot;</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div>
+<div class="ttc" id="a00146_html_ga8ba89e40e55ae5cdf228548f9b7639c7"><div class="ttname"><a href="a00146.html#ga8ba89e40e55ae5cdf228548f9b7639c7">glm::fract</a></div><div class="ttdeci">GLM_FUNC_DECL genType fract(genType x)</div><div class="ttdoc">Return x - floor(x). </div></div>
+<div class="ttc" id="a00146_html_ga52e319d7289b849ec92055abd4830533"><div class="ttname"><a href="a00146.html#ga52e319d7289b849ec92055abd4830533">glm::ldexp</a></div><div class="ttdeci">GLM_FUNC_DECL genType ldexp(genType const &amp;x, genIType const &amp;exp)</div><div class="ttdoc">Builds a floating-point number from x and the corresponding integral exponent of two in exp...</div></div>
+<div class="ttc" id="a00146_html_gad21ab176dd0e6b59d923db5efca87f4e"><div class="ttname"><a href="a00146.html#gad21ab176dd0e6b59d923db5efca87f4e">glm::intBitsToFloat</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; float, P &gt; intBitsToFloat(vecType&lt; int, P &gt; const &amp;v)</div><div class="ttdoc">Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...</div></div>
+<div class="ttc" id="a00146_html_ga9189b2bec45ff301923ea8f8dd157fb8"><div class="ttname"><a href="a00146.html#ga9189b2bec45ff301923ea8f8dd157fb8">glm::ceil</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; ceil(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is greater than or equal to x. </div></div>
+<div class="ttc" id="a00146_html_ga85e33f139b8db1b39b590a5713b9e679"><div class="ttname"><a href="a00146.html#ga85e33f139b8db1b39b590a5713b9e679">glm::modf</a></div><div class="ttdeci">GLM_FUNC_DECL genType modf(genType x, genType &amp;i)</div><div class="ttdoc">Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...</div></div>
+<div class="ttc" id="a00146_html_ga562edf7eca082cc5b7a0aaf180436daf"><div class="ttname"><a href="a00146.html#ga562edf7eca082cc5b7a0aaf180436daf">glm::smoothstep</a></div><div class="ttdeci">GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)</div><div class="ttdoc">Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...</div></div>
+<div class="ttc" id="a00146_html_ga98caa7f95a94c86a86ebce893a45326c"><div class="ttname"><a href="a00146.html#ga98caa7f95a94c86a86ebce893a45326c">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL genType max(genType x, genType y)</div><div class="ttdoc">Returns y if x < y; otherwise, it returns x. </div></div>
+<div class="ttc" id="a00158_html_ga91ad9478d81a7aaf2593e8d9c3d06a14"><div class="ttname"><a href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">glm::uint</a></div><div class="ttdeci">unsigned int uint</div><div class="ttdoc">Unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00288">type_int.hpp:288</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00146_html_gada0165544c0618d634c8056a88082ce9"><div class="ttname"><a href="a00146.html#gada0165544c0618d634c8056a88082ce9">glm::round</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; round(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x. </div></div>
+<div class="ttc" id="a00146_html_ga655598104195a60a950291485e84a97e"><div class="ttname"><a href="a00146.html#ga655598104195a60a950291485e84a97e">glm::roundEven</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; roundEven(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x. </div></div>
+<div class="ttc" id="a00146_html_gadccbaffe46f369cf1a96b2aef92cbfdd"><div class="ttname"><a href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; mix(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y, vecType&lt; U, P &gt; const &amp;a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
+<div class="ttc" id="a00146_html_ga634cdbf8b37edca03f2248450570fd54"><div class="ttname"><a href="a00146.html#ga634cdbf8b37edca03f2248450570fd54">glm::trunc</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; trunc(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...</div></div>
+<div class="ttc" id="a00146_html_ga693d77696ff36572a0da79efec965acd"><div class="ttname"><a href="a00146.html#ga693d77696ff36572a0da79efec965acd">glm::abs</a></div><div class="ttdeci">GLM_FUNC_DECL genType abs(genType x)</div><div class="ttdoc">Returns x if x >= 0; otherwise, it returns -x. </div></div>
+<div class="ttc" id="a00146_html_ga6cb8f202a52eed2331724a3800198ebf"><div class="ttname"><a href="a00146.html#ga6cb8f202a52eed2331724a3800198ebf">glm::isnan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; isnan(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns true if x holds a NaN (not a number) representation in the underlying implementation&#39;s set of...</div></div>
+<div class="ttc" id="a00146_html_ga20620e83544d1a988857a3bc4ebe0e1d"><div class="ttname"><a href="a00146.html#ga20620e83544d1a988857a3bc4ebe0e1d">glm::frexp</a></div><div class="ttdeci">GLM_FUNC_DECL genType frexp(genType const &amp;x, genIType &amp;exp)</div><div class="ttdoc">Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...</div></div>
+<div class="ttc" id="a00113_html"><div class="ttname"><a href="a00113.html">type_int.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00146_html_ga1804d4c443605d8a27be644aa461afe4"><div class="ttname"><a href="a00146.html#ga1804d4c443605d8a27be644aa461afe4">glm::floatBitsToUint</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; uint, P &gt; floatBitsToUint(vecType&lt; float, P &gt; const &amp;v)</div><div class="ttdoc">Returns a unsigned integer value representing the encoding of a floating-point value. </div></div>
+<div class="ttc" id="a00098_html"><div class="ttname"><a href="a00098.html">setup.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00146_html_ga3acab37650ecd792dc84548094b58684"><div class="ttname"><a href="a00146.html#ga3acab37650ecd792dc84548094b58684">glm::uintBitsToFloat</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; float, P &gt; uintBitsToFloat(vecType&lt; uint, P &gt; const &amp;v)</div><div class="ttdoc">Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...</div></div>
+<div class="ttc" id="a00146_html_ga6d84170051fb87c183c38883ec85b411"><div class="ttname"><a href="a00146.html#ga6d84170051fb87c183c38883ec85b411">glm::step</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; step(vecType&lt; T, P &gt; const &amp;edge, vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns 0.0 if x < edge, otherwise it returns 1.0. </div></div>
+<div class="ttc" id="a00147_html_ga25e54a7f44fc49ec6ac6ffc7675cf04a"><div class="ttname"><a href="a00147.html#ga25e54a7f44fc49ec6ac6ffc7675cf04a">glm::exp</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; exp(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the natural exponentiation of x, i.e., e^x. </div></div>
+<div class="ttc" id="a00146_html_gaf28f7a4696746f081685c9fd05c7e2de"><div class="ttname"><a href="a00146.html#gaf28f7a4696746f081685c9fd05c7e2de">glm::isinf</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; isinf(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...</div></div>
+<div class="ttc" id="a00165_html_gaf5ae5330f6b30b4a35fb95f9a73d6134"><div class="ttname"><a href="a00165.html#gaf5ae5330f6b30b4a35fb95f9a73d6134">glm::mod</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; mod(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Modulus. </div></div>
+<div class="ttc" id="a00146_html_ga2c2bde1cec025b7ddff83c74a1113719"><div class="ttname"><a href="a00146.html#ga2c2bde1cec025b7ddff83c74a1113719">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL genType min(genType x, genType y)</div><div class="ttdoc">Returns y if y < x; otherwise, it returns x. </div></div>
+<div class="ttc" id="a00146_html_gad0f444d4b81cc53c3b6edf5aa25078c2"><div class="ttname"><a href="a00146.html#gad0f444d4b81cc53c3b6edf5aa25078c2">glm::fma</a></div><div class="ttdeci">GLM_FUNC_DECL genType fma(genType const &amp;a, genType const &amp;b, genType const &amp;c)</div><div class="ttdoc">Computes and returns a * b + c. </div></div>
+<div class="ttc" id="a00002_html"><div class="ttname"><a href="a00002.html">_fixes.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00146_html_ga568b822b78f045f77c3325e165b44d5d"><div class="ttname"><a href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">glm::floor</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; floor(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is less then or equal to x. </div></div>
+<div class="ttc" id="a00085_html"><div class="ttname"><a href="a00085.html">precision.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00146_html_gac4a0710238ae54c67931dd29a0b0f873"><div class="ttname"><a href="a00146.html#gac4a0710238ae54c67931dd29a0b0f873">glm::floatBitsToInt</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; int, P &gt; floatBitsToInt(vecType&lt; float, P &gt; const &amp;v)</div><div class="ttdoc">Returns a signed integer value representing the encoding of a floating-point value. </div></div>
+<div class="ttc" id="a00146_html_ga93bce26c7d80d30a62f5c508f8498a6c"><div class="ttname"><a href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
+<div class="ttc" id="a00146_html_gac3446b4138e0b8757561c07cd19f084d"><div class="ttname"><a href="a00146.html#gac3446b4138e0b8757561c07cd19f084d">glm::sign</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; sign(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00030.html b/src/third_party/glm/doc/api/a00030.html
new file mode 100644
index 0000000..aafc203
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00030.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_exponential.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_exponential.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00030_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga25e54a7f44fc49ec6ac6ffc7675cf04a"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga25e54a7f44fc49ec6ac6ffc7675cf04a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#ga25e54a7f44fc49ec6ac6ffc7675cf04a">exp</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga25e54a7f44fc49ec6ac6ffc7675cf04a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga42ca440d9062f1f456f5a9e896378f9c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga42ca440d9062f1f456f5a9e896378f9c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#ga42ca440d9062f1f456f5a9e896378f9c">exp2</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga42ca440d9062f1f456f5a9e896378f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga599103d4fe4ef2234761ba8da7268627"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga599103d4fe4ef2234761ba8da7268627"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#ga599103d4fe4ef2234761ba8da7268627">inversesqrt</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga599103d4fe4ef2234761ba8da7268627"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga21efca311e62d233de0ae96bab126b83"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga21efca311e62d233de0ae96bab126b83"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#ga21efca311e62d233de0ae96bab126b83">log</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga21efca311e62d233de0ae96bab126b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabae30945338a555a03733f00dad95d0d"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gabae30945338a555a03733f00dad95d0d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#gabae30945338a555a03733f00dad95d0d">log2</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:gabae30945338a555a03733f00dad95d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga082b332a4b7c6ad1d43e09ff19e214dd"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga082b332a4b7c6ad1d43e09ff19e214dd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#ga082b332a4b7c6ad1d43e09ff19e214dd">pow</a> (vecType&lt; T, P &gt; const &amp;base, vecType&lt; T, P &gt; const &amp;exponent)</td></tr>
+<tr class="separator:ga082b332a4b7c6ad1d43e09ff19e214dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7ac2e44c14d4e8004098d0bfba6e2b8"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gae7ac2e44c14d4e8004098d0bfba6e2b8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00147.html#gae7ac2e44c14d4e8004098d0bfba6e2b8">sqrt</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:gae7ac2e44c14d4e8004098d0bfba6e2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00030_source.html">func_exponential.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00030_source.html b/src/third_party/glm/doc/api/a00030_source.html
new file mode 100644
index 0000000..589a3b4
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00030_source.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_exponential.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_exponential.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00030.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00128.html">type_vec1.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00129.html">type_vec2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00130.html">type_vec3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00131.html">type_vec4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;{</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#ga082b332a4b7c6ad1d43e09ff19e214dd">pow</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; base, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; exponent);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#ga25e54a7f44fc49ec6ac6ffc7675cf04a">exp</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#ga21efca311e62d233de0ae96bab126b83">log</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#ga42ca440d9062f1f456f5a9e896378f9c">exp2</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#gabae30945338a555a03733f00dad95d0d">log2</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="comment">//template &lt;typename genType&gt;</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="comment">//GLM_FUNC_DECL genType sqrt(genType const &amp; x);</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#gae7ac2e44c14d4e8004098d0bfba6e2b8">sqrt</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        </div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00147.html#ga599103d4fe4ef2234761ba8da7268627">inversesqrt</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#include &quot;func_exponential.inl&quot;</span></div>
+<div class="ttc" id="a00147_html_ga082b332a4b7c6ad1d43e09ff19e214dd"><div class="ttname"><a href="a00147.html#ga082b332a4b7c6ad1d43e09ff19e214dd">glm::pow</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; pow(vecType&lt; T, P &gt; const &amp;base, vecType&lt; T, P &gt; const &amp;exponent)</div><div class="ttdoc">Returns &#39;base&#39; raised to the power &#39;exponent&#39;. </div></div>
+<div class="ttc" id="a00130_html"><div class="ttname"><a href="a00130.html">type_vec3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00147_html_ga21efca311e62d233de0ae96bab126b83"><div class="ttname"><a href="a00147.html#ga21efca311e62d233de0ae96bab126b83">glm::log</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; log(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y...</div></div>
+<div class="ttc" id="a00147_html_ga42ca440d9062f1f456f5a9e896378f9c"><div class="ttname"><a href="a00147.html#ga42ca440d9062f1f456f5a9e896378f9c">glm::exp2</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; exp2(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns 2 raised to the v power. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00129_html"><div class="ttname"><a href="a00129.html">type_vec2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00147_html_gabae30945338a555a03733f00dad95d0d"><div class="ttname"><a href="a00147.html#gabae30945338a555a03733f00dad95d0d">glm::log2</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; log2(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...</div></div>
+<div class="ttc" id="a00147_html_gae7ac2e44c14d4e8004098d0bfba6e2b8"><div class="ttname"><a href="a00147.html#gae7ac2e44c14d4e8004098d0bfba6e2b8">glm::sqrt</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; sqrt(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the positive square root of v. </div></div>
+<div class="ttc" id="a00131_html"><div class="ttname"><a href="a00131.html">type_vec4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00147_html_ga25e54a7f44fc49ec6ac6ffc7675cf04a"><div class="ttname"><a href="a00147.html#ga25e54a7f44fc49ec6ac6ffc7675cf04a">glm::exp</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; exp(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the natural exponentiation of x, i.e., e^x. </div></div>
+<div class="ttc" id="a00128_html"><div class="ttname"><a href="a00128.html">type_vec1.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00147_html_ga599103d4fe4ef2234761ba8da7268627"><div class="ttname"><a href="a00147.html#ga599103d4fe4ef2234761ba8da7268627">glm::inversesqrt</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; inversesqrt(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the reciprocal of the positive square root of v. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00031.html b/src/third_party/glm/doc/api/a00031.html
new file mode 100644
index 0000000..8ba48c7
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00031.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_geometric.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_geometric.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00031_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gafe2cae8cb26fd44be62aee97369d0af8"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gafe2cae8cb26fd44be62aee97369d0af8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#gafe2cae8cb26fd44be62aee97369d0af8">cross</a> (tvec3&lt; T, P &gt; const &amp;x, tvec3&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:gafe2cae8cb26fd44be62aee97369d0af8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7ca317dde0d7e94d920153554d4a02a8"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga7ca317dde0d7e94d920153554d4a02a8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#ga7ca317dde0d7e94d920153554d4a02a8">distance</a> (vecType&lt; T, P &gt; const &amp;p0, vecType&lt; T, P &gt; const &amp;p1)</td></tr>
+<tr class="separator:ga7ca317dde0d7e94d920153554d4a02a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7dada304da2ba7dd3376ab4f178c3f6b"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga7dada304da2ba7dd3376ab4f178c3f6b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#ga7dada304da2ba7dd3376ab4f178c3f6b">dot</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga7dada304da2ba7dd3376ab4f178c3f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaea854e5aec1b5839832ac2dfc7cd3c0d"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaea854e5aec1b5839832ac2dfc7cd3c0d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#gaea854e5aec1b5839832ac2dfc7cd3c0d">faceforward</a> (vecType&lt; T, P &gt; const &amp;N, vecType&lt; T, P &gt; const &amp;I, vecType&lt; T, P &gt; const &amp;Nref)</td></tr>
+<tr class="separator:gaea854e5aec1b5839832ac2dfc7cd3c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga18d45e3d4c7705e67ccfabd99e521604"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga18d45e3d4c7705e67ccfabd99e521604"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#ga18d45e3d4c7705e67ccfabd99e521604">length</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga18d45e3d4c7705e67ccfabd99e521604"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gada9451ec170a36fe53552812b9c03a68"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gada9451ec170a36fe53552812b9c03a68"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#gada9451ec170a36fe53552812b9c03a68">normalize</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gada9451ec170a36fe53552812b9c03a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab63646fc36b81cf69d3ce123a72f76f2"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gab63646fc36b81cf69d3ce123a72f76f2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#gab63646fc36b81cf69d3ce123a72f76f2">reflect</a> (genType const &amp;I, genType const &amp;N)</td></tr>
+<tr class="separator:gab63646fc36b81cf69d3ce123a72f76f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab7e7cdf4403931a5f7b74560ad64159b"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gab7e7cdf4403931a5f7b74560ad64159b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00148.html#gab7e7cdf4403931a5f7b74560ad64159b">refract</a> (vecType&lt; T, P &gt; const &amp;I, vecType&lt; T, P &gt; const &amp;N, T eta)</td></tr>
+<tr class="separator:gab7e7cdf4403931a5f7b74560ad64159b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.5 Geometric Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00031_source.html">func_geometric.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00031_source.html b/src/third_party/glm/doc/api/a00031_source.html
new file mode 100644
index 0000000..71f4c42
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00031_source.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_geometric.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_geometric.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00031.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00130.html">type_vec3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;{</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00148.html#ga18d45e3d4c7705e67ccfabd99e521604">length</a>(</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00148.html#ga7ca317dde0d7e94d920153554d4a02a8">distance</a>(</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; p0,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; p1);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00148.html#ga7dada304da2ba7dd3376ab4f178c3f6b">dot</a>(</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        GLM_FUNC_DECL tvec3&lt;T, P&gt; <a class="code" href="a00148.html#gafe2cae8cb26fd44be62aee97369d0af8">cross</a>(</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00148.html#gada9451ec170a36fe53552812b9c03a68">normalize</a>(</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00148.html#gaea854e5aec1b5839832ac2dfc7cd3c0d">faceforward</a>(</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; N,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; I,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; Nref);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00148.html#gab63646fc36b81cf69d3ce123a72f76f2">reflect</a>(</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                genType <span class="keyword">const</span> &amp; I,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                genType <span class="keyword">const</span> &amp; N);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00148.html#gab7e7cdf4403931a5f7b74560ad64159b">refract</a>(</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; I,</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; N,</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                T eta);</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#include &quot;func_geometric.inl&quot;</span></div>
+<div class="ttc" id="a00130_html"><div class="ttname"><a href="a00130.html">type_vec3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00148_html_ga7dada304da2ba7dd3376ab4f178c3f6b"><div class="ttname"><a href="a00148.html#ga7dada304da2ba7dd3376ab4f178c3f6b">glm::dot</a></div><div class="ttdeci">GLM_FUNC_DECL T dot(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the dot product of x and y, i.e., result = x * y. </div></div>
+<div class="ttc" id="a00148_html_gafe2cae8cb26fd44be62aee97369d0af8"><div class="ttname"><a href="a00148.html#gafe2cae8cb26fd44be62aee97369d0af8">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; cross(tvec3&lt; T, P &gt; const &amp;x, tvec3&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the cross product of x and y. </div></div>
+<div class="ttc" id="a00148_html_gab63646fc36b81cf69d3ce123a72f76f2"><div class="ttname"><a href="a00148.html#gab63646fc36b81cf69d3ce123a72f76f2">glm::reflect</a></div><div class="ttdeci">GLM_FUNC_DECL genType reflect(genType const &amp;I, genType const &amp;N)</div><div class="ttdoc">For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...</div></div>
+<div class="ttc" id="a00148_html_gaea854e5aec1b5839832ac2dfc7cd3c0d"><div class="ttname"><a href="a00148.html#gaea854e5aec1b5839832ac2dfc7cd3c0d">glm::faceforward</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; faceforward(vecType&lt; T, P &gt; const &amp;N, vecType&lt; T, P &gt; const &amp;I, vecType&lt; T, P &gt; const &amp;Nref)</div><div class="ttdoc">If dot(Nref, I) < 0.0, return N, otherwise, return -N. </div></div>
+<div class="ttc" id="a00148_html_gada9451ec170a36fe53552812b9c03a68"><div class="ttname"><a href="a00148.html#gada9451ec170a36fe53552812b9c03a68">glm::normalize</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; normalize(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a vector in the same direction as x but with length of 1. </div></div>
+<div class="ttc" id="a00148_html_ga7ca317dde0d7e94d920153554d4a02a8"><div class="ttname"><a href="a00148.html#ga7ca317dde0d7e94d920153554d4a02a8">glm::distance</a></div><div class="ttdeci">GLM_FUNC_DECL T distance(vecType&lt; T, P &gt; const &amp;p0, vecType&lt; T, P &gt; const &amp;p1)</div><div class="ttdoc">Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). </div></div>
+<div class="ttc" id="a00148_html_ga18d45e3d4c7705e67ccfabd99e521604"><div class="ttname"><a href="a00148.html#ga18d45e3d4c7705e67ccfabd99e521604">glm::length</a></div><div class="ttdeci">GLM_FUNC_DECL T length(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the length of x, i.e., sqrt(x * x). </div></div>
+<div class="ttc" id="a00148_html_gab7e7cdf4403931a5f7b74560ad64159b"><div class="ttname"><a href="a00148.html#gab7e7cdf4403931a5f7b74560ad64159b">glm::refract</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; refract(vecType&lt; T, P &gt; const &amp;I, vecType&lt; T, P &gt; const &amp;N, T eta)</div><div class="ttdoc">For the incident vector I and surface normal N, and the ratio of indices of refraction eta...</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00032.html b/src/third_party/glm/doc/api/a00032.html
new file mode 100644
index 0000000..3d67986
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00032.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_integer.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_integer.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00032_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga44abfe3379e11cbd29425a843420d0d6"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga44abfe3379e11cbd29425a843420d0d6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga44abfe3379e11cbd29425a843420d0d6">bitCount</a> (genType v)</td></tr>
+<tr class="separator:ga44abfe3379e11cbd29425a843420d0d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f29640969a3c54564da06ac67a5392e"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga1f29640969a3c54564da06ac67a5392e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; int, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga1f29640969a3c54564da06ac67a5392e">bitCount</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga1f29640969a3c54564da06ac67a5392e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab84b88f3a8e367774e5dd1c618c353cf"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gab84b88f3a8e367774e5dd1c618c353cf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#gab84b88f3a8e367774e5dd1c618c353cf">bitfieldExtract</a> (vecType&lt; T, P &gt; const &amp;Value, int Offset, int Bits)</td></tr>
+<tr class="separator:gab84b88f3a8e367774e5dd1c618c353cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5681dfac9239beb1b8bd995e3c6496d7"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga5681dfac9239beb1b8bd995e3c6496d7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga5681dfac9239beb1b8bd995e3c6496d7">bitfieldInsert</a> (vecType&lt; T, P &gt; const &amp;Base, vecType&lt; T, P &gt; const &amp;Insert, int Offset, int Bits)</td></tr>
+<tr class="separator:ga5681dfac9239beb1b8bd995e3c6496d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga153e7e8d0c035f83cce50fc3e580930f"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga153e7e8d0c035f83cce50fc3e580930f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga153e7e8d0c035f83cce50fc3e580930f">bitfieldReverse</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga153e7e8d0c035f83cce50fc3e580930f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf74c4d969fa34ab8acb9d390f5ca5274"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:gaf74c4d969fa34ab8acb9d390f5ca5274"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#gaf74c4d969fa34ab8acb9d390f5ca5274">findLSB</a> (genIUType x)</td></tr>
+<tr class="separator:gaf74c4d969fa34ab8acb9d390f5ca5274"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga014a72009e68233c34c06a6dc2251b8c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga014a72009e68233c34c06a6dc2251b8c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; int, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga014a72009e68233c34c06a6dc2251b8c">findLSB</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga014a72009e68233c34c06a6dc2251b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7e4a794d766861c70bc961630f8ef621"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga7e4a794d766861c70bc961630f8ef621"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga7e4a794d766861c70bc961630f8ef621">findMSB</a> (genIUType x)</td></tr>
+<tr class="separator:ga7e4a794d766861c70bc961630f8ef621"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga433104d77ec2ba58888aaefb77e9183f"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga433104d77ec2ba58888aaefb77e9183f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; int, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga433104d77ec2ba58888aaefb77e9183f">findMSB</a> (vecType&lt; T, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga433104d77ec2ba58888aaefb77e9183f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6e6e8b29ca40d8ca2df10b58ed17d426"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga6e6e8b29ca40d8ca2df10b58ed17d426"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga6e6e8b29ca40d8ca2df10b58ed17d426">imulExtended</a> (vecType&lt; int, P &gt; const &amp;x, vecType&lt; int, P &gt; const &amp;y, vecType&lt; int, P &gt; &amp;msb, vecType&lt; int, P &gt; &amp;lsb)</td></tr>
+<tr class="separator:ga6e6e8b29ca40d8ca2df10b58ed17d426"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; uint, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa">uaddCarry</a> (vecType&lt; uint, P &gt; const &amp;x, vecType&lt; uint, P &gt; const &amp;y, vecType&lt; uint, P &gt; &amp;carry)</td></tr>
+<tr class="separator:ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga456ff9dcec42f6769a9ae2a2af7f1ce1"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga456ff9dcec42f6769a9ae2a2af7f1ce1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga456ff9dcec42f6769a9ae2a2af7f1ce1">umulExtended</a> (vecType&lt; uint, P &gt; const &amp;x, vecType&lt; uint, P &gt; const &amp;y, vecType&lt; uint, P &gt; &amp;msb, vecType&lt; uint, P &gt; &amp;lsb)</td></tr>
+<tr class="separator:ga456ff9dcec42f6769a9ae2a2af7f1ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga22a889bf08313b7e547e2cdb8bb15ee4"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga22a889bf08313b7e547e2cdb8bb15ee4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; uint, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga22a889bf08313b7e547e2cdb8bb15ee4">usubBorrow</a> (vecType&lt; uint, P &gt; const &amp;x, vecType&lt; uint, P &gt; const &amp;y, vecType&lt; uint, P &gt; &amp;borrow)</td></tr>
+<tr class="separator:ga22a889bf08313b7e547e2cdb8bb15ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.8 Integer Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00032_source.html">func_integer.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00032_source.html b/src/third_party/glm/doc/api/a00032_source.html
new file mode 100644
index 0000000..ef3d916
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00032_source.html
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_integer.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_integer.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00032.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00098.html">setup.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00085.html">precision.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00029.html">func_common.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00036.html">func_vector_relational.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL vecType&lt;uint, P&gt; <a class="code" href="a00149.html#ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa">uaddCarry</a>(</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                vecType&lt;uint, P&gt; &amp; carry);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;        GLM_FUNC_DECL vecType&lt;uint, P&gt; <a class="code" href="a00149.html#ga22a889bf08313b7e547e2cdb8bb15ee4">usubBorrow</a>(</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                vecType&lt;uint, P&gt; &amp; borrow);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">void</span> <a class="code" href="a00149.html#ga456ff9dcec42f6769a9ae2a2af7f1ce1">umulExtended</a>(</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                vecType&lt;uint, P&gt; <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                vecType&lt;uint, P&gt; &amp; msb,</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                vecType&lt;uint, P&gt; &amp; lsb);</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                </div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">void</span> <a class="code" href="a00149.html#ga6e6e8b29ca40d8ca2df10b58ed17d426">imulExtended</a>(</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                vecType&lt;int, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                vecType&lt;int, P&gt; <span class="keyword">const</span> &amp; y,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                vecType&lt;int, P&gt; &amp; msb,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                vecType&lt;int, P&gt; &amp; lsb);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00149.html#gab84b88f3a8e367774e5dd1c618c353cf">bitfieldExtract</a>(</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; Value,</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                <span class="keywordtype">int</span> Offset,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;                <span class="keywordtype">int</span> Bits);</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00149.html#ga5681dfac9239beb1b8bd995e3c6496d7">bitfieldInsert</a>(</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; Base,</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; Insert,</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                <span class="keywordtype">int</span> Offset,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                <span class="keywordtype">int</span> Bits);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00149.html#ga153e7e8d0c035f83cce50fc3e580930f">bitfieldReverse</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00149.html#ga1f29640969a3c54564da06ac67a5392e">bitCount</a>(genType v);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        GLM_FUNC_DECL vecType&lt;int, P&gt; <a class="code" href="a00149.html#ga1f29640969a3c54564da06ac67a5392e">bitCount</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00149.html#ga014a72009e68233c34c06a6dc2251b8c">findLSB</a>(genIUType x);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        GLM_FUNC_DECL vecType&lt;int, P&gt; <a class="code" href="a00149.html#ga014a72009e68233c34c06a6dc2251b8c">findLSB</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00149.html#ga433104d77ec2ba58888aaefb77e9183f">findMSB</a>(genIUType x);</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        GLM_FUNC_DECL vecType&lt;int, P&gt; <a class="code" href="a00149.html#ga433104d77ec2ba58888aaefb77e9183f">findMSB</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor">#include &quot;func_integer.inl&quot;</span></div>
+<div class="ttc" id="a00149_html_ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa"><div class="ttname"><a href="a00149.html#ga2fc1a46e7b7e9fbbd8fa444fbacaa2aa">glm::uaddCarry</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; uint, P &gt; uaddCarry(vecType&lt; uint, P &gt; const &amp;x, vecType&lt; uint, P &gt; const &amp;y, vecType&lt; uint, P &gt; &amp;carry)</div><div class="ttdoc">Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32). </div></div>
+<div class="ttc" id="a00149_html_ga22a889bf08313b7e547e2cdb8bb15ee4"><div class="ttname"><a href="a00149.html#ga22a889bf08313b7e547e2cdb8bb15ee4">glm::usubBorrow</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; uint, P &gt; usubBorrow(vecType&lt; uint, P &gt; const &amp;x, vecType&lt; uint, P &gt; const &amp;y, vecType&lt; uint, P &gt; &amp;borrow)</div><div class="ttdoc">Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise. </div></div>
+<div class="ttc" id="a00149_html_ga5681dfac9239beb1b8bd995e3c6496d7"><div class="ttname"><a href="a00149.html#ga5681dfac9239beb1b8bd995e3c6496d7">glm::bitfieldInsert</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldInsert(vecType&lt; T, P &gt; const &amp;Base, vecType&lt; T, P &gt; const &amp;Insert, int Offset, int Bits)</div><div class="ttdoc">Returns the insertion the bits least-significant bits of insert into base. </div></div>
+<div class="ttc" id="a00149_html_ga456ff9dcec42f6769a9ae2a2af7f1ce1"><div class="ttname"><a href="a00149.html#ga456ff9dcec42f6769a9ae2a2af7f1ce1">glm::umulExtended</a></div><div class="ttdeci">GLM_FUNC_DECL void umulExtended(vecType&lt; uint, P &gt; const &amp;x, vecType&lt; uint, P &gt; const &amp;y, vecType&lt; uint, P &gt; &amp;msb, vecType&lt; uint, P &gt; &amp;lsb)</div><div class="ttdoc">Multiplies 32-bit integers x and y, producing a 64-bit result. </div></div>
+<div class="ttc" id="a00149_html_gab84b88f3a8e367774e5dd1c618c353cf"><div class="ttname"><a href="a00149.html#gab84b88f3a8e367774e5dd1c618c353cf">glm::bitfieldExtract</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldExtract(vecType&lt; T, P &gt; const &amp;Value, int Offset, int Bits)</div><div class="ttdoc">Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...</div></div>
+<div class="ttc" id="a00149_html_ga014a72009e68233c34c06a6dc2251b8c"><div class="ttname"><a href="a00149.html#ga014a72009e68233c34c06a6dc2251b8c">glm::findLSB</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; int, P &gt; findLSB(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the bit number of the least significant bit set to 1 in the binary representation of value...</div></div>
+<div class="ttc" id="a00149_html_ga153e7e8d0c035f83cce50fc3e580930f"><div class="ttname"><a href="a00149.html#ga153e7e8d0c035f83cce50fc3e580930f">glm::bitfieldReverse</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; bitfieldReverse(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the reversal of the bits of value. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00029_html"><div class="ttname"><a href="a00029.html">func_common.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00149_html_ga1f29640969a3c54564da06ac67a5392e"><div class="ttname"><a href="a00149.html#ga1f29640969a3c54564da06ac67a5392e">glm::bitCount</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; int, P &gt; bitCount(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the number of bits set to 1 in the binary representation of value. </div></div>
+<div class="ttc" id="a00098_html"><div class="ttname"><a href="a00098.html">setup.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00149_html_ga6e6e8b29ca40d8ca2df10b58ed17d426"><div class="ttname"><a href="a00149.html#ga6e6e8b29ca40d8ca2df10b58ed17d426">glm::imulExtended</a></div><div class="ttdeci">GLM_FUNC_DECL void imulExtended(vecType&lt; int, P &gt; const &amp;x, vecType&lt; int, P &gt; const &amp;y, vecType&lt; int, P &gt; &amp;msb, vecType&lt; int, P &gt; &amp;lsb)</div><div class="ttdoc">Multiplies 32-bit integers x and y, producing a 64-bit result. </div></div>
+<div class="ttc" id="a00149_html_ga433104d77ec2ba58888aaefb77e9183f"><div class="ttname"><a href="a00149.html#ga433104d77ec2ba58888aaefb77e9183f">glm::findMSB</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; int, P &gt; findMSB(vecType&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Returns the bit number of the most significant bit in the binary representation of value...</div></div>
+<div class="ttc" id="a00085_html"><div class="ttname"><a href="a00085.html">precision.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00036_html"><div class="ttname"><a href="a00036.html">func_vector_relational.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00033.html b/src/third_party/glm/doc/api/a00033.html
new file mode 100644
index 0000000..3fc46b0
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00033.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_matrix.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_matrix.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00033_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga26ea77c574802bc6fc193c40478718d2"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class matType&gt; </td></tr>
+<tr class="memitem:ga26ea77c574802bc6fc193c40478718d2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#ga26ea77c574802bc6fc193c40478718d2">determinant</a> (matType&lt; T, P &gt; const &amp;m)</td></tr>
+<tr class="separator:ga26ea77c574802bc6fc193c40478718d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa7e1d5586cd499126cec76e0f11871e3"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class matType&gt; </td></tr>
+<tr class="memitem:gaa7e1d5586cd499126cec76e0f11871e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL matType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#gaa7e1d5586cd499126cec76e0f11871e3">inverse</a> (matType&lt; T, P &gt; const &amp;m)</td></tr>
+<tr class="separator:gaa7e1d5586cd499126cec76e0f11871e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4a54992e4741188ee624b21e3ba91814"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class matType&gt; </td></tr>
+<tr class="memitem:ga4a54992e4741188ee624b21e3ba91814"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL matType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#ga4a54992e4741188ee624b21e3ba91814">matrixCompMult</a> (matType&lt; T, P &gt; const &amp;x, matType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga4a54992e4741188ee624b21e3ba91814"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae9f513dc8e4f3ceb993669321b6d0f09"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecTypeA, template&lt; typename, precision &gt; class vecTypeB&gt; </td></tr>
+<tr class="memitem:gae9f513dc8e4f3ceb993669321b6d0f09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL detail::outerProduct_trait&lt; T, P, vecTypeA, vecTypeB &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#gae9f513dc8e4f3ceb993669321b6d0f09">outerProduct</a> (vecTypeA&lt; T, P &gt; const &amp;c, vecTypeB&lt; T, P &gt; const &amp;r)</td></tr>
+<tr class="separator:gae9f513dc8e4f3ceb993669321b6d0f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.6 Matrix Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00033_source.html">func_matrix.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00033_source.html b/src/third_party/glm/doc/api/a00033_source.html
new file mode 100644
index 0000000..c3a03bc
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00033_source.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_matrix.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_matrix.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00033.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../detail/type_mat.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../vec2.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;../vec3.hpp&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;../vec4.hpp&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;../mat2x2.hpp&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;../mat2x3.hpp&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;../mat2x4.hpp&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;../mat3x2.hpp&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;../mat3x3.hpp&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;../mat3x4.hpp&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;../mat4x2.hpp&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;../mat4x3.hpp&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;../mat4x4.hpp&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span>detail</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec2, tvec2&gt;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        {</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                <span class="keyword">typedef</span> tmat2x2&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        };</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec2, tvec3&gt;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        {</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                <span class="keyword">typedef</span> tmat3x2&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        };</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec2, tvec4&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                <span class="keyword">typedef</span> tmat4x2&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        };</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec3, tvec2&gt;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                <span class="keyword">typedef</span> tmat2x3&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        };</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec3, tvec3&gt;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                <span class="keyword">typedef</span> tmat3x3&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        };</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec3, tvec4&gt;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                <span class="keyword">typedef</span> tmat4x3&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        };</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec4, tvec2&gt;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                <span class="keyword">typedef</span> tmat2x4&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        };</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec4, tvec3&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                <span class="keyword">typedef</span> tmat3x4&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        };</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">struct </span>outerProduct_trait&lt;T, P, tvec4, tvec4&gt;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                <span class="keyword">typedef</span> tmat4x4&lt;T, P&gt; type;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        };</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;}<span class="comment">//namespace detail</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>matType&gt;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        GLM_FUNC_DECL matType&lt;T, P&gt; <a class="code" href="a00150.html#ga4a54992e4741188ee624b21e3ba91814">matrixCompMult</a>(matType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, matType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecTypeA, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecTypeB&gt;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> detail::outerProduct_trait&lt;T, P, vecTypeA, vecTypeB&gt;::type <a class="code" href="a00150.html#gae9f513dc8e4f3ceb993669321b6d0f09">outerProduct</a>(vecTypeA&lt;T, P&gt; <span class="keyword">const</span> &amp; c, vecTypeB&lt;T, P&gt; <span class="keyword">const</span> &amp; r);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor">#       if((GLM_COMPILER &amp; GLM_COMPILER_VC) &amp;&amp; (GLM_COMPILER &gt;= GLM_COMPILER_VC2012))</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>matType&gt;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                GLM_FUNC_DECL <span class="keyword">typename</span> matType&lt;T, P&gt;::transpose_type transpose(matType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#       endif</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        </div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>matType&gt;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00150.html#ga26ea77c574802bc6fc193c40478718d2">determinant</a>(matType&lt;T, P&gt; <span class="keyword">const</span> &amp; m);</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>matType&gt;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        GLM_FUNC_DECL matType&lt;T, P&gt; <a class="code" href="a00150.html#gaa7e1d5586cd499126cec76e0f11871e3">inverse</a>(matType&lt;T, P&gt; <span class="keyword">const</span> &amp; m);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor">#include &quot;func_matrix.inl&quot;</span></div>
+<div class="ttc" id="a00150_html_ga26ea77c574802bc6fc193c40478718d2"><div class="ttname"><a href="a00150.html#ga26ea77c574802bc6fc193c40478718d2">glm::determinant</a></div><div class="ttdeci">GLM_FUNC_DECL T determinant(matType&lt; T, P &gt; const &amp;m)</div><div class="ttdoc">Returns the transposed matrix of x. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00150_html_gaa7e1d5586cd499126cec76e0f11871e3"><div class="ttname"><a href="a00150.html#gaa7e1d5586cd499126cec76e0f11871e3">glm::inverse</a></div><div class="ttdeci">GLM_FUNC_DECL matType&lt; T, P &gt; inverse(matType&lt; T, P &gt; const &amp;m)</div><div class="ttdoc">Return the inverse of a squared matrix. </div></div>
+<div class="ttc" id="a00150_html_gae9f513dc8e4f3ceb993669321b6d0f09"><div class="ttname"><a href="a00150.html#gae9f513dc8e4f3ceb993669321b6d0f09">glm::outerProduct</a></div><div class="ttdeci">GLM_FUNC_DECL detail::outerProduct_trait&lt; T, P, vecTypeA, vecTypeB &gt;::type outerProduct(vecTypeA&lt; T, P &gt; const &amp;c, vecTypeB&lt; T, P &gt; const &amp;r)</div><div class="ttdoc">Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...</div></div>
+<div class="ttc" id="a00150_html_ga4a54992e4741188ee624b21e3ba91814"><div class="ttname"><a href="a00150.html#ga4a54992e4741188ee624b21e3ba91814">glm::matrixCompMult</a></div><div class="ttdeci">GLM_FUNC_DECL matType&lt; T, P &gt; matrixCompMult(matType&lt; T, P &gt; const &amp;x, matType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00034.html b/src/third_party/glm/doc/api/a00034.html
new file mode 100644
index 0000000..71f62da
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00034.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_packing.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_packing.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00034_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gaa916ca426b2bb0343ba17e3753e245c2"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#gaa916ca426b2bb0343ba17e3753e245c2">packDouble2x32</a> (uvec2 const &amp;v)</td></tr>
+<tr class="separator:gaa916ca426b2bb0343ba17e3753e245c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga20f134b07db3a3d3a38efb2617388c92"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga20f134b07db3a3d3a38efb2617388c92">packHalf2x16</a> (vec2 const &amp;v)</td></tr>
+<tr class="separator:ga20f134b07db3a3d3a38efb2617388c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga977ab172da5494e5ac63e952afacfbe2"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga977ab172da5494e5ac63e952afacfbe2">packSnorm2x16</a> (vec2 const &amp;v)</td></tr>
+<tr class="separator:ga977ab172da5494e5ac63e952afacfbe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga85e8f17627516445026ab7a9c2e3531a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga85e8f17627516445026ab7a9c2e3531a">packSnorm4x8</a> (vec4 const &amp;v)</td></tr>
+<tr class="separator:ga85e8f17627516445026ab7a9c2e3531a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0e2d107039fe608a209497af867b85fb"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga0e2d107039fe608a209497af867b85fb">packUnorm2x16</a> (vec2 const &amp;v)</td></tr>
+<tr class="separator:ga0e2d107039fe608a209497af867b85fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf7d2f7341a9eeb4a436929d6f9ad08f2"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#gaf7d2f7341a9eeb4a436929d6f9ad08f2">packUnorm4x8</a> (vec4 const &amp;v)</td></tr>
+<tr class="separator:gaf7d2f7341a9eeb4a436929d6f9ad08f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5f4296dc5f12f0aa67ac05b8bb322483"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uvec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga5f4296dc5f12f0aa67ac05b8bb322483">unpackDouble2x32</a> (double v)</td></tr>
+<tr class="separator:ga5f4296dc5f12f0aa67ac05b8bb322483"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf59b52e6b28da9335322c4ae19b5d745"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#gaf59b52e6b28da9335322c4ae19b5d745">unpackHalf2x16</a> (uint v)</td></tr>
+<tr class="separator:gaf59b52e6b28da9335322c4ae19b5d745"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacd8f8971a3fe28418be0d0fa1f786b38"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#gacd8f8971a3fe28418be0d0fa1f786b38">unpackSnorm2x16</a> (uint p)</td></tr>
+<tr class="separator:gacd8f8971a3fe28418be0d0fa1f786b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2db488646d48b7c43d3218954523fe82"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga2db488646d48b7c43d3218954523fe82">unpackSnorm4x8</a> (uint p)</td></tr>
+<tr class="separator:ga2db488646d48b7c43d3218954523fe82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f66188e5d65afeb9ffba1ad971e4007"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga1f66188e5d65afeb9ffba1ad971e4007">unpackUnorm2x16</a> (uint p)</td></tr>
+<tr class="separator:ga1f66188e5d65afeb9ffba1ad971e4007"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f903259150b67e9466f5f8edffcd197"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#ga7f903259150b67e9466f5f8edffcd197">unpackUnorm4x8</a> (uint p)</td></tr>
+<tr class="separator:ga7f903259150b67e9466f5f8edffcd197"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions</a> </dd>
+<dd>
+<a class="el" href="a00171.html" title="This extension provides a set of function to convert vertors to packed formats. ">GLM_GTC_packing</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00034_source.html">func_packing.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00034_source.html b/src/third_party/glm/doc/api/a00034_source.html
new file mode 100644
index 0000000..be75162
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00034_source.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_packing.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_packing.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00034.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00129.html">type_vec2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00131.html">type_vec4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;{</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00151.html#ga0e2d107039fe608a209497af867b85fb">packUnorm2x16</a>(<a class="code" href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">vec2</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00151.html#ga977ab172da5494e5ac63e952afacfbe2">packSnorm2x16</a>(<a class="code" href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">vec2</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00151.html#gaf7d2f7341a9eeb4a436929d6f9ad08f2">packUnorm4x8</a>(<a class="code" href="a00157.html#gafbab23070ca47932487d25332adc7d7c">vec4</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00151.html#ga85e8f17627516445026ab7a9c2e3531a">packSnorm4x8</a>(<a class="code" href="a00157.html#gafbab23070ca47932487d25332adc7d7c">vec4</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">vec2</a> <a class="code" href="a00151.html#ga1f66188e5d65afeb9ffba1ad971e4007">unpackUnorm2x16</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> p);</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">vec2</a> <a class="code" href="a00151.html#gacd8f8971a3fe28418be0d0fa1f786b38">unpackSnorm2x16</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> p);</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00157.html#gafbab23070ca47932487d25332adc7d7c">vec4</a> <a class="code" href="a00151.html#ga7f903259150b67e9466f5f8edffcd197">unpackUnorm4x8</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> p);</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00157.html#gafbab23070ca47932487d25332adc7d7c">vec4</a> <a class="code" href="a00151.html#ga2db488646d48b7c43d3218954523fe82">unpackSnorm4x8</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> p);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">double</span> <a class="code" href="a00151.html#gaa916ca426b2bb0343ba17e3753e245c2">packDouble2x32</a>(<a class="code" href="a00157.html#ga9bcffa2d49f28d16f680757b5c0e7c84">uvec2</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00157.html#ga9bcffa2d49f28d16f680757b5c0e7c84">uvec2</a> <a class="code" href="a00151.html#ga5f4296dc5f12f0aa67ac05b8bb322483">unpackDouble2x32</a>(<span class="keywordtype">double</span> v);</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00151.html#ga20f134b07db3a3d3a38efb2617388c92">packHalf2x16</a>(<a class="code" href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">vec2</a> <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        </div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">vec2</a> <a class="code" href="a00151.html#gaf59b52e6b28da9335322c4ae19b5d745">unpackHalf2x16</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> v);</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        </div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor">#include &quot;func_packing.inl&quot;</span></div>
+<div class="ttc" id="a00151_html_gaf7d2f7341a9eeb4a436929d6f9ad08f2"><div class="ttname"><a href="a00151.html#gaf7d2f7341a9eeb4a436929d6f9ad08f2">glm::packUnorm4x8</a></div><div class="ttdeci">GLM_FUNC_DECL uint packUnorm4x8(vec4 const &amp;v)</div><div class="ttdoc">First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...</div></div>
+<div class="ttc" id="a00157_html_gafbab23070ca47932487d25332adc7d7c"><div class="ttname"><a href="a00157.html#gafbab23070ca47932487d25332adc7d7c">glm::vec4</a></div><div class="ttdeci">highp_vec4 vec4</div><div class="ttdoc">4 components vector of floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00466">type_vec.hpp:466</a></div></div>
+<div class="ttc" id="a00151_html_gaa916ca426b2bb0343ba17e3753e245c2"><div class="ttname"><a href="a00151.html#gaa916ca426b2bb0343ba17e3753e245c2">glm::packDouble2x32</a></div><div class="ttdeci">GLM_FUNC_DECL double packDouble2x32(uvec2 const &amp;v)</div><div class="ttdoc">Returns a double-precision value obtained by packing the components of v into a 64-bit value...</div></div>
+<div class="ttc" id="a00151_html_ga20f134b07db3a3d3a38efb2617388c92"><div class="ttname"><a href="a00151.html#ga20f134b07db3a3d3a38efb2617388c92">glm::packHalf2x16</a></div><div class="ttdeci">GLM_FUNC_DECL uint packHalf2x16(vec2 const &amp;v)</div><div class="ttdoc">Returns an unsigned integer obtained by converting the components of a two-component floating-point v...</div></div>
+<div class="ttc" id="a00158_html_ga91ad9478d81a7aaf2593e8d9c3d06a14"><div class="ttname"><a href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">glm::uint</a></div><div class="ttdeci">unsigned int uint</div><div class="ttdoc">Unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00288">type_int.hpp:288</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00151_html_ga2db488646d48b7c43d3218954523fe82"><div class="ttname"><a href="a00151.html#ga2db488646d48b7c43d3218954523fe82">glm::unpackSnorm4x8</a></div><div class="ttdeci">GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p)</div><div class="ttdoc">First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. </div></div>
+<div class="ttc" id="a00129_html"><div class="ttname"><a href="a00129.html">type_vec2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00151_html_gaf59b52e6b28da9335322c4ae19b5d745"><div class="ttname"><a href="a00151.html#gaf59b52e6b28da9335322c4ae19b5d745">glm::unpackHalf2x16</a></div><div class="ttdeci">GLM_FUNC_DECL vec2 unpackHalf2x16(uint v)</div><div class="ttdoc">Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...</div></div>
+<div class="ttc" id="a00151_html_ga1f66188e5d65afeb9ffba1ad971e4007"><div class="ttname"><a href="a00151.html#ga1f66188e5d65afeb9ffba1ad971e4007">glm::unpackUnorm2x16</a></div><div class="ttdeci">GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p)</div><div class="ttdoc">First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. </div></div>
+<div class="ttc" id="a00151_html_ga0e2d107039fe608a209497af867b85fb"><div class="ttname"><a href="a00151.html#ga0e2d107039fe608a209497af867b85fb">glm::packUnorm2x16</a></div><div class="ttdeci">GLM_FUNC_DECL uint packUnorm2x16(vec2 const &amp;v)</div><div class="ttdoc">First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...</div></div>
+<div class="ttc" id="a00151_html_ga977ab172da5494e5ac63e952afacfbe2"><div class="ttname"><a href="a00151.html#ga977ab172da5494e5ac63e952afacfbe2">glm::packSnorm2x16</a></div><div class="ttdeci">GLM_FUNC_DECL uint packSnorm2x16(vec2 const &amp;v)</div><div class="ttdoc">First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...</div></div>
+<div class="ttc" id="a00151_html_gacd8f8971a3fe28418be0d0fa1f786b38"><div class="ttname"><a href="a00151.html#gacd8f8971a3fe28418be0d0fa1f786b38">glm::unpackSnorm2x16</a></div><div class="ttdeci">GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p)</div><div class="ttdoc">First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. </div></div>
+<div class="ttc" id="a00151_html_ga7f903259150b67e9466f5f8edffcd197"><div class="ttname"><a href="a00151.html#ga7f903259150b67e9466f5f8edffcd197">glm::unpackUnorm4x8</a></div><div class="ttdeci">GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p)</div><div class="ttdoc">First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. </div></div>
+<div class="ttc" id="a00157_html_ga9bcffa2d49f28d16f680757b5c0e7c84"><div class="ttname"><a href="a00157.html#ga9bcffa2d49f28d16f680757b5c0e7c84">glm::uvec2</a></div><div class="ttdeci">highp_uvec2 uvec2</div><div class="ttdoc">2 components vector of unsigned integer numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00537">type_vec.hpp:537</a></div></div>
+<div class="ttc" id="a00131_html"><div class="ttname"><a href="a00131.html">type_vec4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00151_html_ga5f4296dc5f12f0aa67ac05b8bb322483"><div class="ttname"><a href="a00151.html#ga5f4296dc5f12f0aa67ac05b8bb322483">glm::unpackDouble2x32</a></div><div class="ttdeci">GLM_FUNC_DECL uvec2 unpackDouble2x32(double v)</div><div class="ttdoc">Returns a two-component unsigned integer vector representation of v. </div></div>
+<div class="ttc" id="a00151_html_ga85e8f17627516445026ab7a9c2e3531a"><div class="ttname"><a href="a00151.html#ga85e8f17627516445026ab7a9c2e3531a">glm::packSnorm4x8</a></div><div class="ttdeci">GLM_FUNC_DECL uint packSnorm4x8(vec4 const &amp;v)</div><div class="ttdoc">First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...</div></div>
+<div class="ttc" id="a00157_html_ga09d0200e8ff86391d8804b4fefd5f1da"><div class="ttname"><a href="a00157.html#ga09d0200e8ff86391d8804b4fefd5f1da">glm::vec2</a></div><div class="ttdeci">highp_vec2 vec2</div><div class="ttdoc">2 components vector of floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00456">type_vec.hpp:456</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00035.html b/src/third_party/glm/doc/api/a00035.html
new file mode 100644
index 0000000..7c3313d
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00035.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_trigonometric.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_trigonometric.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00035_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga58ad259b788528fe0a4bd2eeb5e381cc"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga58ad259b788528fe0a4bd2eeb5e381cc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga58ad259b788528fe0a4bd2eeb5e381cc">acos</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga58ad259b788528fe0a4bd2eeb5e381cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3f368ad3e1883b60748ca2634d816104"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga3f368ad3e1883b60748ca2634d816104"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga3f368ad3e1883b60748ca2634d816104">acosh</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga3f368ad3e1883b60748ca2634d816104"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga88e29b8289e882859d76a25798dd9490"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga88e29b8289e882859d76a25798dd9490"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga88e29b8289e882859d76a25798dd9490">asin</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga88e29b8289e882859d76a25798dd9490"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga72bf44c1984e1afb63acf821ba33cac7"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga72bf44c1984e1afb63acf821ba33cac7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga72bf44c1984e1afb63acf821ba33cac7">asinh</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga72bf44c1984e1afb63acf821ba33cac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga461e769acb8b8cb695a5a89334546611"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga461e769acb8b8cb695a5a89334546611"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a> (vecType&lt; T, P &gt; const &amp;y, vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga461e769acb8b8cb695a5a89334546611"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae8f22458bba8f2321ceb1bfc4a543216"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gae8f22458bba8f2321ceb1bfc4a543216"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gae8f22458bba8f2321ceb1bfc4a543216">atan</a> (vecType&lt; T, P &gt; const &amp;y_over_x)</td></tr>
+<tr class="separator:gae8f22458bba8f2321ceb1bfc4a543216"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaffa8decdd8620759f4e6fe4834768b87"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaffa8decdd8620759f4e6fe4834768b87"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gaffa8decdd8620759f4e6fe4834768b87">atanh</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gaffa8decdd8620759f4e6fe4834768b87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga728fd86f14609e37d83f82429995b7b3"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga728fd86f14609e37d83f82429995b7b3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga728fd86f14609e37d83f82429995b7b3">cos</a> (vecType&lt; T, P &gt; const &amp;angle)</td></tr>
+<tr class="separator:ga728fd86f14609e37d83f82429995b7b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga660582a4e5e843b6c1cd535777e8c295"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga660582a4e5e843b6c1cd535777e8c295"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga660582a4e5e843b6c1cd535777e8c295">cosh</a> (vecType&lt; T, P &gt; const &amp;angle)</td></tr>
+<tr class="separator:ga660582a4e5e843b6c1cd535777e8c295"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabccdcc282134fd62af0ff3d6e4bb21f1"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gabccdcc282134fd62af0ff3d6e4bb21f1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gabccdcc282134fd62af0ff3d6e4bb21f1">degrees</a> (vecType&lt; T, P &gt; const &amp;radians)</td></tr>
+<tr class="separator:gabccdcc282134fd62af0ff3d6e4bb21f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafffb5e533f75318bdf4e0967d8a6c05c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gafffb5e533f75318bdf4e0967d8a6c05c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gafffb5e533f75318bdf4e0967d8a6c05c">radians</a> (vecType&lt; T, P &gt; const &amp;degrees)</td></tr>
+<tr class="separator:gafffb5e533f75318bdf4e0967d8a6c05c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4a0ddceb6b1e64ce0e4da209dcb021d5"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga4a0ddceb6b1e64ce0e4da209dcb021d5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga4a0ddceb6b1e64ce0e4da209dcb021d5">sin</a> (vecType&lt; T, P &gt; const &amp;angle)</td></tr>
+<tr class="separator:ga4a0ddceb6b1e64ce0e4da209dcb021d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad8f89c12efe6f8d3ae8046625b266254"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gad8f89c12efe6f8d3ae8046625b266254"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gad8f89c12efe6f8d3ae8046625b266254">sinh</a> (vecType&lt; T, P &gt; const &amp;angle)</td></tr>
+<tr class="separator:gad8f89c12efe6f8d3ae8046625b266254"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab3ae890c38b7d3aa4d5e00998fd296b2"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gab3ae890c38b7d3aa4d5e00998fd296b2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gab3ae890c38b7d3aa4d5e00998fd296b2">tan</a> (vecType&lt; T, P &gt; const &amp;angle)</td></tr>
+<tr class="separator:gab3ae890c38b7d3aa4d5e00998fd296b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga234e904a0075f88654a594b5f837711f"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga234e904a0075f88654a594b5f837711f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga234e904a0075f88654a594b5f837711f">tanh</a> (vecType&lt; T, P &gt; const &amp;angle)</td></tr>
+<tr class="separator:ga234e904a0075f88654a594b5f837711f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00035_source.html">func_trigonometric.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00035_source.html b/src/third_party/glm/doc/api/a00035_source.html
new file mode 100644
index 0000000..0beb9f9
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00035_source.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_trigonometric.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_trigonometric.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00035.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00098.html">setup.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00085.html">precision.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;{</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vecType&lt;T, P&gt; <a class="code" href="a00152.html#gafffb5e533f75318bdf4e0967d8a6c05c">radians</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00152.html#gabccdcc282134fd62af0ff3d6e4bb21f1">degrees</a>);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        GLM_FUNC_DECL GLM_CONSTEXPR vecType&lt;T, P&gt; <a class="code" href="a00152.html#gabccdcc282134fd62af0ff3d6e4bb21f1">degrees</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00152.html#gafffb5e533f75318bdf4e0967d8a6c05c">radians</a>);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga4a0ddceb6b1e64ce0e4da209dcb021d5">sin</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga728fd86f14609e37d83f82429995b7b3">cos</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#gab3ae890c38b7d3aa4d5e00998fd296b2">tan</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>); </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga88e29b8289e882859d76a25798dd9490">asin</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga58ad259b788528fe0a4bd2eeb5e381cc">acos</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#gae8f22458bba8f2321ceb1bfc4a543216">atan</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#gae8f22458bba8f2321ceb1bfc4a543216">atan</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y_over_x);</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#gad8f89c12efe6f8d3ae8046625b266254">sinh</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga660582a4e5e843b6c1cd535777e8c295">cosh</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga234e904a0075f88654a594b5f837711f">tanh</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga72bf44c1984e1afb63acf821ba33cac7">asinh</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        </div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#ga3f368ad3e1883b60748ca2634d816104">acosh</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00152.html#gaffa8decdd8620759f4e6fe4834768b87">atanh</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#include &quot;func_trigonometric.inl&quot;</span></div>
+<div class="ttc" id="a00152_html_gab3ae890c38b7d3aa4d5e00998fd296b2"><div class="ttname"><a href="a00152.html#gab3ae890c38b7d3aa4d5e00998fd296b2">glm::tan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; tan(vecType&lt; T, P &gt; const &amp;angle)</div><div class="ttdoc">The standard trigonometric tangent function. </div></div>
+<div class="ttc" id="a00152_html_ga4a0ddceb6b1e64ce0e4da209dcb021d5"><div class="ttname"><a href="a00152.html#ga4a0ddceb6b1e64ce0e4da209dcb021d5">glm::sin</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; sin(vecType&lt; T, P &gt; const &amp;angle)</div><div class="ttdoc">The standard trigonometric sine function. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00152_html_gae8f22458bba8f2321ceb1bfc4a543216"><div class="ttname"><a href="a00152.html#gae8f22458bba8f2321ceb1bfc4a543216">glm::atan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; atan(vecType&lt; T, P &gt; const &amp;y_over_x)</div><div class="ttdoc">Arc tangent. </div></div>
+<div class="ttc" id="a00152_html_gaffa8decdd8620759f4e6fe4834768b87"><div class="ttname"><a href="a00152.html#gaffa8decdd8620759f4e6fe4834768b87">glm::atanh</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; atanh(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Arc hyperbolic tangent; returns the inverse of tanh. </div></div>
+<div class="ttc" id="a00152_html_ga660582a4e5e843b6c1cd535777e8c295"><div class="ttname"><a href="a00152.html#ga660582a4e5e843b6c1cd535777e8c295">glm::cosh</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; cosh(vecType&lt; T, P &gt; const &amp;angle)</div><div class="ttdoc">Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2. </div></div>
+<div class="ttc" id="a00152_html_gad8f89c12efe6f8d3ae8046625b266254"><div class="ttname"><a href="a00152.html#gad8f89c12efe6f8d3ae8046625b266254">glm::sinh</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; sinh(vecType&lt; T, P &gt; const &amp;angle)</div><div class="ttdoc">Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2. </div></div>
+<div class="ttc" id="a00152_html_ga58ad259b788528fe0a4bd2eeb5e381cc"><div class="ttname"><a href="a00152.html#ga58ad259b788528fe0a4bd2eeb5e381cc">glm::acos</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; acos(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Arc cosine. </div></div>
+<div class="ttc" id="a00152_html_ga72bf44c1984e1afb63acf821ba33cac7"><div class="ttname"><a href="a00152.html#ga72bf44c1984e1afb63acf821ba33cac7">glm::asinh</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; asinh(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Arc hyperbolic sine; returns the inverse of sinh. </div></div>
+<div class="ttc" id="a00098_html"><div class="ttname"><a href="a00098.html">setup.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00152_html_gabccdcc282134fd62af0ff3d6e4bb21f1"><div class="ttname"><a href="a00152.html#gabccdcc282134fd62af0ff3d6e4bb21f1">glm::degrees</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vecType&lt; T, P &gt; degrees(vecType&lt; T, P &gt; const &amp;radians)</div><div class="ttdoc">Converts radians to degrees and returns the result. </div></div>
+<div class="ttc" id="a00172_html_gad4a4448baedb198b2b1e7880d2544dc9"><div class="ttname"><a href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the quaternion rotation angle. </div></div>
+<div class="ttc" id="a00152_html_ga88e29b8289e882859d76a25798dd9490"><div class="ttname"><a href="a00152.html#ga88e29b8289e882859d76a25798dd9490">glm::asin</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; asin(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Arc sine. </div></div>
+<div class="ttc" id="a00152_html_ga234e904a0075f88654a594b5f837711f"><div class="ttname"><a href="a00152.html#ga234e904a0075f88654a594b5f837711f">glm::tanh</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; tanh(vecType&lt; T, P &gt; const &amp;angle)</div><div class="ttdoc">Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) </div></div>
+<div class="ttc" id="a00152_html_ga3f368ad3e1883b60748ca2634d816104"><div class="ttname"><a href="a00152.html#ga3f368ad3e1883b60748ca2634d816104">glm::acosh</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; acosh(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Arc hyperbolic cosine; returns the non-negative inverse of cosh. </div></div>
+<div class="ttc" id="a00152_html_ga728fd86f14609e37d83f82429995b7b3"><div class="ttname"><a href="a00152.html#ga728fd86f14609e37d83f82429995b7b3">glm::cos</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; cos(vecType&lt; T, P &gt; const &amp;angle)</div><div class="ttdoc">The standard trigonometric cosine function. </div></div>
+<div class="ttc" id="a00085_html"><div class="ttname"><a href="a00085.html">precision.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00152_html_gafffb5e533f75318bdf4e0967d8a6c05c"><div class="ttname"><a href="a00152.html#gafffb5e533f75318bdf4e0967d8a6c05c">glm::radians</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR vecType&lt; T, P &gt; radians(vecType&lt; T, P &gt; const &amp;degrees)</div><div class="ttdoc">Converts degrees to radians and returns the result. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00036.html b/src/third_party/glm/doc/api/a00036.html
new file mode 100644
index 0000000..d05b9de
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00036.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_vector_relational.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">func_vector_relational.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00036_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga14bbc94f2ae2774a1d64d91f8767773e"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga14bbc94f2ae2774a1d64d91f8767773e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga14bbc94f2ae2774a1d64d91f8767773e">all</a> (vecType&lt; bool, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga14bbc94f2ae2774a1d64d91f8767773e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga632a2644532d9332011c8860400d30b2"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga632a2644532d9332011c8860400d30b2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga632a2644532d9332011c8860400d30b2">any</a> (vecType&lt; bool, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga632a2644532d9332011c8860400d30b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga39c80d8baf49b0ce69f2bb22d45b3801"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga39c80d8baf49b0ce69f2bb22d45b3801"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga39c80d8baf49b0ce69f2bb22d45b3801">equal</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga39c80d8baf49b0ce69f2bb22d45b3801"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadd80263161a308462d3e3e287e79cccd"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gadd80263161a308462d3e3e287e79cccd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gadd80263161a308462d3e3e287e79cccd">greaterThan</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:gadd80263161a308462d3e3e287e79cccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaee7e101f8cc4ea43924f14dcdeb2ef26"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaee7e101f8cc4ea43924f14dcdeb2ef26"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaee7e101f8cc4ea43924f14dcdeb2ef26">greaterThanEqual</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:gaee7e101f8cc4ea43924f14dcdeb2ef26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6261970937a70b0b747ae0d3ade1c188"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga6261970937a70b0b747ae0d3ade1c188"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga6261970937a70b0b747ae0d3ade1c188">lessThan</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga6261970937a70b0b747ae0d3ade1c188"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaf1d88119f11200c32011de7c5ec0102"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaaf1d88119f11200c32011de7c5ec0102"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#gaaf1d88119f11200c32011de7c5ec0102">lessThanEqual</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:gaaf1d88119f11200c32011de7c5ec0102"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4329ecbc2ef012c9ec704bd09da1f177"><td class="memTemplParams" colspan="2">template&lt;precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga4329ecbc2ef012c9ec704bd09da1f177"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga4329ecbc2ef012c9ec704bd09da1f177">not_</a> (vecType&lt; bool, P &gt; const &amp;v)</td></tr>
+<tr class="separator:ga4329ecbc2ef012c9ec704bd09da1f177"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5aca2b745e5eb0096716bbc394846309"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga5aca2b745e5eb0096716bbc394846309"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; bool, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00153.html#ga5aca2b745e5eb0096716bbc394846309">notEqual</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:ga5aca2b745e5eb0096716bbc394846309"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.7 Vector Relational Functions</a> </dd></dl>
+
+<p>Definition in file <a class="el" href="a00036_source.html">func_vector_relational.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00036_source.html b/src/third_party/glm/doc/api/a00036_source.html
new file mode 100644
index 0000000..6ee0fa2
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00036_source.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: func_vector_relational.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">func_vector_relational.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00036.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00085.html">precision.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00098.html">setup.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;{</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#ga6261970937a70b0b747ae0d3ade1c188">lessThan</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#gaaf1d88119f11200c32011de7c5ec0102">lessThanEqual</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#gadd80263161a308462d3e3e287e79cccd">greaterThan</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#gaee7e101f8cc4ea43924f14dcdeb2ef26">greaterThanEqual</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#ga39c80d8baf49b0ce69f2bb22d45b3801">equal</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#ga5aca2b745e5eb0096716bbc394846309">notEqual</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00153.html#ga632a2644532d9332011c8860400d30b2">any</a>(vecType&lt;bool, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00153.html#ga14bbc94f2ae2774a1d64d91f8767773e">all</a>(vecType&lt;bool, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        <span class="keyword">template</span> &lt;precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        GLM_FUNC_DECL vecType&lt;bool, P&gt; <a class="code" href="a00153.html#ga4329ecbc2ef012c9ec704bd09da1f177">not_</a>(vecType&lt;bool, P&gt; <span class="keyword">const</span> &amp; v);</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#include &quot;func_vector_relational.inl&quot;</span></div>
+<div class="ttc" id="a00153_html_ga5aca2b745e5eb0096716bbc394846309"><div class="ttname"><a href="a00153.html#ga5aca2b745e5eb0096716bbc394846309">glm::notEqual</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; notEqual(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x != y. </div></div>
+<div class="ttc" id="a00153_html_gadd80263161a308462d3e3e287e79cccd"><div class="ttname"><a href="a00153.html#gadd80263161a308462d3e3e287e79cccd">glm::greaterThan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; greaterThan(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x > y. </div></div>
+<div class="ttc" id="a00153_html_ga39c80d8baf49b0ce69f2bb22d45b3801"><div class="ttname"><a href="a00153.html#ga39c80d8baf49b0ce69f2bb22d45b3801">glm::equal</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; equal(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x == y. </div></div>
+<div class="ttc" id="a00153_html_ga6261970937a70b0b747ae0d3ade1c188"><div class="ttname"><a href="a00153.html#ga6261970937a70b0b747ae0d3ade1c188">glm::lessThan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; lessThan(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison result of x < y. </div></div>
+<div class="ttc" id="a00153_html_ga632a2644532d9332011c8860400d30b2"><div class="ttname"><a href="a00153.html#ga632a2644532d9332011c8860400d30b2">glm::any</a></div><div class="ttdeci">GLM_FUNC_DECL bool any(vecType&lt; bool, P &gt; const &amp;v)</div><div class="ttdoc">Returns true if any component of x is true. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00153_html_gaee7e101f8cc4ea43924f14dcdeb2ef26"><div class="ttname"><a href="a00153.html#gaee7e101f8cc4ea43924f14dcdeb2ef26">glm::greaterThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; greaterThanEqual(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x >= y. </div></div>
+<div class="ttc" id="a00098_html"><div class="ttname"><a href="a00098.html">setup.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00153_html_ga14bbc94f2ae2774a1d64d91f8767773e"><div class="ttname"><a href="a00153.html#ga14bbc94f2ae2774a1d64d91f8767773e">glm::all</a></div><div class="ttdeci">GLM_FUNC_DECL bool all(vecType&lt; bool, P &gt; const &amp;v)</div><div class="ttdoc">Returns true if all components of x are true. </div></div>
+<div class="ttc" id="a00153_html_gaaf1d88119f11200c32011de7c5ec0102"><div class="ttname"><a href="a00153.html#gaaf1d88119f11200c32011de7c5ec0102">glm::lessThanEqual</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; lessThanEqual(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</div><div class="ttdoc">Returns the component-wise comparison of result x <= y. </div></div>
+<div class="ttc" id="a00085_html"><div class="ttname"><a href="a00085.html">precision.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00153_html_ga4329ecbc2ef012c9ec704bd09da1f177"><div class="ttname"><a href="a00153.html#ga4329ecbc2ef012c9ec704bd09da1f177">glm::not_</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; bool, P &gt; not_(vecType&lt; bool, P &gt; const &amp;v)</div><div class="ttdoc">Returns the component-wise logical complement of x. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00037.html b/src/third_party/glm/doc/api/a00037.html
new file mode 100644
index 0000000..61979e1
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00037.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: functions.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">functions.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00037_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga0b50b197ff74261a0fad90f4b8d24702"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga0b50b197ff74261a0fad90f4b8d24702"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00164.html#ga0b50b197ff74261a0fad90f4b8d24702">gauss</a> (T x, T ExpectedValue, T StandardDeviation)</td></tr>
+<tr class="separator:ga0b50b197ff74261a0fad90f4b8d24702"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7448f9eb74bb5924f6330ab532f2899c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga7448f9eb74bb5924f6330ab532f2899c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00164.html#ga7448f9eb74bb5924f6330ab532f2899c">gauss</a> (tvec2&lt; T, P &gt; const &amp;Coord, tvec2&lt; T, P &gt; const &amp;ExpectedValue, tvec2&lt; T, P &gt; const &amp;StandardDeviation)</td></tr>
+<tr class="separator:ga7448f9eb74bb5924f6330ab532f2899c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00164.html">GLM_GTC_functions</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+gtc_half_float (dependence) </dd>
+<dd>
+<a class="el" href="a00172.html" title="Defines a templated quaternion type and several quaternion operations. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00037_source.html">functions.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00037_source.html b/src/third_party/glm/doc/api/a00037_source.html
new file mode 100644
index 0000000..ea52ded
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00037_source.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: functions.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">functions.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00037.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../detail/type_vec2.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_functions extension included&quot;)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00164.html#ga7448f9eb74bb5924f6330ab532f2899c">gauss</a>(</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                T x,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                T ExpectedValue,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                T StandardDeviation);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00164.html#ga7448f9eb74bb5924f6330ab532f2899c">gauss</a>(</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span>&amp; Coord,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span>&amp; ExpectedValue,</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span>&amp; StandardDeviation);</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &quot;functions.inl&quot;</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00164_html_ga7448f9eb74bb5924f6330ab532f2899c"><div class="ttname"><a href="a00164.html#ga7448f9eb74bb5924f6330ab532f2899c">glm::gauss</a></div><div class="ttdeci">GLM_FUNC_DECL T gauss(tvec2&lt; T, P &gt; const &amp;Coord, tvec2&lt; T, P &gt; const &amp;ExpectedValue, tvec2&lt; T, P &gt; const &amp;StandardDeviation)</div><div class="ttdoc">2D gauss function </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00038.html b/src/third_party/glm/doc/api/a00038.html
new file mode 100644
index 0000000..9573eab
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00038.html
@@ -0,0 +1,979 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fwd.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<div class="title">fwd.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00038_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:af62ed3862b7f5db4da71756a7b1367be"><td class="memItemLeft" align="right" valign="top">typedef highp_dquat&#160;</td><td class="memItemRight" valign="bottom"><b>dquat</b></td></tr>
+<tr class="separator:af62ed3862b7f5db4da71756a7b1367be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabe6a542dd6c1d5ffd847f1b9b4c9c9b7"><td class="memItemLeft" align="right" valign="top">typedef highp_float32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7">f32</a></td></tr>
+<tr class="separator:gabe6a542dd6c1d5ffd847f1b9b4c9c9b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1fedd5d29746afdaf2d3303a4442704e"><td class="memItemLeft" align="right" valign="top">typedef f32mat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1fedd5d29746afdaf2d3303a4442704e">f32mat2</a></td></tr>
+<tr class="separator:ga1fedd5d29746afdaf2d3303a4442704e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf3a5016bf360977ce114deb2e01ae10a"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf3a5016bf360977ce114deb2e01ae10a">f32mat2x2</a></td></tr>
+<tr class="separator:gaf3a5016bf360977ce114deb2e01ae10a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad5f1043adbe803928fe7bf1a90a1f767"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad5f1043adbe803928fe7bf1a90a1f767">f32mat2x3</a></td></tr>
+<tr class="separator:gad5f1043adbe803928fe7bf1a90a1f767"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5ed667d0247cce477f013ea31982843d"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga5ed667d0247cce477f013ea31982843d">f32mat2x4</a></td></tr>
+<tr class="separator:ga5ed667d0247cce477f013ea31982843d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf4377997b299a287f7ab3358c9bd3e4c"><td class="memItemLeft" align="right" valign="top">typedef f32mat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf4377997b299a287f7ab3358c9bd3e4c">f32mat3</a></td></tr>
+<tr class="separator:gaf4377997b299a287f7ab3358c9bd3e4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8709a1ea268fa69bdf1e11616d7fbaf1"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8709a1ea268fa69bdf1e11616d7fbaf1">f32mat3x2</a></td></tr>
+<tr class="separator:ga8709a1ea268fa69bdf1e11616d7fbaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1e4c52bb824ca16c6e2e5b03635669d0"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1e4c52bb824ca16c6e2e5b03635669d0">f32mat3x3</a></td></tr>
+<tr class="separator:ga1e4c52bb824ca16c6e2e5b03635669d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0100666c90176eaba80e49357d123c7f"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga0100666c90176eaba80e49357d123c7f">f32mat3x4</a></td></tr>
+<tr class="separator:ga0100666c90176eaba80e49357d123c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga797fa3ab16e04456174c36238e091341"><td class="memItemLeft" align="right" valign="top">typedef f32mat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga797fa3ab16e04456174c36238e091341">f32mat4</a></td></tr>
+<tr class="separator:ga797fa3ab16e04456174c36238e091341"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga27f897bdfe4bbded9481b8947553d1ff"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga27f897bdfe4bbded9481b8947553d1ff">f32mat4x2</a></td></tr>
+<tr class="separator:ga27f897bdfe4bbded9481b8947553d1ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa69e73ffb01a52499071391d395908fb"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa69e73ffb01a52499071391d395908fb">f32mat4x3</a></td></tr>
+<tr class="separator:gaa69e73ffb01a52499071391d395908fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafe2e08549805a7ded26da2a868bedbf5"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gafe2e08549805a7ded26da2a868bedbf5">f32mat4x4</a></td></tr>
+<tr class="separator:gafe2e08549805a7ded26da2a868bedbf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6966c0cb4673928c9c9da2e91006d2c0"><td class="memItemLeft" align="right" valign="top">typedef highp_f32quat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga6966c0cb4673928c9c9da2e91006d2c0">f32quat</a></td></tr>
+<tr class="separator:ga6966c0cb4673928c9c9da2e91006d2c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3174a49dc84a977cad7012a62f4af02f"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3174a49dc84a977cad7012a62f4af02f">f32vec1</a></td></tr>
+<tr class="separator:ga3174a49dc84a977cad7012a62f4af02f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae0cb53ea6fe3d977fe588ce423d57cc3"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gae0cb53ea6fe3d977fe588ce423d57cc3">f32vec2</a></td></tr>
+<tr class="separator:gae0cb53ea6fe3d977fe588ce423d57cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga19d5e0d4d3d6d226c9c6c0f39756f9ad"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga19d5e0d4d3d6d226c9c6c0f39756f9ad">f32vec3</a></td></tr>
+<tr class="separator:ga19d5e0d4d3d6d226c9c6c0f39756f9ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb25dbb0261f82cb08da23e26d343704"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaeb25dbb0261f82cb08da23e26d343704">f32vec4</a></td></tr>
+<tr class="separator:gaeb25dbb0261f82cb08da23e26d343704"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1d794d240091678f602e8de225b8d8c9"><td class="memItemLeft" align="right" valign="top">typedef highp_float64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1d794d240091678f602e8de225b8d8c9">f64</a></td></tr>
+<tr class="separator:ga1d794d240091678f602e8de225b8d8c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga74b9918c90ea60ce58b3979cde963a38"><td class="memItemLeft" align="right" valign="top">typedef f64mat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga74b9918c90ea60ce58b3979cde963a38">f64mat2</a></td></tr>
+<tr class="separator:ga74b9918c90ea60ce58b3979cde963a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb817419c76a0766c88713d2754e6cb3"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaeb817419c76a0766c88713d2754e6cb3">f64mat2x2</a></td></tr>
+<tr class="separator:gaeb817419c76a0766c88713d2754e6cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga87d256f4719417e311cd0ea14264678d"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat2x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga87d256f4719417e311cd0ea14264678d">f64mat2x3</a></td></tr>
+<tr class="separator:ga87d256f4719417e311cd0ea14264678d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafb18822e2eac88fa861a76cefd25d550"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat2x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gafb18822e2eac88fa861a76cefd25d550">f64mat2x4</a></td></tr>
+<tr class="separator:gafb18822e2eac88fa861a76cefd25d550"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga68894201dd511792a7af6cff7b5adf71"><td class="memItemLeft" align="right" valign="top">typedef f64mat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga68894201dd511792a7af6cff7b5adf71">f64mat3</a></td></tr>
+<tr class="separator:ga68894201dd511792a7af6cff7b5adf71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga11e5684b10e098f573ff484c1a569ae2"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat3x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga11e5684b10e098f573ff484c1a569ae2">f64mat3x2</a></td></tr>
+<tr class="separator:ga11e5684b10e098f573ff484c1a569ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae1a5081181c96cc37ce9418f6e856cb6"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gae1a5081181c96cc37ce9418f6e856cb6">f64mat3x3</a></td></tr>
+<tr class="separator:gae1a5081181c96cc37ce9418f6e856cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad37a55a8ce1154083a721b4ecfd55293"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat3x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad37a55a8ce1154083a721b4ecfd55293">f64mat3x4</a></td></tr>
+<tr class="separator:gad37a55a8ce1154083a721b4ecfd55293"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga219c683b0aa29f4f482f76d77d5c9e95"><td class="memItemLeft" align="right" valign="top">typedef f64mat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga219c683b0aa29f4f482f76d77d5c9e95">f64mat4</a></td></tr>
+<tr class="separator:ga219c683b0aa29f4f482f76d77d5c9e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa669dfb59031a441de19b34a92704d57"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat4x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa669dfb59031a441de19b34a92704d57">f64mat4x2</a></td></tr>
+<tr class="separator:gaa669dfb59031a441de19b34a92704d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaba137814a509704937746cc1e82edc32"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat4x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaba137814a509704937746cc1e82edc32">f64mat4x3</a></td></tr>
+<tr class="separator:gaba137814a509704937746cc1e82edc32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga489163773b021f1800a33cc2fa730c3b"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga489163773b021f1800a33cc2fa730c3b">f64mat4x4</a></td></tr>
+<tr class="separator:ga489163773b021f1800a33cc2fa730c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga14c583bd625eda8cf4935a14d5dd544d"><td class="memItemLeft" align="right" valign="top">typedef highp_f64quat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga14c583bd625eda8cf4935a14d5dd544d">f64quat</a></td></tr>
+<tr class="separator:ga14c583bd625eda8cf4935a14d5dd544d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac5b04f32ae3084a9131a0851e7f4cfae"><td class="memItemLeft" align="right" valign="top">typedef highp_f64vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gac5b04f32ae3084a9131a0851e7f4cfae">f64vec1</a></td></tr>
+<tr class="separator:gac5b04f32ae3084a9131a0851e7f4cfae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafaad77b464b5a35626c31205ac6780e3"><td class="memItemLeft" align="right" valign="top">typedef highp_f64vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gafaad77b464b5a35626c31205ac6780e3">f64vec2</a></td></tr>
+<tr class="separator:gafaad77b464b5a35626c31205ac6780e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafacc3614bb1136a7756293e67d34de22"><td class="memItemLeft" align="right" valign="top">typedef highp_f64vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gafacc3614bb1136a7756293e67d34de22">f64vec3</a></td></tr>
+<tr class="separator:gafacc3614bb1136a7756293e67d34de22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8723186104dc02eb85da386105fba75f"><td class="memItemLeft" align="right" valign="top">typedef highp_f64vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8723186104dc02eb85da386105fba75f">f64vec4</a></td></tr>
+<tr class="separator:ga8723186104dc02eb85da386105fba75f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga41d579d81c3d98edd0532244fa02da77"><td class="memItemLeft" align="right" valign="top">typedef highp_float32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga41d579d81c3d98edd0532244fa02da77">float32_t</a></td></tr>
+<tr class="separator:ga41d579d81c3d98edd0532244fa02da77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6957c7b22f405683bb276554ca40dc37"><td class="memItemLeft" align="right" valign="top">typedef highp_float64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga6957c7b22f405683bb276554ca40dc37">float64_t</a></td></tr>
+<tr class="separator:ga6957c7b22f405683bb276554ca40dc37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabb01d4ff646ee07241934b1a0cc0f985"><td class="memItemLeft" align="right" valign="top">typedef fmat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gabb01d4ff646ee07241934b1a0cc0f985">fmat2</a></td></tr>
+<tr class="separator:gabb01d4ff646ee07241934b1a0cc0f985"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga74ac2e71b650162d8f7cb2a70c2f6711"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga74ac2e71b650162d8f7cb2a70c2f6711">fmat2x2</a></td></tr>
+<tr class="separator:ga74ac2e71b650162d8f7cb2a70c2f6711"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf17b2604c0d92bffb92375d8aa588756"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf17b2604c0d92bffb92375d8aa588756">fmat2x3</a></td></tr>
+<tr class="separator:gaf17b2604c0d92bffb92375d8aa588756"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga709c97c20efa24ff1d9e83cd437b8ed5"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga709c97c20efa24ff1d9e83cd437b8ed5">fmat2x4</a></td></tr>
+<tr class="separator:ga709c97c20efa24ff1d9e83cd437b8ed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5165fbee2d78f342950265b69a07353d"><td class="memItemLeft" align="right" valign="top">typedef fmat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga5165fbee2d78f342950265b69a07353d">fmat3</a></td></tr>
+<tr class="separator:ga5165fbee2d78f342950265b69a07353d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9f20af6e8eca2abdcde08408948cc1ca"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga9f20af6e8eca2abdcde08408948cc1ca">fmat3x2</a></td></tr>
+<tr class="separator:ga9f20af6e8eca2abdcde08408948cc1ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad339e25c32fe6665acf028f26c1b3e22"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad339e25c32fe6665acf028f26c1b3e22">fmat3x3</a></td></tr>
+<tr class="separator:gad339e25c32fe6665acf028f26c1b3e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab04bc97371cb6b5f54b3688e0c81578b"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gab04bc97371cb6b5f54b3688e0c81578b">fmat3x4</a></td></tr>
+<tr class="separator:gab04bc97371cb6b5f54b3688e0c81578b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab3f31d867df4874e42172ebf188a3ebd"><td class="memItemLeft" align="right" valign="top">typedef fmat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gab3f31d867df4874e42172ebf188a3ebd">fmat4</a></td></tr>
+<tr class="separator:gab3f31d867df4874e42172ebf188a3ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab0082a25f19f02d2d0af0fcbe5ead732"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gab0082a25f19f02d2d0af0fcbe5ead732">fmat4x2</a></td></tr>
+<tr class="separator:gab0082a25f19f02d2d0af0fcbe5ead732"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1a11c170f030ab34ddf037714e936cba"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1a11c170f030ab34ddf037714e936cba">fmat4x3</a></td></tr>
+<tr class="separator:ga1a11c170f030ab34ddf037714e936cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabd79752ff357d83b49136b6299ea62d9"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gabd79752ff357d83b49136b6299ea62d9">fmat4x4</a></td></tr>
+<tr class="separator:gabd79752ff357d83b49136b6299ea62d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af31dbba5cedde97099c8e30b9661edf0"><td class="memItemLeft" align="right" valign="top">typedef quat&#160;</td><td class="memItemRight" valign="bottom"><b>fquat</b></td></tr>
+<tr class="separator:af31dbba5cedde97099c8e30b9661edf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga10d8bd3c923a5386efcf25a4117fd84f"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga10d8bd3c923a5386efcf25a4117fd84f">fvec1</a></td></tr>
+<tr class="separator:ga10d8bd3c923a5386efcf25a4117fd84f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf9f4173dd9e8b2d0b663c6f80ed09ff6"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf9f4173dd9e8b2d0b663c6f80ed09ff6">fvec2</a></td></tr>
+<tr class="separator:gaf9f4173dd9e8b2d0b663c6f80ed09ff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4ef2d77dcab241b1ef83f09edb2f1084"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga4ef2d77dcab241b1ef83f09edb2f1084">fvec3</a></td></tr>
+<tr class="separator:ga4ef2d77dcab241b1ef83f09edb2f1084"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga981b63d5c5f7233a29364e0a968d139b"><td class="memItemLeft" align="right" valign="top">typedef highp_f32vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga981b63d5c5f7233a29364e0a968d139b">fvec4</a></td></tr>
+<tr class="separator:ga981b63d5c5f7233a29364e0a968d139b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30d694434c136946d9f98c8baa3d40a1"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; double, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_dquat</b></td></tr>
+<tr class="separator:a30d694434c136946d9f98c8baa3d40a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6906e1ef0b34064b4b675489c5c38725"><td class="memItemLeft" align="right" valign="top">typedef float32&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32</b></td></tr>
+<tr class="separator:a6906e1ef0b34064b4b675489c5c38725"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a298f7d4d273678d0282812368da27fda"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat2</b></td></tr>
+<tr class="separator:a298f7d4d273678d0282812368da27fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abca6420c08917f60f9c76a924c3fa9ef"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat2x2</b></td></tr>
+<tr class="separator:abca6420c08917f60f9c76a924c3fa9ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05a62dfea812122ea4a07ca23f9200a3"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat2x3</b></td></tr>
+<tr class="separator:a05a62dfea812122ea4a07ca23f9200a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ac9c94767805c13008b5ad3ceeb48b0"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat2x4</b></td></tr>
+<tr class="separator:a5ac9c94767805c13008b5ad3ceeb48b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24f9ef3263b1638564713892cc37981f"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat3</b></td></tr>
+<tr class="separator:a24f9ef3263b1638564713892cc37981f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ac1c27267fb7e42ab4d16a60bc37d12"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat3x2</b></td></tr>
+<tr class="separator:a0ac1c27267fb7e42ab4d16a60bc37d12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb88d894a02f3c506e7895a364acf329"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat3x3</b></td></tr>
+<tr class="separator:aeb88d894a02f3c506e7895a364acf329"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2270e71161b53344ef300feea86ce8f8"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat3x4</b></td></tr>
+<tr class="separator:a2270e71161b53344ef300feea86ce8f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14c90ca49885723f51d06e295587236f"><td class="memItemLeft" align="right" valign="top">typedef highp_f32mat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat4</b></td></tr>
+<tr class="separator:a14c90ca49885723f51d06e295587236f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bbfbe5348102c80ff5ec5b25a8552e8"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat4x2</b></td></tr>
+<tr class="separator:a5bbfbe5348102c80ff5ec5b25a8552e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ccff35ecac00891d63998ace1369cf8"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat4x3</b></td></tr>
+<tr class="separator:a7ccff35ecac00891d63998ace1369cf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ab79fc2711ccd850f42d5e816012397"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32mat4x4</b></td></tr>
+<tr class="separator:a0ab79fc2711ccd850f42d5e816012397"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe379321f08ebc6fc89563908f3e4cda"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32quat</b></td></tr>
+<tr class="separator:abe379321f08ebc6fc89563908f3e4cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f40d1860ed9eb243181e025bfb5c479"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32vec1</b></td></tr>
+<tr class="separator:a0f40d1860ed9eb243181e025bfb5c479"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51a457bcd2c0840cac5dd18b6547a32e"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32vec2</b></td></tr>
+<tr class="separator:a51a457bcd2c0840cac5dd18b6547a32e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78bfcaf2c007f183c973e6f46b8a9b0a"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32vec3</b></td></tr>
+<tr class="separator:a78bfcaf2c007f183c973e6f46b8a9b0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a809699b904d856484f97d3ea89f45ed7"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f32vec4</b></td></tr>
+<tr class="separator:a809699b904d856484f97d3ea89f45ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51d5266017d88f62737c1973923a7cf4"><td class="memItemLeft" align="right" valign="top">typedef float64&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64</b></td></tr>
+<tr class="separator:a51d5266017d88f62737c1973923a7cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7adb92ce8de0afaff01436b039fd924"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat2</b></td></tr>
+<tr class="separator:af7adb92ce8de0afaff01436b039fd924"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af538d136729000563979da800678fcdb"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat2x2</b></td></tr>
+<tr class="separator:af538d136729000563979da800678fcdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d56d15ebc86c890d91b7a77415945d6"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat2x3</b></td></tr>
+<tr class="separator:a7d56d15ebc86c890d91b7a77415945d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac451118b55d9c1c8645a13dc905da2ef"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat2x4</b></td></tr>
+<tr class="separator:ac451118b55d9c1c8645a13dc905da2ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a609bf0ace941d6ab1bb2f9522a04e546"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat3</b></td></tr>
+<tr class="separator:a609bf0ace941d6ab1bb2f9522a04e546"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9b193febd3179de366dfa1ba31ee6ce"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat3x2</b></td></tr>
+<tr class="separator:ae9b193febd3179de366dfa1ba31ee6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b24baf9696ed586df64253fb58404af"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat3x3</b></td></tr>
+<tr class="separator:a5b24baf9696ed586df64253fb58404af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cbe7df03752d9ade687d4eaf9e2498e"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat3x4</b></td></tr>
+<tr class="separator:a7cbe7df03752d9ade687d4eaf9e2498e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad308e0ed27d64daa4213fb257fcbd5a5"><td class="memItemLeft" align="right" valign="top">typedef highp_f64mat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat4</b></td></tr>
+<tr class="separator:ad308e0ed27d64daa4213fb257fcbd5a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa65ad618b70fa8a2d6412d084c6abf3"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat4x2</b></td></tr>
+<tr class="separator:afa65ad618b70fa8a2d6412d084c6abf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b7feceabacde08ca13d1f5ef120d128"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat4x3</b></td></tr>
+<tr class="separator:a4b7feceabacde08ca13d1f5ef120d128"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a097940f00a411b5982c35ed5ee66974d"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64mat4x4</b></td></tr>
+<tr class="separator:a097940f00a411b5982c35ed5ee66974d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab51c057647a12b62a8a6a855ece8d167"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64quat</b></td></tr>
+<tr class="separator:ab51c057647a12b62a8a6a855ece8d167"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89237ecd4974b66bfeca50946f41e9c1"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64vec1</b></td></tr>
+<tr class="separator:a89237ecd4974b66bfeca50946f41e9c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89dc53052e92cfafd97ecd391397baf0"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64vec2</b></td></tr>
+<tr class="separator:a89dc53052e92cfafd97ecd391397baf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec720296a0a21668a2ed5a1d5f139169"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64vec3</b></td></tr>
+<tr class="separator:aec720296a0a21668a2ed5a1d5f139169"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d2488c3fb459e4646405e1156e2e00c"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; f64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_f64vec4</b></td></tr>
+<tr class="separator:a0d2488c3fb459e4646405e1156e2e00c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adde4415e846cff13c6cb74a6fe73d01e"><td class="memItemLeft" align="right" valign="top">typedef detail::float32&#160;</td><td class="memItemRight" valign="bottom"><b>highp_float32</b></td></tr>
+<tr class="separator:adde4415e846cff13c6cb74a6fe73d01e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52ccfbf2e504ae2e5abcf2ad93b4f4a2"><td class="memItemLeft" align="right" valign="top">typedef detail::float32&#160;</td><td class="memItemRight" valign="bottom"><b>highp_float32_t</b></td></tr>
+<tr class="separator:a52ccfbf2e504ae2e5abcf2ad93b4f4a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9b1ba717a8b1e9a7b028ac98d9998d3"><td class="memItemLeft" align="right" valign="top">typedef detail::float64&#160;</td><td class="memItemRight" valign="bottom"><b>highp_float64</b></td></tr>
+<tr class="separator:ae9b1ba717a8b1e9a7b028ac98d9998d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a982f41429168a9f2d557500008b0ec22"><td class="memItemLeft" align="right" valign="top">typedef detail::float64&#160;</td><td class="memItemRight" valign="bottom"><b>highp_float64_t</b></td></tr>
+<tr class="separator:a982f41429168a9f2d557500008b0ec22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae98c88d9a7befa9b5877f49176225535"><td class="memItemLeft" align="right" valign="top">typedef highp_fmat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat2</b></td></tr>
+<tr class="separator:ae98c88d9a7befa9b5877f49176225535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7af72bc0af9dbd21139d6dc5f66ac5be"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat2x2</b></td></tr>
+<tr class="separator:a7af72bc0af9dbd21139d6dc5f66ac5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb7ad165be67b8607d6fcac71a913f0b"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat2x3</b></td></tr>
+<tr class="separator:adb7ad165be67b8607d6fcac71a913f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b10e8ada3693b02f55095efa35fdd8b"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat2x4</b></td></tr>
+<tr class="separator:a3b10e8ada3693b02f55095efa35fdd8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed2dc69e0d507d4191092dbd44b3eb75"><td class="memItemLeft" align="right" valign="top">typedef highp_fmat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat3</b></td></tr>
+<tr class="separator:aed2dc69e0d507d4191092dbd44b3eb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24225ab930d68cda78866230d5f4c586"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat3x2</b></td></tr>
+<tr class="separator:a24225ab930d68cda78866230d5f4c586"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3de1e02382b33fa458eb55392136f55d"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat3x3</b></td></tr>
+<tr class="separator:a3de1e02382b33fa458eb55392136f55d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a311a121ace2b2d2c1f065cfb0be47092"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat3x4</b></td></tr>
+<tr class="separator:a311a121ace2b2d2c1f065cfb0be47092"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf28443ce0cc0959077ec39b21f32c39"><td class="memItemLeft" align="right" valign="top">typedef highp_fmat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat4</b></td></tr>
+<tr class="separator:abf28443ce0cc0959077ec39b21f32c39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d63d03c71b1749daba2c810037b43cd"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat4x2</b></td></tr>
+<tr class="separator:a2d63d03c71b1749daba2c810037b43cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7458dadd4d573105ea10a4f15660207e"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat4x3</b></td></tr>
+<tr class="separator:a7458dadd4d573105ea10a4f15660207e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c272cfdedd2d9fcea43a1eaecb2a414"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fmat4x4</b></td></tr>
+<tr class="separator:a0c272cfdedd2d9fcea43a1eaecb2a414"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d8bda24be0d5c66b38ceda1a193f0c9"><td class="memItemLeft" align="right" valign="top">typedef highp_quat&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fquat</b></td></tr>
+<tr class="separator:a9d8bda24be0d5c66b38ceda1a193f0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41c7b342ad9a120310e2f52ee14e3c2e"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fvec1</b></td></tr>
+<tr class="separator:a41c7b342ad9a120310e2f52ee14e3c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d93221df334ded08efdb7a231cdfd26"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fvec2</b></td></tr>
+<tr class="separator:a9d93221df334ded08efdb7a231cdfd26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab333adb64d923bf12287f0dbc2f12c7f"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fvec3</b></td></tr>
+<tr class="separator:ab333adb64d923bf12287f0dbc2f12c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad473477b31e48387ad77054dfab93040"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_fvec4</b></td></tr>
+<tr class="separator:ad473477b31e48387ad77054dfab93040"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0336abc2604dd2c20c30e036454b64f8"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga0336abc2604dd2c20c30e036454b64f8">highp_i16</a></td></tr>
+<tr class="separator:ga0336abc2604dd2c20c30e036454b64f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2287f1712b96207a66cc858e930fb77a"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i16vec1</b></td></tr>
+<tr class="separator:a2287f1712b96207a66cc858e930fb77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b1278f471d04b27be00462deeef2e0a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i16vec2</b></td></tr>
+<tr class="separator:a3b1278f471d04b27be00462deeef2e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a232957ed3eea2cddbc313de01a73c958"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i16vec3</b></td></tr>
+<tr class="separator:a232957ed3eea2cddbc313de01a73c958"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b1c2815452029cc1d605e02c754d8bd"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i16vec4</b></td></tr>
+<tr class="separator:a2b1c2815452029cc1d605e02c754d8bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga727675ac6b5d2fc699520e0059735e25"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga727675ac6b5d2fc699520e0059735e25">highp_i32</a></td></tr>
+<tr class="separator:ga727675ac6b5d2fc699520e0059735e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3650f851ca511552052df19fb6cf8f16"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i32vec1</b></td></tr>
+<tr class="separator:a3650f851ca511552052df19fb6cf8f16"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55ae77cc669bc16dce3b56786b3411b9"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i32vec2</b></td></tr>
+<tr class="separator:a55ae77cc669bc16dce3b56786b3411b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac29c6f264de4dc336d31e05f84ce89e4"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i32vec3</b></td></tr>
+<tr class="separator:ac29c6f264de4dc336d31e05f84ce89e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a389eba6c2510da342d7c5890eae6fa03"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i32vec4</b></td></tr>
+<tr class="separator:a389eba6c2510da342d7c5890eae6fa03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac25db6d2b1e2a0f351b77ba3409ac4cd"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gac25db6d2b1e2a0f351b77ba3409ac4cd">highp_i64</a></td></tr>
+<tr class="separator:gac25db6d2b1e2a0f351b77ba3409ac4cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29bc99c6e19f3f6b8820e3f9037416d5"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i64vec1</b></td></tr>
+<tr class="separator:a29bc99c6e19f3f6b8820e3f9037416d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ac957028098e89887a0621d677e1a56"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i64vec2</b></td></tr>
+<tr class="separator:a9ac957028098e89887a0621d677e1a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ccc0e5d538ee4c48d406fb7ae116694"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i64vec3</b></td></tr>
+<tr class="separator:a0ccc0e5d538ee4c48d406fb7ae116694"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a239e24f52398e6f2fa7d8c731072c632"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i64vec4</b></td></tr>
+<tr class="separator:a239e24f52398e6f2fa7d8c731072c632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacb88796f2d08ef253d0345aff20c3aee"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gacb88796f2d08ef253d0345aff20c3aee">highp_i8</a></td></tr>
+<tr class="separator:gacb88796f2d08ef253d0345aff20c3aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af405602f84fa85522d81f08b54354055"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i8vec1</b></td></tr>
+<tr class="separator:af405602f84fa85522d81f08b54354055"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab78a1c49ec73e0113174902ccdac2aab"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i8vec2</b></td></tr>
+<tr class="separator:ab78a1c49ec73e0113174902ccdac2aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a035c5ab8bb99731e0a0cdba9f9e3431a"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i8vec3</b></td></tr>
+<tr class="separator:a035c5ab8bb99731e0a0cdba9f9e3431a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada7a04ea9eaaf01e45e6e8460a4f7abe"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_i8vec4</b></td></tr>
+<tr class="separator:ada7a04ea9eaaf01e45e6e8460a4f7abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5fde0fa4a3852a9dd5d637a92ee74718"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga5fde0fa4a3852a9dd5d637a92ee74718">highp_int16</a></td></tr>
+<tr class="separator:ga5fde0fa4a3852a9dd5d637a92ee74718"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacaea06d0a79ef3172e887a7a6ba434ff"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gacaea06d0a79ef3172e887a7a6ba434ff">highp_int16_t</a></td></tr>
+<tr class="separator:gacaea06d0a79ef3172e887a7a6ba434ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga84ed04b4e0de18c977e932d617e7c223"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga84ed04b4e0de18c977e932d617e7c223">highp_int32</a></td></tr>
+<tr class="separator:ga84ed04b4e0de18c977e932d617e7c223"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2c71c8bd9e2fe7d2e93ca250d8b6157f"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga2c71c8bd9e2fe7d2e93ca250d8b6157f">highp_int32_t</a></td></tr>
+<tr class="separator:ga2c71c8bd9e2fe7d2e93ca250d8b6157f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga226a8d52b4e3f77aaa6231135e886aac"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga226a8d52b4e3f77aaa6231135e886aac">highp_int64</a></td></tr>
+<tr class="separator:ga226a8d52b4e3f77aaa6231135e886aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga73c6abb280a45feeff60f9accaee91f3"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga73c6abb280a45feeff60f9accaee91f3">highp_int64_t</a></td></tr>
+<tr class="separator:ga73c6abb280a45feeff60f9accaee91f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad0549c902a96a7164e4ac858d5f39dbf"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad0549c902a96a7164e4ac858d5f39dbf">highp_int8</a></td></tr>
+<tr class="separator:gad0549c902a96a7164e4ac858d5f39dbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1085c50dd8fbeb5e7e609b1c127492a5"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1085c50dd8fbeb5e7e609b1c127492a5">highp_int8_t</a></td></tr>
+<tr class="separator:ga1085c50dd8fbeb5e7e609b1c127492a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aefe60e46b0d012d98067425ad2e6cbc1"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_quat</b></td></tr>
+<tr class="separator:aefe60e46b0d012d98067425ad2e6cbc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8e62c883d13f47015f3b70ed88751369"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8e62c883d13f47015f3b70ed88751369">highp_u16</a></td></tr>
+<tr class="separator:ga8e62c883d13f47015f3b70ed88751369"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8bda7c2533299ff237e174c31f721aee"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u16vec1</b></td></tr>
+<tr class="separator:a8bda7c2533299ff237e174c31f721aee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f26537a923e8a99aa2722ccea04effe"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u16vec2</b></td></tr>
+<tr class="separator:a5f26537a923e8a99aa2722ccea04effe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4b8f63673a7b146a424a5fee3db2ecc"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u16vec3</b></td></tr>
+<tr class="separator:ae4b8f63673a7b146a424a5fee3db2ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42101fecebea5b85deaedd7a397b4b8e"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u16, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u16vec4</b></td></tr>
+<tr class="separator:a42101fecebea5b85deaedd7a397b4b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7a6f1929464dcc680b16381a4ee5f2cf"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga7a6f1929464dcc680b16381a4ee5f2cf">highp_u32</a></td></tr>
+<tr class="separator:ga7a6f1929464dcc680b16381a4ee5f2cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a400570a17c30a0d93be64df7aaeca498"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u32vec1</b></td></tr>
+<tr class="separator:a400570a17c30a0d93be64df7aaeca498"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a450990091b6d2af3d5ce21badfdd409e"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u32vec2</b></td></tr>
+<tr class="separator:a450990091b6d2af3d5ce21badfdd409e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ff192bf2205bec34497aa1f8ba05838"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u32vec3</b></td></tr>
+<tr class="separator:a5ff192bf2205bec34497aa1f8ba05838"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a447c20d8123d9c4dbab2016337670fad"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u32, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u32vec4</b></td></tr>
+<tr class="separator:a447c20d8123d9c4dbab2016337670fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0c181fdf06a309691999926b6690c969"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga0c181fdf06a309691999926b6690c969">highp_u64</a></td></tr>
+<tr class="separator:ga0c181fdf06a309691999926b6690c969"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcba17098bae31bcde33d72f71f96d44"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u64vec1</b></td></tr>
+<tr class="separator:adcba17098bae31bcde33d72f71f96d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c4c47b6745fbe10d61dd86d4a5362ec"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u64vec2</b></td></tr>
+<tr class="separator:a1c4c47b6745fbe10d61dd86d4a5362ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a356770e957a30e5039860337a715f84e"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u64vec3</b></td></tr>
+<tr class="separator:a356770e957a30e5039860337a715f84e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3af115d5e803c6b966bf4dbc5db2fc63"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u64, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u64vec4</b></td></tr>
+<tr class="separator:a3af115d5e803c6b966bf4dbc5db2fc63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacd1259f3a9e8d2a9df5be2d74322ef9c"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gacd1259f3a9e8d2a9df5be2d74322ef9c">highp_u8</a></td></tr>
+<tr class="separator:gacd1259f3a9e8d2a9df5be2d74322ef9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f09abf961b1b2c2f6561861a1057aa0"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u8vec1</b></td></tr>
+<tr class="separator:a4f09abf961b1b2c2f6561861a1057aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6f8afc722fcf494a808f31fe33a225f"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u8vec2</b></td></tr>
+<tr class="separator:ad6f8afc722fcf494a808f31fe33a225f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac99086122be840a2bb096e4e3c3f339"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u8vec3</b></td></tr>
+<tr class="separator:aac99086122be840a2bb096e4e3c3f339"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf75b696ccff5ae31bc4d96d031d6c60"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u8, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_u8vec4</b></td></tr>
+<tr class="separator:aaf75b696ccff5ae31bc4d96d031d6c60"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga746dc6da204f5622e395f492997dbf57"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga746dc6da204f5622e395f492997dbf57">highp_uint16</a></td></tr>
+<tr class="separator:ga746dc6da204f5622e395f492997dbf57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacf54c3330ef60aa3d16cb676c7bcb8c7"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gacf54c3330ef60aa3d16cb676c7bcb8c7">highp_uint16_t</a></td></tr>
+<tr class="separator:gacf54c3330ef60aa3d16cb676c7bcb8c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga256b12b650c3f2fb86878fd1c5db8bc3"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga256b12b650c3f2fb86878fd1c5db8bc3">highp_uint32</a></td></tr>
+<tr class="separator:ga256b12b650c3f2fb86878fd1c5db8bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae978599c9711ac263ba732d4ac225b0e"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gae978599c9711ac263ba732d4ac225b0e">highp_uint32_t</a></td></tr>
+<tr class="separator:gae978599c9711ac263ba732d4ac225b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa38d732f5d4a7bc42a1b43b9d3c141ce"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa38d732f5d4a7bc42a1b43b9d3c141ce">highp_uint64</a></td></tr>
+<tr class="separator:gaa38d732f5d4a7bc42a1b43b9d3c141ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa46172d7dc1c7ffe3e78107ff88adf08"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa46172d7dc1c7ffe3e78107ff88adf08">highp_uint64_t</a></td></tr>
+<tr class="separator:gaa46172d7dc1c7ffe3e78107ff88adf08"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga97432f9979e73e66567361fd01e4cffb"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga97432f9979e73e66567361fd01e4cffb">highp_uint8</a></td></tr>
+<tr class="separator:ga97432f9979e73e66567361fd01e4cffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac4e00a26a2adb5f2c0a7096810df29e5"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gac4e00a26a2adb5f2c0a7096810df29e5">highp_uint8_t</a></td></tr>
+<tr class="separator:gac4e00a26a2adb5f2c0a7096810df29e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f81d4fc98bf6a4de7da0332242c1841"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; float, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>highp_vec1</b></td></tr>
+<tr class="separator:a8f81d4fc98bf6a4de7da0332242c1841"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3ab5fe184343d394fb6c2723c3ee3699"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3ab5fe184343d394fb6c2723c3ee3699">i16</a></td></tr>
+<tr class="separator:ga3ab5fe184343d394fb6c2723c3ee3699"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga28f03a39ac56c70f9bf3ada11cb60e3b"><td class="memItemLeft" align="right" valign="top">typedef highp_i16vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga28f03a39ac56c70f9bf3ada11cb60e3b">i16vec1</a></td></tr>
+<tr class="separator:ga28f03a39ac56c70f9bf3ada11cb60e3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga110bec18ca44c41c76c3c9e4d7b5bd79"><td class="memItemLeft" align="right" valign="top">typedef highp_i16vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga110bec18ca44c41c76c3c9e4d7b5bd79">i16vec2</a></td></tr>
+<tr class="separator:ga110bec18ca44c41c76c3c9e4d7b5bd79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga973b226a9914db682c9372fc761fb535"><td class="memItemLeft" align="right" valign="top">typedef highp_i16vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga973b226a9914db682c9372fc761fb535">i16vec3</a></td></tr>
+<tr class="separator:ga973b226a9914db682c9372fc761fb535"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad73e5e905dcf2d8cab002b4ab46e9426"><td class="memItemLeft" align="right" valign="top">typedef highp_i16vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad73e5e905dcf2d8cab002b4ab46e9426">i16vec4</a></td></tr>
+<tr class="separator:gad73e5e905dcf2d8cab002b4ab46e9426"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga96faea43ac5f875d2d3ffbf8d213e3eb"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga96faea43ac5f875d2d3ffbf8d213e3eb">i32</a></td></tr>
+<tr class="separator:ga96faea43ac5f875d2d3ffbf8d213e3eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4cca6bbd117c45f046291fc8e9d03765"><td class="memItemLeft" align="right" valign="top">typedef highp_i32vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a></td></tr>
+<tr class="separator:ga4cca6bbd117c45f046291fc8e9d03765"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3c12cef4135603fd77d8fda85808730c"><td class="memItemLeft" align="right" valign="top">typedef highp_i32vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a></td></tr>
+<tr class="separator:ga3c12cef4135603fd77d8fda85808730c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga40cd3f391c03512f158d10a70062264e"><td class="memItemLeft" align="right" valign="top">typedef highp_i32vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a></td></tr>
+<tr class="separator:ga40cd3f391c03512f158d10a70062264e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae3364a8090e7e1408056e00403dfecab"><td class="memItemLeft" align="right" valign="top">typedef highp_i32vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a></td></tr>
+<tr class="separator:gae3364a8090e7e1408056e00403dfecab"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadb997e409103d4da18abd837e636a496"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gadb997e409103d4da18abd837e636a496">i64</a></td></tr>
+<tr class="separator:gadb997e409103d4da18abd837e636a496"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5b4a3e499ee165efc0dc05add9c48235"><td class="memItemLeft" align="right" valign="top">typedef highp_i64vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga5b4a3e499ee165efc0dc05add9c48235">i64vec1</a></td></tr>
+<tr class="separator:ga5b4a3e499ee165efc0dc05add9c48235"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gade69872a31f066e5ae212f1af6008edb"><td class="memItemLeft" align="right" valign="top">typedef highp_i64vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gade69872a31f066e5ae212f1af6008edb">i64vec2</a></td></tr>
+<tr class="separator:gade69872a31f066e5ae212f1af6008edb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ece7c77c7bca7a6b824ef9c600f5e5e"><td class="memItemLeft" align="right" valign="top">typedef highp_i64vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga9ece7c77c7bca7a6b824ef9c600f5e5e">i64vec3</a></td></tr>
+<tr class="separator:ga9ece7c77c7bca7a6b824ef9c600f5e5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9756e45c8f80329257f3cbdabc3bd73c"><td class="memItemLeft" align="right" valign="top">typedef highp_i64vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga9756e45c8f80329257f3cbdabc3bd73c">i64vec4</a></td></tr>
+<tr class="separator:ga9756e45c8f80329257f3cbdabc3bd73c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga302ec977b0c0c3ea245b6c9275495355"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga302ec977b0c0c3ea245b6c9275495355">i8</a></td></tr>
+<tr class="separator:ga302ec977b0c0c3ea245b6c9275495355"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab2329c5c14ff5a03b1ddec039e2c7409"><td class="memItemLeft" align="right" valign="top">typedef highp_i8vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gab2329c5c14ff5a03b1ddec039e2c7409">i8vec1</a></td></tr>
+<tr class="separator:gab2329c5c14ff5a03b1ddec039e2c7409"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6414484477e4c1b4863cf91af8fd4185"><td class="memItemLeft" align="right" valign="top">typedef highp_i8vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga6414484477e4c1b4863cf91af8fd4185">i8vec2</a></td></tr>
+<tr class="separator:ga6414484477e4c1b4863cf91af8fd4185"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf4b5993e794e252607f91535b62a7e0c"><td class="memItemLeft" align="right" valign="top">typedef highp_i8vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf4b5993e794e252607f91535b62a7e0c">i8vec3</a></td></tr>
+<tr class="separator:gaf4b5993e794e252607f91535b62a7e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga50e58885aee2cf01bb3ba472c5b1697e"><td class="memItemLeft" align="right" valign="top">typedef highp_i8vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga50e58885aee2cf01bb3ba472c5b1697e">i8vec4</a></td></tr>
+<tr class="separator:ga50e58885aee2cf01bb3ba472c5b1697e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae8f5e3e964ca2ae240adc2c0d74adede"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gae8f5e3e964ca2ae240adc2c0d74adede">int16_t</a></td></tr>
+<tr class="separator:gae8f5e3e964ca2ae240adc2c0d74adede"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga042ef09ff2f0cb24a36f541bcb3a3710"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga042ef09ff2f0cb24a36f541bcb3a3710">int32_t</a></td></tr>
+<tr class="separator:ga042ef09ff2f0cb24a36f541bcb3a3710"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga322a7d7d2c2c68994dc872a33de63c61"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga322a7d7d2c2c68994dc872a33de63c61">int64_t</a></td></tr>
+<tr class="separator:ga322a7d7d2c2c68994dc872a33de63c61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4bf09d8838a86866b39ee6e109341645"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga4bf09d8838a86866b39ee6e109341645">int8_t</a></td></tr>
+<tr class="separator:ga4bf09d8838a86866b39ee6e109341645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bb5330eb0f9cf0f8135c5f6ab07b96c"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; double, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_dquat</b></td></tr>
+<tr class="separator:a5bb5330eb0f9cf0f8135c5f6ab07b96c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea53879fc327293cf3352a409b7867b"><td class="memItemLeft" align="right" valign="top">typedef float32&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32</b></td></tr>
+<tr class="separator:aeea53879fc327293cf3352a409b7867b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52409bc6d4a2ce3421526c069220d685"><td class="memItemLeft" align="right" valign="top">typedef lowp_f32mat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat2</b></td></tr>
+<tr class="separator:a52409bc6d4a2ce3421526c069220d685"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbfa3780fa74a8aceed53c6cac3d185e"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat2x2</b></td></tr>
+<tr class="separator:acbfa3780fa74a8aceed53c6cac3d185e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7106f1c5fbb3e928556d2176c2828324"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat2x3</b></td></tr>
+<tr class="separator:a7106f1c5fbb3e928556d2176c2828324"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad63250829617716e7009216970a22a2e"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat2x4</b></td></tr>
+<tr class="separator:ad63250829617716e7009216970a22a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4187f89f196505b40e63f516139511e5"><td class="memItemLeft" align="right" valign="top">typedef lowp_f32mat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat3</b></td></tr>
+<tr class="separator:a4187f89f196505b40e63f516139511e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1386a5915b7f4935ccae0f9a79bfb51f"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat3x2</b></td></tr>
+<tr class="separator:a1386a5915b7f4935ccae0f9a79bfb51f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad746673e0c3ba5e7027ec0e0b1682d63"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat3x3</b></td></tr>
+<tr class="separator:ad746673e0c3ba5e7027ec0e0b1682d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90a6dc116b6407408e033f73301468ee"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat3x4</b></td></tr>
+<tr class="separator:a90a6dc116b6407408e033f73301468ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a766aed2871e6173a81011a877f398f04"><td class="memItemLeft" align="right" valign="top">typedef lowp_f32mat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat4</b></td></tr>
+<tr class="separator:a766aed2871e6173a81011a877f398f04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4663c5444a670dbcbd8a7fa907148add"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat4x2</b></td></tr>
+<tr class="separator:a4663c5444a670dbcbd8a7fa907148add"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b3cd59a64ede38fb8ec16f9db191544"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat4x3</b></td></tr>
+<tr class="separator:a1b3cd59a64ede38fb8ec16f9db191544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a752dff4232933964e899b1be27f30af4"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32mat4x4</b></td></tr>
+<tr class="separator:a752dff4232933964e899b1be27f30af4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa27d7ca08ddd62647ce00b1981ac3967"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32quat</b></td></tr>
+<tr class="separator:aa27d7ca08ddd62647ce00b1981ac3967"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a065441db99acdc970d6b1bca51fb0e88"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32vec1</b></td></tr>
+<tr class="separator:a065441db99acdc970d6b1bca51fb0e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e6a3c71f9084c64dee3513de2c91e6a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32vec2</b></td></tr>
+<tr class="separator:a7e6a3c71f9084c64dee3513de2c91e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc51390c78531eff7546f1877c5a6e2a"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32vec3</b></td></tr>
+<tr class="separator:acc51390c78531eff7546f1877c5a6e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c810baad7672618d387efd82824d3f0"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f32vec4</b></td></tr>
+<tr class="separator:a3c810baad7672618d387efd82824d3f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc7a97c07cbfac8e35eb5e63beb4b679"><td class="memItemLeft" align="right" valign="top">typedef float64&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64</b></td></tr>
+<tr class="separator:abc7a97c07cbfac8e35eb5e63beb4b679"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc730f6b4242763b0eda0ffa25150292"><td class="memItemLeft" align="right" valign="top">typedef lowp_f64mat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat2</b></td></tr>
+<tr class="separator:afc730f6b4242763b0eda0ffa25150292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d8b766229a9613e023da6015273c5e0"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat2x2</b></td></tr>
+<tr class="separator:a9d8b766229a9613e023da6015273c5e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c9ae336839e72b32d8b54247a71ffba"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat2x3</b></td></tr>
+<tr class="separator:a7c9ae336839e72b32d8b54247a71ffba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a842f6af7042f44a489c45e83cf62c58c"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat2x4</b></td></tr>
+<tr class="separator:a842f6af7042f44a489c45e83cf62c58c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58119a41d143ebaea0df70fe882e8a40"><td class="memItemLeft" align="right" valign="top">typedef lowp_f64mat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat3</b></td></tr>
+<tr class="separator:a58119a41d143ebaea0df70fe882e8a40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98cd9aafec70a9d83add4b67e20e4d52"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat3x2</b></td></tr>
+<tr class="separator:a98cd9aafec70a9d83add4b67e20e4d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb9146c6416d66b57e5c3aea6f2f5c99"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat3x3</b></td></tr>
+<tr class="separator:abb9146c6416d66b57e5c3aea6f2f5c99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a002c5621e42eceb747ad4f8315122175"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat3x4</b></td></tr>
+<tr class="separator:a002c5621e42eceb747ad4f8315122175"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7451266e67794bd1125163502bc4a570"><td class="memItemLeft" align="right" valign="top">typedef lowp_f64mat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat4</b></td></tr>
+<tr class="separator:a7451266e67794bd1125163502bc4a570"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a691047f2c02376e3c33abc9b09fa7d11"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat4x2</b></td></tr>
+<tr class="separator:a691047f2c02376e3c33abc9b09fa7d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae5421a69235098aa087ec5fde0904854"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat4x3</b></td></tr>
+<tr class="separator:ae5421a69235098aa087ec5fde0904854"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc09833bf36fd52048b27158ccf442f6"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64mat4x4</b></td></tr>
+<tr class="separator:adc09833bf36fd52048b27158ccf442f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1a96856970fd9b3dfb5a57146ee9de7"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64quat</b></td></tr>
+<tr class="separator:ac1a96856970fd9b3dfb5a57146ee9de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b90a9dbb5fbb8ae29fd8fbf35d35127"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64vec1</b></td></tr>
+<tr class="separator:a6b90a9dbb5fbb8ae29fd8fbf35d35127"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7be5ae5a2881cb153c0c3c3f7399b45"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64vec2</b></td></tr>
+<tr class="separator:ac7be5ae5a2881cb153c0c3c3f7399b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7701bd67c12faf9a4bdb24a57d67a3b6"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64vec3</b></td></tr>
+<tr class="separator:a7701bd67c12faf9a4bdb24a57d67a3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abee657babf6feea4385d19eb6fa5278a"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; f64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_f64vec4</b></td></tr>
+<tr class="separator:abee657babf6feea4385d19eb6fa5278a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8234cea5c12583310da0fdfe62657638"><td class="memItemLeft" align="right" valign="top">typedef detail::float32&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_float32</b></td></tr>
+<tr class="separator:a8234cea5c12583310da0fdfe62657638"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7a32491c689d3ff33652770868187f27"><td class="memItemLeft" align="right" valign="top">typedef detail::float32&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_float32_t</b></td></tr>
+<tr class="separator:a7a32491c689d3ff33652770868187f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60503f200138a07e57c737abfa57f5f6"><td class="memItemLeft" align="right" valign="top">typedef detail::float64&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_float64</b></td></tr>
+<tr class="separator:a60503f200138a07e57c737abfa57f5f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a49a3b5a4f1565687927b5edb23f0b35e"><td class="memItemLeft" align="right" valign="top">typedef detail::float64&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_float64_t</b></td></tr>
+<tr class="separator:a49a3b5a4f1565687927b5edb23f0b35e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bba0ce31210e274f73efacd3364c03f"><td class="memItemLeft" align="right" valign="top">typedef lowp_fmat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat2</b></td></tr>
+<tr class="separator:a5bba0ce31210e274f73efacd3364c03f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66f97ccbae05c652595d71ec931d7161"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat2x2</b></td></tr>
+<tr class="separator:a66f97ccbae05c652595d71ec931d7161"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9d407a7e137ee373b310dc0bf769bf9"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat2x3</b></td></tr>
+<tr class="separator:ac9d407a7e137ee373b310dc0bf769bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a776e06fd5557d5dca4beecebad19aed3"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat2x4</b></td></tr>
+<tr class="separator:a776e06fd5557d5dca4beecebad19aed3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83079315e230e8f39728f4bf0d2f9a9b"><td class="memItemLeft" align="right" valign="top">typedef lowp_fmat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat3</b></td></tr>
+<tr class="separator:a83079315e230e8f39728f4bf0d2f9a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad171c065fd8a50e85f3f61d04011ff17"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat3x2</b></td></tr>
+<tr class="separator:ad171c065fd8a50e85f3f61d04011ff17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab67fff920716329c921e3f3fad4ea2c3"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat3x3</b></td></tr>
+<tr class="separator:ab67fff920716329c921e3f3fad4ea2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a769421d99e6514dd4ca99b3d3065f037"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat3x4</b></td></tr>
+<tr class="separator:a769421d99e6514dd4ca99b3d3065f037"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5803cb9ae26399762d8bba9e0b2fc09f"><td class="memItemLeft" align="right" valign="top">typedef lowp_fmat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat4</b></td></tr>
+<tr class="separator:a5803cb9ae26399762d8bba9e0b2fc09f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a037f70890ec5808175f8b8fa2a1ffbe9"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat4x2</b></td></tr>
+<tr class="separator:a037f70890ec5808175f8b8fa2a1ffbe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f5ea3f37178a6c8a6a6f26cb47145db"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat4x3</b></td></tr>
+<tr class="separator:a0f5ea3f37178a6c8a6a6f26cb47145db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa389a235fe6788544cd168b6eba2e250"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fmat4x4</b></td></tr>
+<tr class="separator:aa389a235fe6788544cd168b6eba2e250"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc9fc7b43c89cb6d7c989d427c3ec5a3"><td class="memItemLeft" align="right" valign="top">typedef lowp_quat&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fquat</b></td></tr>
+<tr class="separator:afc9fc7b43c89cb6d7c989d427c3ec5a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65eb3ab6e5f172c001e1160c6fbb4f22"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fvec1</b></td></tr>
+<tr class="separator:a65eb3ab6e5f172c001e1160c6fbb4f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78c8523592fea346dea7561d12337fd8"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fvec2</b></td></tr>
+<tr class="separator:a78c8523592fea346dea7561d12337fd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7893b199d7493a88dea8bd38bd878b5"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fvec3</b></td></tr>
+<tr class="separator:ab7893b199d7493a88dea8bd38bd878b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adbeccbd85012ba9638d51b37d0b88e4e"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_fvec4</b></td></tr>
+<tr class="separator:adbeccbd85012ba9638d51b37d0b88e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga392b673fd10847bfb78fb808c6cf8ff7"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga392b673fd10847bfb78fb808c6cf8ff7">lowp_i16</a></td></tr>
+<tr class="separator:ga392b673fd10847bfb78fb808c6cf8ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29d17771c7521875f7972610a274437d"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i16vec1</b></td></tr>
+<tr class="separator:a29d17771c7521875f7972610a274437d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9418f7f14075a2eb419d79dea795fe8e"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i16vec2</b></td></tr>
+<tr class="separator:a9418f7f14075a2eb419d79dea795fe8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a572548327ac6277265d1fb0f3ba05f07"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i16vec3</b></td></tr>
+<tr class="separator:a572548327ac6277265d1fb0f3ba05f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a877978ecba5f4186b045507593a92d90"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i16vec4</b></td></tr>
+<tr class="separator:a877978ecba5f4186b045507593a92d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7ff73a45cea9613ebf1a9fad0b9f82ac"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga7ff73a45cea9613ebf1a9fad0b9f82ac">lowp_i32</a></td></tr>
+<tr class="separator:ga7ff73a45cea9613ebf1a9fad0b9f82ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4d1f110d2643d0911aeaa424dd342f3"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i32vec1</b></td></tr>
+<tr class="separator:af4d1f110d2643d0911aeaa424dd342f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab1d50e964e3ba141afc193a1e135369a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i32vec2</b></td></tr>
+<tr class="separator:ab1d50e964e3ba141afc193a1e135369a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a669898de66e7bb5695f7a86aa8915fd9"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i32vec3</b></td></tr>
+<tr class="separator:a669898de66e7bb5695f7a86aa8915fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35522d761caa8f93185a96ed9e61795d"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i32vec4</b></td></tr>
+<tr class="separator:a35522d761caa8f93185a96ed9e61795d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga354736e0c645099cd44c42fb2f87c2b8"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga354736e0c645099cd44c42fb2f87c2b8">lowp_i64</a></td></tr>
+<tr class="separator:ga354736e0c645099cd44c42fb2f87c2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7852c10988de095e6e685300904cb2b3"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i64vec1</b></td></tr>
+<tr class="separator:a7852c10988de095e6e685300904cb2b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a305eb0f7ba957bb53972b7690904a24f"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i64vec2</b></td></tr>
+<tr class="separator:a305eb0f7ba957bb53972b7690904a24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adce94f56b502977689df6693fa70c0ed"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i64vec3</b></td></tr>
+<tr class="separator:adce94f56b502977689df6693fa70c0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f9cb33adc669bb6a72329af5381b690"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i64vec4</b></td></tr>
+<tr class="separator:a1f9cb33adc669bb6a72329af5381b690"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga552a6bde5e75984efb0f863278da2e54"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga552a6bde5e75984efb0f863278da2e54">lowp_i8</a></td></tr>
+<tr class="separator:ga552a6bde5e75984efb0f863278da2e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7192dd365ce8d4fa4da3257c676de267"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i8vec1</b></td></tr>
+<tr class="separator:a7192dd365ce8d4fa4da3257c676de267"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02a47f2177b67de3ce1139e68196e56b"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i8vec2</b></td></tr>
+<tr class="separator:a02a47f2177b67de3ce1139e68196e56b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f4179513be603c7494da45295c35bdc"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i8vec3</b></td></tr>
+<tr class="separator:a6f4179513be603c7494da45295c35bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76d872db6e41d64e338a36f09b5daeb7"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_i8vec4</b></td></tr>
+<tr class="separator:a76d872db6e41d64e338a36f09b5daeb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga698e36b01167fc0f037889334dce8def"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga698e36b01167fc0f037889334dce8def">lowp_int16</a></td></tr>
+<tr class="separator:ga698e36b01167fc0f037889334dce8def"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8b2cd8d31eb345b2d641d9261c38db1a"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8b2cd8d31eb345b2d641d9261c38db1a">lowp_int16_t</a></td></tr>
+<tr class="separator:ga8b2cd8d31eb345b2d641d9261c38db1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga864aabca5f3296e176e0c3ed9cc16b02"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga864aabca5f3296e176e0c3ed9cc16b02">lowp_int32</a></td></tr>
+<tr class="separator:ga864aabca5f3296e176e0c3ed9cc16b02"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0350631d35ff800e6133ac6243b13cbc"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga0350631d35ff800e6133ac6243b13cbc">lowp_int32_t</a></td></tr>
+<tr class="separator:ga0350631d35ff800e6133ac6243b13cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf645b1a60203b39c0207baff5e3d8c3c"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf645b1a60203b39c0207baff5e3d8c3c">lowp_int64</a></td></tr>
+<tr class="separator:gaf645b1a60203b39c0207baff5e3d8c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaebf341fc4a5be233f7dde962c2e33847"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaebf341fc4a5be233f7dde962c2e33847">lowp_int64_t</a></td></tr>
+<tr class="separator:gaebf341fc4a5be233f7dde962c2e33847"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga760bcf26fdb23a2c3ecad3c928a19ae6"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga760bcf26fdb23a2c3ecad3c928a19ae6">lowp_int8</a></td></tr>
+<tr class="separator:ga760bcf26fdb23a2c3ecad3c928a19ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga119c41d73fe9977358174eb3ac1035a3"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga119c41d73fe9977358174eb3ac1035a3">lowp_int8_t</a></td></tr>
+<tr class="separator:ga119c41d73fe9977358174eb3ac1035a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2d7af2016aba4edc1a14fed266317d2"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_quat</b></td></tr>
+<tr class="separator:aa2d7af2016aba4edc1a14fed266317d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga504ce1631cb2ac02fcf1d44d8c2aa126"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga504ce1631cb2ac02fcf1d44d8c2aa126">lowp_u16</a></td></tr>
+<tr class="separator:ga504ce1631cb2ac02fcf1d44d8c2aa126"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a016d2c4e5962ee5dcb30978f9de6ac52"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u16vec1</b></td></tr>
+<tr class="separator:a016d2c4e5962ee5dcb30978f9de6ac52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3bd6951d7eeae1b4f2cc50759dbf640"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u16vec2</b></td></tr>
+<tr class="separator:aa3bd6951d7eeae1b4f2cc50759dbf640"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae63c1dbdb499eb7664109fb39857bce4"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u16vec3</b></td></tr>
+<tr class="separator:ae63c1dbdb499eb7664109fb39857bce4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6baa0d373bf33bfa1aa666f557eae789"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u16, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u16vec4</b></td></tr>
+<tr class="separator:a6baa0d373bf33bfa1aa666f557eae789"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4f072ada9552e1e480bbb3b1acde5250"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga4f072ada9552e1e480bbb3b1acde5250">lowp_u32</a></td></tr>
+<tr class="separator:ga4f072ada9552e1e480bbb3b1acde5250"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad302aa571eb6955dbfc5289c7c84ca1b"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u32vec1</b></td></tr>
+<tr class="separator:ad302aa571eb6955dbfc5289c7c84ca1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d0d6330a6a0e7c4885f6b554535b200"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u32vec2</b></td></tr>
+<tr class="separator:a0d0d6330a6a0e7c4885f6b554535b200"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82ab625c16f826dc658bde310158ddff"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u32vec3</b></td></tr>
+<tr class="separator:a82ab625c16f826dc658bde310158ddff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a061f6b150324b1913490c743e756d04f"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u32, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u32vec4</b></td></tr>
+<tr class="separator:a061f6b150324b1913490c743e756d04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga30069d1f02b19599cbfadf98c23ac6ed"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga30069d1f02b19599cbfadf98c23ac6ed">lowp_u64</a></td></tr>
+<tr class="separator:ga30069d1f02b19599cbfadf98c23ac6ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a318bf8bfd18ab389678d06828a28c39b"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u64vec1</b></td></tr>
+<tr class="separator:a318bf8bfd18ab389678d06828a28c39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a833371ce41eb501163ab6ebd6205fc9a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u64vec2</b></td></tr>
+<tr class="separator:a833371ce41eb501163ab6ebd6205fc9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae69228b98799312c02544febb1af766b"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u64vec3</b></td></tr>
+<tr class="separator:ae69228b98799312c02544febb1af766b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c1344b4a809a5812c7fd4aed4a7d3fb"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u64, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u64vec4</b></td></tr>
+<tr class="separator:a3c1344b4a809a5812c7fd4aed4a7d3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1b09f03da7ac43055c68a349d5445083"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1b09f03da7ac43055c68a349d5445083">lowp_u8</a></td></tr>
+<tr class="separator:ga1b09f03da7ac43055c68a349d5445083"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac31801407d2141204e74eefea0bf3ef0"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u8vec1</b></td></tr>
+<tr class="separator:ac31801407d2141204e74eefea0bf3ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4fbff016a05f8fb6bf793c42f4bf1cd5"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u8vec2</b></td></tr>
+<tr class="separator:a4fbff016a05f8fb6bf793c42f4bf1cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cbe1a6da09be9171fc08ceadfbb758d"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u8vec3</b></td></tr>
+<tr class="separator:a0cbe1a6da09be9171fc08ceadfbb758d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a764d9393e9aff7a84825a5760e2498b9"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u8, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_u8vec4</b></td></tr>
+<tr class="separator:a764d9393e9aff7a84825a5760e2498b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad68bfd9f881856fc863a6ebca0b67f78"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad68bfd9f881856fc863a6ebca0b67f78">lowp_uint16</a></td></tr>
+<tr class="separator:gad68bfd9f881856fc863a6ebca0b67f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga91c4815f93177eb423362fd296a87e9f"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga91c4815f93177eb423362fd296a87e9f">lowp_uint16_t</a></td></tr>
+<tr class="separator:ga91c4815f93177eb423362fd296a87e9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa6a5b461bbf5fe20982472aa51896d4b"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa6a5b461bbf5fe20982472aa51896d4b">lowp_uint32</a></td></tr>
+<tr class="separator:gaa6a5b461bbf5fe20982472aa51896d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf1b735b4b1145174f4e4167d13778f9b"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf1b735b4b1145174f4e4167d13778f9b">lowp_uint32_t</a></td></tr>
+<tr class="separator:gaf1b735b4b1145174f4e4167d13778f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa212b805736a759998e312cbdd550fae"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa212b805736a759998e312cbdd550fae">lowp_uint64</a></td></tr>
+<tr class="separator:gaa212b805736a759998e312cbdd550fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8dd3a3281ae5c970ffe0c41d538aa153"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8dd3a3281ae5c970ffe0c41d538aa153">lowp_uint64_t</a></td></tr>
+<tr class="separator:ga8dd3a3281ae5c970ffe0c41d538aa153"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf49470869e9be2c059629b250619804e"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf49470869e9be2c059629b250619804e">lowp_uint8</a></td></tr>
+<tr class="separator:gaf49470869e9be2c059629b250619804e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga667b2ece2b258be898812dc2177995d1"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga667b2ece2b258be898812dc2177995d1">lowp_uint8_t</a></td></tr>
+<tr class="separator:ga667b2ece2b258be898812dc2177995d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8931ec76b5c0c310ed8d96dfdeb6b4c1"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; float, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>lowp_vec1</b></td></tr>
+<tr class="separator:a8931ec76b5c0c310ed8d96dfdeb6b4c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51178c7b0d10cc540c01ad4cf0ece261"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; double, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_dquat</b></td></tr>
+<tr class="separator:a51178c7b0d10cc540c01ad4cf0ece261"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b27fcd9eaa2757f0aaf6b0ce0d85c80"><td class="memItemLeft" align="right" valign="top">typedef float32&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32</b></td></tr>
+<tr class="separator:a3b27fcd9eaa2757f0aaf6b0ce0d85c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9020c6176a75bc84828ab01ea7dac25"><td class="memItemLeft" align="right" valign="top">typedef mediump_f32mat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat2</b></td></tr>
+<tr class="separator:af9020c6176a75bc84828ab01ea7dac25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaa92b781318fb3fe43ad3e6f32be86b"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat2x2</b></td></tr>
+<tr class="separator:afaa92b781318fb3fe43ad3e6f32be86b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f38dab02c05c75c87ee02d7896078ec"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat2x3</b></td></tr>
+<tr class="separator:a1f38dab02c05c75c87ee02d7896078ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3798dd54ed8dbba79d5f6ef22c372be3"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat2x4</b></td></tr>
+<tr class="separator:a3798dd54ed8dbba79d5f6ef22c372be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaaf878d0d7bfc0aac054fe269a886ca8"><td class="memItemLeft" align="right" valign="top">typedef mediump_f32mat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat3</b></td></tr>
+<tr class="separator:aaaf878d0d7bfc0aac054fe269a886ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77b8afa61c836b25ba97d9ab433ff4ca"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat3x2</b></td></tr>
+<tr class="separator:a77b8afa61c836b25ba97d9ab433ff4ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e653136fb7152f4c817aa264d58f9db"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat3x3</b></td></tr>
+<tr class="separator:a1e653136fb7152f4c817aa264d58f9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8cef3c4749d9f699726b0b949dab473"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat3x4</b></td></tr>
+<tr class="separator:af8cef3c4749d9f699726b0b949dab473"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4491baaebbc46a20f1cb5da985576bf4"><td class="memItemLeft" align="right" valign="top">typedef mediump_f32mat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat4</b></td></tr>
+<tr class="separator:a4491baaebbc46a20f1cb5da985576bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0dacc0ae65346941372958a08d918bc3"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat4x2</b></td></tr>
+<tr class="separator:a0dacc0ae65346941372958a08d918bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc41b629cbdb64c7b8ba3c18646b8e32"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat4x3</b></td></tr>
+<tr class="separator:acc41b629cbdb64c7b8ba3c18646b8e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01a6f096db7a15dfe2fa28ea1fed183c"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32mat4x4</b></td></tr>
+<tr class="separator:a01a6f096db7a15dfe2fa28ea1fed183c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abcc1b172969e868108974c92c09ba2e4"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32quat</b></td></tr>
+<tr class="separator:abcc1b172969e868108974c92c09ba2e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af464ab0841bc7f942d55935101923e25"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32vec1</b></td></tr>
+<tr class="separator:af464ab0841bc7f942d55935101923e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0dea9959015c0ae8294360e1aafeb2a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32vec2</b></td></tr>
+<tr class="separator:ab0dea9959015c0ae8294360e1aafeb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30b37671931aad948d1018ddc5718f34"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32vec3</b></td></tr>
+<tr class="separator:a30b37671931aad948d1018ddc5718f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac462ec17fc1037e679d1086d3f26581f"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f32vec4</b></td></tr>
+<tr class="separator:ac462ec17fc1037e679d1086d3f26581f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d40381d78472553f878f66e443feeef"><td class="memItemLeft" align="right" valign="top">typedef float64&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64</b></td></tr>
+<tr class="separator:a6d40381d78472553f878f66e443feeef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1281da5ded55047e8892b0e1f1ae965"><td class="memItemLeft" align="right" valign="top">typedef mediump_f64mat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat2</b></td></tr>
+<tr class="separator:ac1281da5ded55047e8892b0e1f1ae965"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a710c552051cdf26086a52724adeaa0b5"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat2x2</b></td></tr>
+<tr class="separator:a710c552051cdf26086a52724adeaa0b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1f4fff1454eb66c97bd3eb123c86e85"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat2x3</b></td></tr>
+<tr class="separator:af1f4fff1454eb66c97bd3eb123c86e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3a181f05bac20864c7b86976428cbbf2"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat2x4</b></td></tr>
+<tr class="separator:a3a181f05bac20864c7b86976428cbbf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad35fb67eb1d03c5a514f0bd7aed1c776"><td class="memItemLeft" align="right" valign="top">typedef mediump_f64mat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat3</b></td></tr>
+<tr class="separator:ad35fb67eb1d03c5a514f0bd7aed1c776"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ac17da9eab988cac003014225ba5e9b"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat3x2</b></td></tr>
+<tr class="separator:a5ac17da9eab988cac003014225ba5e9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d09bdb868ee5f7063c70092a929cd38"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat3x3</b></td></tr>
+<tr class="separator:a4d09bdb868ee5f7063c70092a929cd38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a93213eb4f0876f713d4d00a38dab86"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat3x4</b></td></tr>
+<tr class="separator:a5a93213eb4f0876f713d4d00a38dab86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa805ef691c711dc41e2776cfb67f5cf5"><td class="memItemLeft" align="right" valign="top">typedef mediump_f64mat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat4</b></td></tr>
+<tr class="separator:aa805ef691c711dc41e2776cfb67f5cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb511a9a5fa678b1b859364b817cee76"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat4x2</b></td></tr>
+<tr class="separator:adb511a9a5fa678b1b859364b817cee76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2eae3525631e29f7e70dc79be1a9360"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat4x3</b></td></tr>
+<tr class="separator:ad2eae3525631e29f7e70dc79be1a9360"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaae60e8c1cf13ee2bc088999e2726332"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64mat4x4</b></td></tr>
+<tr class="separator:aaae60e8c1cf13ee2bc088999e2726332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06275695b922e1b4f068379ee53d17f5"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64quat</b></td></tr>
+<tr class="separator:a06275695b922e1b4f068379ee53d17f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3ad0aef885256bf3508c4a97aa24ca7"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64vec1</b></td></tr>
+<tr class="separator:ac3ad0aef885256bf3508c4a97aa24ca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3a39604855bbd7d2bf01336dbd58c7e"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64vec2</b></td></tr>
+<tr class="separator:af3a39604855bbd7d2bf01336dbd58c7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8621fc4ddd20c08f8c9f6f89039d7070"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64vec3</b></td></tr>
+<tr class="separator:a8621fc4ddd20c08f8c9f6f89039d7070"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1dee1be60722fbaba56c5e8d4055224"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; f64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_f64vec4</b></td></tr>
+<tr class="separator:ac1dee1be60722fbaba56c5e8d4055224"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a90f18a9d062cd5b8046cbb59ef7296"><td class="memItemLeft" align="right" valign="top">typedef detail::float32&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_float32</b></td></tr>
+<tr class="separator:a9a90f18a9d062cd5b8046cbb59ef7296"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8a3a6b5ac1518e864900bdbf6983b54e"><td class="memItemLeft" align="right" valign="top">typedef detail::float32&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_float32_t</b></td></tr>
+<tr class="separator:a8a3a6b5ac1518e864900bdbf6983b54e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a729f6f704ff850a84819c09daf22bf96"><td class="memItemLeft" align="right" valign="top">typedef detail::float64&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_float64</b></td></tr>
+<tr class="separator:a729f6f704ff850a84819c09daf22bf96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cd2f21770615d0b0c46daa9a820f2e9"><td class="memItemLeft" align="right" valign="top">typedef detail::float64&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_float64_t</b></td></tr>
+<tr class="separator:a0cd2f21770615d0b0c46daa9a820f2e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74e9133378fd0b4da8ac0bc0876702ff"><td class="memItemLeft" align="right" valign="top">typedef mediump_fmat2x2&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat2</b></td></tr>
+<tr class="separator:a74e9133378fd0b4da8ac0bc0876702ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14e3419dd3ed51ae829fba0eeb37a798"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat2x2</b></td></tr>
+<tr class="separator:a14e3419dd3ed51ae829fba0eeb37a798"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad419b656765f99413130f262902f70b"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat2x3</b></td></tr>
+<tr class="separator:aad419b656765f99413130f262902f70b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ad760dc3087dbe4b81f4735b87c8bff"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat2x4</b></td></tr>
+<tr class="separator:a5ad760dc3087dbe4b81f4735b87c8bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80823dfad5dba98512c76af498343847"><td class="memItemLeft" align="right" valign="top">typedef mediump_fmat3x3&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat3</b></td></tr>
+<tr class="separator:a80823dfad5dba98512c76af498343847"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f983e9b6ce2fc4b5bcf48bde86b6c1d"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat3x2</b></td></tr>
+<tr class="separator:a5f983e9b6ce2fc4b5bcf48bde86b6c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8122275ad0c77b823ed2d0d0fde9e6c8"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat3x3</b></td></tr>
+<tr class="separator:a8122275ad0c77b823ed2d0d0fde9e6c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8acbe700ac34420e69435e9a1e7106a6"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat3x4</b></td></tr>
+<tr class="separator:a8acbe700ac34420e69435e9a1e7106a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1c38778c0b5a1263f07753c05a4f7b9"><td class="memItemLeft" align="right" valign="top">typedef mediump_fmat4x4&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat4</b></td></tr>
+<tr class="separator:ac1c38778c0b5a1263f07753c05a4f7b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a382a9afa22b0cb41c08e714e9964df18"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat4x2</b></td></tr>
+<tr class="separator:a382a9afa22b0cb41c08e714e9964df18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adca208020ec5e450122c5b78b92c311b"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat4x3</b></td></tr>
+<tr class="separator:adca208020ec5e450122c5b78b92c311b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a046dc4e877ae0f041b559ebb8986472f"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; f32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fmat4x4</b></td></tr>
+<tr class="separator:a046dc4e877ae0f041b559ebb8986472f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4001f0bde084c58673e6e62116e90702"><td class="memItemLeft" align="right" valign="top">typedef mediump_quat&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fquat</b></td></tr>
+<tr class="separator:a4001f0bde084c58673e6e62116e90702"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a218a7c4d23b962a9bb33adf59ceb8200"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fvec1</b></td></tr>
+<tr class="separator:a218a7c4d23b962a9bb33adf59ceb8200"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76feac551dafafd145eb95d558f86b8e"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fvec2</b></td></tr>
+<tr class="separator:a76feac551dafafd145eb95d558f86b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25ecd692875d6f455dcb6d8bc80b0d26"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fvec3</b></td></tr>
+<tr class="separator:a25ecd692875d6f455dcb6d8bc80b0d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a328c393cd9a393b33342acbf9b91bf72"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_fvec4</b></td></tr>
+<tr class="separator:a328c393cd9a393b33342acbf9b91bf72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga62a17cddeb4dffb4e18fe3aea23f051a"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga62a17cddeb4dffb4e18fe3aea23f051a">mediump_i16</a></td></tr>
+<tr class="separator:ga62a17cddeb4dffb4e18fe3aea23f051a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacc9b5576745206f26ffa9386d4aa883"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i16vec1</b></td></tr>
+<tr class="separator:aacc9b5576745206f26ffa9386d4aa883"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5c4faa5372f985078762db4574bb9d4"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i16vec2</b></td></tr>
+<tr class="separator:ac5c4faa5372f985078762db4574bb9d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9f994bcfaa4716905cb8c7f81fe1f46"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i16vec3</b></td></tr>
+<tr class="separator:ad9f994bcfaa4716905cb8c7f81fe1f46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb0c81e9e6d4210216f4d911736aefad"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i16vec4</b></td></tr>
+<tr class="separator:abb0c81e9e6d4210216f4d911736aefad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf5e94bf2a20af7601787c154751dc2e1"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf5e94bf2a20af7601787c154751dc2e1">mediump_i32</a></td></tr>
+<tr class="separator:gaf5e94bf2a20af7601787c154751dc2e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75733ed8258c5e65ac97160c4a6c953a"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i32vec1</b></td></tr>
+<tr class="separator:a75733ed8258c5e65ac97160c4a6c953a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9183cdcdfe5d810078b3eecd1e66aa0a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i32vec2</b></td></tr>
+<tr class="separator:a9183cdcdfe5d810078b3eecd1e66aa0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6446c3c348eee2276ddcbfcc28aacc7"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i32vec3</b></td></tr>
+<tr class="separator:ad6446c3c348eee2276ddcbfcc28aacc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3eec682aede6e122daed84e2f38971d"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i32vec4</b></td></tr>
+<tr class="separator:ae3eec682aede6e122daed84e2f38971d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3ebcb1f6d8d8387253de8bccb058d77f"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3ebcb1f6d8d8387253de8bccb058d77f">mediump_i64</a></td></tr>
+<tr class="separator:ga3ebcb1f6d8d8387253de8bccb058d77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a42af3af0131095f8445ddd0738d76827"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i64vec1</b></td></tr>
+<tr class="separator:a42af3af0131095f8445ddd0738d76827"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80e458f3c0e9fb01d4695637a7ac0e5b"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i64vec2</b></td></tr>
+<tr class="separator:a80e458f3c0e9fb01d4695637a7ac0e5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa521bedc4cdd40c72880e426661f5603"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i64vec3</b></td></tr>
+<tr class="separator:aa521bedc4cdd40c72880e426661f5603"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44f3bdc69f2b2b919c8b68852dbcfad6"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i64vec4</b></td></tr>
+<tr class="separator:a44f3bdc69f2b2b919c8b68852dbcfad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacf1ded173e1e2d049c511d095b259e21"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gacf1ded173e1e2d049c511d095b259e21">mediump_i8</a></td></tr>
+<tr class="separator:gacf1ded173e1e2d049c511d095b259e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad1256e00d07c078cb4471eaba0f0c2d9"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; i8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i8vec1</b></td></tr>
+<tr class="separator:ad1256e00d07c078cb4471eaba0f0c2d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafab5df83068e06bca1dbaa63da08f99"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; i8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i8vec2</b></td></tr>
+<tr class="separator:aafab5df83068e06bca1dbaa63da08f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0455c25b51ff2d28eb036f34c7f3d486"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; i8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i8vec3</b></td></tr>
+<tr class="separator:a0455c25b51ff2d28eb036f34c7f3d486"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6d4413001e39e2f0f2d32b501867a56"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; i8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_i8vec4</b></td></tr>
+<tr class="separator:ac6d4413001e39e2f0f2d32b501867a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadff3608baa4b5bd3ed28f95c1c2c345d"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gadff3608baa4b5bd3ed28f95c1c2c345d">mediump_int16</a></td></tr>
+<tr class="separator:gadff3608baa4b5bd3ed28f95c1c2c345d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga80e72fe94c88498537e8158ba7591c54"><td class="memItemLeft" align="right" valign="top">typedef detail::int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga80e72fe94c88498537e8158ba7591c54">mediump_int16_t</a></td></tr>
+<tr class="separator:ga80e72fe94c88498537e8158ba7591c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5244cef85d6e870e240c76428a262ae8"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga5244cef85d6e870e240c76428a262ae8">mediump_int32</a></td></tr>
+<tr class="separator:ga5244cef85d6e870e240c76428a262ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga26fc7ced1ad7ca5024f1c973c8dc9180"><td class="memItemLeft" align="right" valign="top">typedef detail::int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga26fc7ced1ad7ca5024f1c973c8dc9180">mediump_int32_t</a></td></tr>
+<tr class="separator:ga26fc7ced1ad7ca5024f1c973c8dc9180"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7b968f2b86a0442a89c7359171e1d866"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga7b968f2b86a0442a89c7359171e1d866">mediump_int64</a></td></tr>
+<tr class="separator:ga7b968f2b86a0442a89c7359171e1d866"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac3bc41bcac61d1ba8f02a6f68ce23f64"><td class="memItemLeft" align="right" valign="top">typedef detail::int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gac3bc41bcac61d1ba8f02a6f68ce23f64">mediump_int64_t</a></td></tr>
+<tr class="separator:gac3bc41bcac61d1ba8f02a6f68ce23f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6fbd69cbdaa44345bff923a2cf63de7e"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga6fbd69cbdaa44345bff923a2cf63de7e">mediump_int8</a></td></tr>
+<tr class="separator:ga6fbd69cbdaa44345bff923a2cf63de7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6d7b3789ecb932c26430009478cac7ae"><td class="memItemLeft" align="right" valign="top">typedef detail::int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga6d7b3789ecb932c26430009478cac7ae">mediump_int8_t</a></td></tr>
+<tr class="separator:ga6d7b3789ecb932c26430009478cac7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af519098b37a0cfefa5886647dc38e508"><td class="memItemLeft" align="right" valign="top">typedef tquat&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_quat</b></td></tr>
+<tr class="separator:af519098b37a0cfefa5886647dc38e508"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9df98857be695d5a30cb30f5bfa38a80"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga9df98857be695d5a30cb30f5bfa38a80">mediump_u16</a></td></tr>
+<tr class="separator:ga9df98857be695d5a30cb30f5bfa38a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c3b4b9dff5b90eab9d71c47e2d3fb98"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u16vec1</b></td></tr>
+<tr class="separator:a9c3b4b9dff5b90eab9d71c47e2d3fb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4be7f884cf27a80820cf5fcefeab1459"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u16vec2</b></td></tr>
+<tr class="separator:a4be7f884cf27a80820cf5fcefeab1459"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a253c3e5826e0b99a82b4c3a81900e1"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u16vec3</b></td></tr>
+<tr class="separator:a0a253c3e5826e0b99a82b4c3a81900e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4005c6c2ffb591975adbf0aa73fedc8c"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u16, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u16vec4</b></td></tr>
+<tr class="separator:a4005c6c2ffb591975adbf0aa73fedc8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1bd0e914158bf03135f8a317de6debe9"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1bd0e914158bf03135f8a317de6debe9">mediump_u32</a></td></tr>
+<tr class="separator:ga1bd0e914158bf03135f8a317de6debe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89aa9ebbc28768a9ecb993ea366ce73c"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u32vec1</b></td></tr>
+<tr class="separator:a89aa9ebbc28768a9ecb993ea366ce73c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4611b14a12ec8b0b5988ed93c6060432"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u32vec2</b></td></tr>
+<tr class="separator:a4611b14a12ec8b0b5988ed93c6060432"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43bfb277372a5f8a1ab54c20b77467f1"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u32vec3</b></td></tr>
+<tr class="separator:a43bfb277372a5f8a1ab54c20b77467f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3093e6b1ceef9b6696333b3f6f8e6eef"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u32, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u32vec4</b></td></tr>
+<tr class="separator:a3093e6b1ceef9b6696333b3f6f8e6eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2af9490085ae3bdf36a544e9dd073610"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga2af9490085ae3bdf36a544e9dd073610">mediump_u64</a></td></tr>
+<tr class="separator:ga2af9490085ae3bdf36a544e9dd073610"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5c2b2f4b5a5e55285fb6e48360008a9"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u64vec1</b></td></tr>
+<tr class="separator:af5c2b2f4b5a5e55285fb6e48360008a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad068ce110bf95f22cff8206a9fb4ba2a"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u64vec2</b></td></tr>
+<tr class="separator:ad068ce110bf95f22cff8206a9fb4ba2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f514640b5b5827ede77642ebbbf5e68"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u64vec3</b></td></tr>
+<tr class="separator:a6f514640b5b5827ede77642ebbbf5e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab41db7da28e5948330db80f5ca75d850"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u64, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u64vec4</b></td></tr>
+<tr class="separator:ab41db7da28e5948330db80f5ca75d850"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad1213a22bbb9e4107f07eaa4956f8281"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad1213a22bbb9e4107f07eaa4956f8281">mediump_u8</a></td></tr>
+<tr class="separator:gad1213a22bbb9e4107f07eaa4956f8281"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c4001fcbff65fd29da82274a5d3ff38"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; u8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u8vec1</b></td></tr>
+<tr class="separator:a8c4001fcbff65fd29da82274a5d3ff38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a020049aa2177e8e08d2b338a5e904dc9"><td class="memItemLeft" align="right" valign="top">typedef tvec2&lt; u8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u8vec2</b></td></tr>
+<tr class="separator:a020049aa2177e8e08d2b338a5e904dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a06b978aef31306f3cfd3d8b6094f3ce3"><td class="memItemLeft" align="right" valign="top">typedef tvec3&lt; u8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u8vec3</b></td></tr>
+<tr class="separator:a06b978aef31306f3cfd3d8b6094f3ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ee5018e2f37029d5800e32fbcf74c74"><td class="memItemLeft" align="right" valign="top">typedef tvec4&lt; u8, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_u8vec4</b></td></tr>
+<tr class="separator:a0ee5018e2f37029d5800e32fbcf74c74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2885a6c89916911e418c06bb76b9bdbb"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga2885a6c89916911e418c06bb76b9bdbb">mediump_uint16</a></td></tr>
+<tr class="separator:ga2885a6c89916911e418c06bb76b9bdbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3963b1050fc65a383ee28e3f827b6e3e"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3963b1050fc65a383ee28e3f827b6e3e">mediump_uint16_t</a></td></tr>
+<tr class="separator:ga3963b1050fc65a383ee28e3f827b6e3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga34dd5ec1988c443bae80f1b20a8ade5f"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga34dd5ec1988c443bae80f1b20a8ade5f">mediump_uint32</a></td></tr>
+<tr class="separator:ga34dd5ec1988c443bae80f1b20a8ade5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf4dae276fd29623950de14a6ca2586b5"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf4dae276fd29623950de14a6ca2586b5">mediump_uint32_t</a></td></tr>
+<tr class="separator:gaf4dae276fd29623950de14a6ca2586b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga30652709815ad9404272a31957daa59e"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga30652709815ad9404272a31957daa59e">mediump_uint64</a></td></tr>
+<tr class="separator:ga30652709815ad9404272a31957daa59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9b170dd4a8f38448a2dc93987c7875e9"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga9b170dd4a8f38448a2dc93987c7875e9">mediump_uint64_t</a></td></tr>
+<tr class="separator:ga9b170dd4a8f38448a2dc93987c7875e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1fa92a233b9110861cdbc8c2ccf0b5a3"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga1fa92a233b9110861cdbc8c2ccf0b5a3">mediump_uint8</a></td></tr>
+<tr class="separator:ga1fa92a233b9110861cdbc8c2ccf0b5a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadfe65c78231039e90507770db50c98c7"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gadfe65c78231039e90507770db50c98c7">mediump_uint8_t</a></td></tr>
+<tr class="separator:gadfe65c78231039e90507770db50c98c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9bd33e4fdd9fce967a9f4a5e5ab70b4"><td class="memItemLeft" align="right" valign="top">typedef tvec1&lt; float, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>mediump_vec1</b></td></tr>
+<tr class="separator:ac9bd33e4fdd9fce967a9f4a5e5ab70b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fad291f6402e228d28779df175ba37a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fad291f6402e228d28779df175ba37a"></a>
+typedef highp_quat&#160;</td><td class="memItemRight" valign="bottom"><b>quat</b></td></tr>
+<tr class="separator:a2fad291f6402e228d28779df175ba37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa2d7acc0adb536fab71fe261232a40ff"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaa2d7acc0adb536fab71fe261232a40ff">u16</a></td></tr>
+<tr class="separator:gaa2d7acc0adb536fab71fe261232a40ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaefa2ce8fbdbe89baffd262f46f2d5907"><td class="memItemLeft" align="right" valign="top">typedef highp_u16vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaefa2ce8fbdbe89baffd262f46f2d5907">u16vec1</a></td></tr>
+<tr class="separator:gaefa2ce8fbdbe89baffd262f46f2d5907"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga426030555085ed6c39a54e73afbef962"><td class="memItemLeft" align="right" valign="top">typedef highp_u16vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga426030555085ed6c39a54e73afbef962">u16vec2</a></td></tr>
+<tr class="separator:ga426030555085ed6c39a54e73afbef962"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7f5dbe417199277e449b8db0210acb71"><td class="memItemLeft" align="right" valign="top">typedef highp_u16vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga7f5dbe417199277e449b8db0210acb71">u16vec3</a></td></tr>
+<tr class="separator:ga7f5dbe417199277e449b8db0210acb71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf524c9059f0342668d8eea359bcceaae"><td class="memItemLeft" align="right" valign="top">typedef highp_u16vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf524c9059f0342668d8eea359bcceaae">u16vec4</a></td></tr>
+<tr class="separator:gaf524c9059f0342668d8eea359bcceaae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8165913e068444f7842302d40ba897b9"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8165913e068444f7842302d40ba897b9">u32</a></td></tr>
+<tr class="separator:ga8165913e068444f7842302d40ba897b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga913a8bd51e4ebccd30ad488de3c18da9"><td class="memItemLeft" align="right" valign="top">typedef highp_u32vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a></td></tr>
+<tr class="separator:ga913a8bd51e4ebccd30ad488de3c18da9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0741d40e2b0fea4f1c50cb325114f075"><td class="memItemLeft" align="right" valign="top">typedef highp_u32vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a></td></tr>
+<tr class="separator:ga0741d40e2b0fea4f1c50cb325114f075"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad9b52e1c271cb9c8bfae6365d3e38a23"><td class="memItemLeft" align="right" valign="top">typedef highp_u32vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a></td></tr>
+<tr class="separator:gad9b52e1c271cb9c8bfae6365d3e38a23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga155ac7e9e454e2b1f73d11e1e28a0fd6"><td class="memItemLeft" align="right" valign="top">typedef highp_u32vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a></td></tr>
+<tr class="separator:ga155ac7e9e454e2b1f73d11e1e28a0fd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf3f312156984c365e9f65620354da70b"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaf3f312156984c365e9f65620354da70b">u64</a></td></tr>
+<tr class="separator:gaf3f312156984c365e9f65620354da70b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga793c9293cc687a0e342396a377c5df77"><td class="memItemLeft" align="right" valign="top">typedef highp_u64vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga793c9293cc687a0e342396a377c5df77">u64vec1</a></td></tr>
+<tr class="separator:ga793c9293cc687a0e342396a377c5df77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2204827de9d4ee7fa92ef497093f7d6e"><td class="memItemLeft" align="right" valign="top">typedef highp_u64vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga2204827de9d4ee7fa92ef497093f7d6e">u64vec2</a></td></tr>
+<tr class="separator:ga2204827de9d4ee7fa92ef497093f7d6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3460933f040f59f0fedb29df1e9be71c"><td class="memItemLeft" align="right" valign="top">typedef highp_u64vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3460933f040f59f0fedb29df1e9be71c">u64vec3</a></td></tr>
+<tr class="separator:ga3460933f040f59f0fedb29df1e9be71c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafb6ca34df28889a5db9d244aed375411"><td class="memItemLeft" align="right" valign="top">typedef highp_u64vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gafb6ca34df28889a5db9d244aed375411">u64vec4</a></td></tr>
+<tr class="separator:gafb6ca34df28889a5db9d244aed375411"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaecc7082561fc9028b844b6cf3d305d36"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#gaecc7082561fc9028b844b6cf3d305d36">u8</a></td></tr>
+<tr class="separator:gaecc7082561fc9028b844b6cf3d305d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga92e0c191e5cc326255284d08be3af7c5"><td class="memItemLeft" align="right" valign="top">typedef highp_u8vec1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga92e0c191e5cc326255284d08be3af7c5">u8vec1</a></td></tr>
+<tr class="separator:ga92e0c191e5cc326255284d08be3af7c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga61667c99caf60ce6c48ebbbac72bd91d"><td class="memItemLeft" align="right" valign="top">typedef highp_u8vec2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga61667c99caf60ce6c48ebbbac72bd91d">u8vec2</a></td></tr>
+<tr class="separator:ga61667c99caf60ce6c48ebbbac72bd91d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ca60d0ba6d438892be6017f43747661"><td class="memItemLeft" align="right" valign="top">typedef highp_u8vec3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga8ca60d0ba6d438892be6017f43747661">u8vec3</a></td></tr>
+<tr class="separator:ga8ca60d0ba6d438892be6017f43747661"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga114e005014d910bea07954eee24b7efb"><td class="memItemLeft" align="right" valign="top">typedef highp_u8vec4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga114e005014d910bea07954eee24b7efb">u8vec4</a></td></tr>
+<tr class="separator:ga114e005014d910bea07954eee24b7efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga91f91f411080c37730856ff5887f5bcf"><td class="memItemLeft" align="right" valign="top">typedef detail::uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga91f91f411080c37730856ff5887f5bcf">uint16_t</a></td></tr>
+<tr class="separator:ga91f91f411080c37730856ff5887f5bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2171d9dc1fefb1c82e2817f45b622eac"><td class="memItemLeft" align="right" valign="top">typedef detail::uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga2171d9dc1fefb1c82e2817f45b622eac">uint32_t</a></td></tr>
+<tr class="separator:ga2171d9dc1fefb1c82e2817f45b622eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3999d3e7ff22025c16ddb601e14dfdee"><td class="memItemLeft" align="right" valign="top">typedef detail::uint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga3999d3e7ff22025c16ddb601e14dfdee">uint64_t</a></td></tr>
+<tr class="separator:ga3999d3e7ff22025c16ddb601e14dfdee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga28d97808322d3c92186e4a0c067d7e8e"><td class="memItemLeft" align="right" valign="top">typedef detail::uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00177.html#ga28d97808322d3c92186e4a0c067d7e8e">uint8_t</a></td></tr>
+<tr class="separator:ga28d97808322d3c92186e4a0c067d7e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00038_source.html">fwd.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00038_source.html b/src/third_party/glm/doc/api/a00038_source.html
new file mode 100644
index 0000000..278b4d1
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00038_source.html
@@ -0,0 +1,1716 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: fwd.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">fwd.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00038.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00113.html">detail/type_int.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00110.html">detail/type_float.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00127.html">detail/type_vec.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00114.html">detail/type_mat.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// GLM_GTC_quaternion</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt; <span class="keyword">struct </span>tquat;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keyword">typedef</span> tquat&lt;float, lowp&gt;              lowp_quat;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        <span class="keyword">typedef</span> tquat&lt;float, mediump&gt;   mediump_quat;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">typedef</span> tquat&lt;float, highp&gt;             highp_quat;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="keyword">typedef</span> highp_quat                      quat;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">typedef</span> mediump_quat            quat;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">typedef</span> lowp_quat                       quat;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_FLOAT) &amp;&amp; !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">typedef</span> highp_quat                      quat;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">typedef</span> lowp_quat                       lowp_fquat;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <span class="keyword">typedef</span> mediump_quat            mediump_fquat;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">typedef</span> highp_quat                      highp_fquat;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">typedef</span> quat                            fquat;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keyword">typedef</span> tquat&lt;double, lowp&gt;             lowp_dquat;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        </div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="keyword">typedef</span> tquat&lt;double, mediump&gt;  mediump_dquat;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        </div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">typedef</span> tquat&lt;double, highp&gt;    highp_dquat;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        </div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">typedef</span> highp_dquat                     dquat;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keyword">typedef</span> mediump_dquat           dquat;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keyword">typedef</span> lowp_dquat                      dquat;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_MEDIUMP_DOUBLE) &amp;&amp; !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">typedef</span> highp_dquat                     dquat;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="comment">// GLM_GTC_precision</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00177.html#ga760bcf26fdb23a2c3ecad3c928a19ae6">  100</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga760bcf26fdb23a2c3ecad3c928a19ae6">lowp_int8</a>;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        </div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="a00177.html#ga698e36b01167fc0f037889334dce8def">  104</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga698e36b01167fc0f037889334dce8def">lowp_int16</a>;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="a00177.html#ga864aabca5f3296e176e0c3ed9cc16b02">  108</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga864aabca5f3296e176e0c3ed9cc16b02">lowp_int32</a>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="a00177.html#gaf645b1a60203b39c0207baff5e3d8c3c">  112</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#gaf645b1a60203b39c0207baff5e3d8c3c">lowp_int64</a>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="a00177.html#ga119c41d73fe9977358174eb3ac1035a3">  116</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga119c41d73fe9977358174eb3ac1035a3">lowp_int8_t</a>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        </div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00177.html#ga8b2cd8d31eb345b2d641d9261c38db1a">  120</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga8b2cd8d31eb345b2d641d9261c38db1a">lowp_int16_t</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="a00177.html#ga0350631d35ff800e6133ac6243b13cbc">  124</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga0350631d35ff800e6133ac6243b13cbc">lowp_int32_t</a>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="a00177.html#gaebf341fc4a5be233f7dde962c2e33847">  128</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#gaebf341fc4a5be233f7dde962c2e33847">lowp_int64_t</a>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="a00177.html#ga552a6bde5e75984efb0f863278da2e54">  132</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga552a6bde5e75984efb0f863278da2e54">lowp_i8</a>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        </div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="a00177.html#ga392b673fd10847bfb78fb808c6cf8ff7">  136</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga392b673fd10847bfb78fb808c6cf8ff7">lowp_i16</a>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="a00177.html#ga7ff73a45cea9613ebf1a9fad0b9f82ac">  140</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga7ff73a45cea9613ebf1a9fad0b9f82ac">lowp_i32</a>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="a00177.html#ga354736e0c645099cd44c42fb2f87c2b8">  144</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#ga354736e0c645099cd44c42fb2f87c2b8">lowp_i64</a>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="a00177.html#ga6fbd69cbdaa44345bff923a2cf63de7e">  148</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga6fbd69cbdaa44345bff923a2cf63de7e">mediump_int8</a>;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        </div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="a00177.html#gadff3608baa4b5bd3ed28f95c1c2c345d">  152</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#gadff3608baa4b5bd3ed28f95c1c2c345d">mediump_int16</a>;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="a00177.html#ga5244cef85d6e870e240c76428a262ae8">  156</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga5244cef85d6e870e240c76428a262ae8">mediump_int32</a>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="a00177.html#ga7b968f2b86a0442a89c7359171e1d866">  160</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#ga7b968f2b86a0442a89c7359171e1d866">mediump_int64</a>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="a00177.html#ga6d7b3789ecb932c26430009478cac7ae">  164</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga6d7b3789ecb932c26430009478cac7ae">mediump_int8_t</a>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        </div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="a00177.html#ga80e72fe94c88498537e8158ba7591c54">  168</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga80e72fe94c88498537e8158ba7591c54">mediump_int16_t</a>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="a00177.html#ga26fc7ced1ad7ca5024f1c973c8dc9180">  172</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga26fc7ced1ad7ca5024f1c973c8dc9180">mediump_int32_t</a>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="a00177.html#gac3bc41bcac61d1ba8f02a6f68ce23f64">  176</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#gac3bc41bcac61d1ba8f02a6f68ce23f64">mediump_int64_t</a>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="a00177.html#gacf1ded173e1e2d049c511d095b259e21">  180</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#gacf1ded173e1e2d049c511d095b259e21">mediump_i8</a>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        </div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="a00177.html#ga62a17cddeb4dffb4e18fe3aea23f051a">  184</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga62a17cddeb4dffb4e18fe3aea23f051a">mediump_i16</a>;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
+<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="a00177.html#gaf5e94bf2a20af7601787c154751dc2e1">  188</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#gaf5e94bf2a20af7601787c154751dc2e1">mediump_i32</a>;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="a00177.html#ga3ebcb1f6d8d8387253de8bccb058d77f">  192</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#ga3ebcb1f6d8d8387253de8bccb058d77f">mediump_i64</a>;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
+<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="a00177.html#gad0549c902a96a7164e4ac858d5f39dbf">  196</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#gad0549c902a96a7164e4ac858d5f39dbf">highp_int8</a>;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        </div>
+<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="a00177.html#ga5fde0fa4a3852a9dd5d637a92ee74718">  200</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga5fde0fa4a3852a9dd5d637a92ee74718">highp_int16</a>;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="a00177.html#ga84ed04b4e0de18c977e932d617e7c223">  204</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga84ed04b4e0de18c977e932d617e7c223">highp_int32</a>;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="a00177.html#ga226a8d52b4e3f77aaa6231135e886aac">  208</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#ga226a8d52b4e3f77aaa6231135e886aac">highp_int64</a>;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="a00177.html#ga1085c50dd8fbeb5e7e609b1c127492a5">  212</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga1085c50dd8fbeb5e7e609b1c127492a5">highp_int8_t</a>;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        </div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="a00177.html#gacaea06d0a79ef3172e887a7a6ba434ff">  216</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#gacaea06d0a79ef3172e887a7a6ba434ff">highp_int16_t</a>;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="a00177.html#ga2c71c8bd9e2fe7d2e93ca250d8b6157f">  220</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga2c71c8bd9e2fe7d2e93ca250d8b6157f">highp_int32_t</a>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
+<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="a00177.html#ga73c6abb280a45feeff60f9accaee91f3">  224</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#ga73c6abb280a45feeff60f9accaee91f3">highp_int64_t</a>;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div>
+<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="a00177.html#gacb88796f2d08ef253d0345aff20c3aee">  228</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#gacb88796f2d08ef253d0345aff20c3aee">highp_i8</a>;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        </div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="a00177.html#ga0336abc2604dd2c20c30e036454b64f8">  232</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga0336abc2604dd2c20c30e036454b64f8">highp_i16</a>;</div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="a00177.html#ga727675ac6b5d2fc699520e0059735e25">  236</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga727675ac6b5d2fc699520e0059735e25">highp_i32</a>;</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="a00177.html#gac25db6d2b1e2a0f351b77ba3409ac4cd">  240</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#gac25db6d2b1e2a0f351b77ba3409ac4cd">highp_i64</a>;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga41c6189f6485c2825d60fdc835b3a2b0">int8</a>;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        </div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga302041c186d0d028bea31b711fe16759">int16</a>;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga8df669f4e7698dfe0c0354d92578d74f">int32</a>;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#gaff5189f97f9e842d9636a0f240001b2e">int64</a>;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor">#if GLM_HAS_EXTENDED_INTEGER_TYPE</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga4bf09d8838a86866b39ee6e109341645">std::int8_t</a>;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#gae8f5e3e964ca2ae240adc2c0d74adede">std::int16_t</a>;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga042ef09ff2f0cb24a36f541bcb3a3710">std::int32_t</a>;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga322a7d7d2c2c68994dc872a33de63c61">std::int64_t</a>;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga4bf09d8838a86866b39ee6e109341645">int8_t</a>;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        </div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="a00177.html#gae8f5e3e964ca2ae240adc2c0d74adede">  272</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#gae8f5e3e964ca2ae240adc2c0d74adede">int16_t</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div>
+<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="a00177.html#ga042ef09ff2f0cb24a36f541bcb3a3710">  276</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga042ef09ff2f0cb24a36f541bcb3a3710">int32_t</a>;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
+<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="a00177.html#ga322a7d7d2c2c68994dc872a33de63c61">  280</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#ga322a7d7d2c2c68994dc872a33de63c61">int64_t</a>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div>
+<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="a00177.html#ga302ec977b0c0c3ea245b6c9275495355">  285</a></span>&#160;        <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00177.html#ga302ec977b0c0c3ea245b6c9275495355">i8</a>;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        </div>
+<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="a00177.html#ga3ab5fe184343d394fb6c2723c3ee3699">  289</a></span>&#160;        <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00177.html#ga3ab5fe184343d394fb6c2723c3ee3699">i16</a>;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
+<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="a00177.html#ga96faea43ac5f875d2d3ffbf8d213e3eb">  293</a></span>&#160;        <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00177.html#ga96faea43ac5f875d2d3ffbf8d213e3eb">i32</a>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="a00177.html#gadb997e409103d4da18abd837e636a496">  297</a></span>&#160;        <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00177.html#gadb997e409103d4da18abd837e636a496">i64</a>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        </div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        </div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i8, lowp&gt; lowp_i8vec1;</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;        </div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i8, lowp&gt; lowp_i8vec2;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        </div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i8, lowp&gt; lowp_i8vec3;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        </div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i8, lowp&gt; lowp_i8vec4;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;        </div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i8, mediump&gt; mediump_i8vec1;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        </div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i8, mediump&gt; mediump_i8vec2;</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        </div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i8, mediump&gt; mediump_i8vec3;</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        </div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i8, mediump&gt; mediump_i8vec4;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        </div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        </div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i8, highp&gt; highp_i8vec1;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        </div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i8, highp&gt; highp_i8vec2;</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        </div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i8, highp&gt; highp_i8vec3;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        </div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i8, highp&gt; highp_i8vec4;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        </div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        <span class="keyword">typedef</span> lowp_i8vec1                             <a class="code" href="a00177.html#gab2329c5c14ff5a03b1ddec039e2c7409">i8vec1</a>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keyword">typedef</span> lowp_i8vec2                             <a class="code" href="a00177.html#ga6414484477e4c1b4863cf91af8fd4185">i8vec2</a>;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keyword">typedef</span> lowp_i8vec3                             <a class="code" href="a00177.html#gaf4b5993e794e252607f91535b62a7e0c">i8vec3</a>;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <span class="keyword">typedef</span> lowp_i8vec4                             <a class="code" href="a00177.html#ga50e58885aee2cf01bb3ba472c5b1697e">i8vec4</a>;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keyword">typedef</span> mediump_i8vec1                  <a class="code" href="a00177.html#gab2329c5c14ff5a03b1ddec039e2c7409">i8vec1</a>;</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        <span class="keyword">typedef</span> mediump_i8vec2                  <a class="code" href="a00177.html#ga6414484477e4c1b4863cf91af8fd4185">i8vec2</a>;</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;        <span class="keyword">typedef</span> mediump_i8vec3                  <a class="code" href="a00177.html#gaf4b5993e794e252607f91535b62a7e0c">i8vec3</a>;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keyword">typedef</span> mediump_i8vec4                  <a class="code" href="a00177.html#ga50e58885aee2cf01bb3ba472c5b1697e">i8vec4</a>; </div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;        <span class="keyword">typedef</span> highp_i8vec1                    <a class="code" href="a00177.html#gab2329c5c14ff5a03b1ddec039e2c7409">i8vec1</a>;</div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        </div>
+<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="a00177.html#ga6414484477e4c1b4863cf91af8fd4185">  368</a></span>&#160;        <span class="keyword">typedef</span> highp_i8vec2                    <a class="code" href="a00177.html#ga6414484477e4c1b4863cf91af8fd4185">i8vec2</a>;</div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        </div>
+<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="a00177.html#gaf4b5993e794e252607f91535b62a7e0c">  372</a></span>&#160;        <span class="keyword">typedef</span> highp_i8vec3                    <a class="code" href="a00177.html#gaf4b5993e794e252607f91535b62a7e0c">i8vec3</a>;</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        </div>
+<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="a00177.html#ga50e58885aee2cf01bb3ba472c5b1697e">  376</a></span>&#160;        <span class="keyword">typedef</span> highp_i8vec4                    <a class="code" href="a00177.html#ga50e58885aee2cf01bb3ba472c5b1697e">i8vec4</a>;</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        </div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        </div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i16, lowp&gt;                lowp_i16vec1;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        </div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i16, lowp&gt;                lowp_i16vec2;</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        </div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i16, lowp&gt;                lowp_i16vec3;</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        </div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i16, lowp&gt;                lowp_i16vec4;</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        </div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        </div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i16, mediump&gt;             mediump_i16vec1;</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;        </div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i16, mediump&gt;             mediump_i16vec2;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        </div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i16, mediump&gt;             mediump_i16vec3;</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        </div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i16, mediump&gt;             mediump_i16vec4;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        </div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        </div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i16, highp&gt;               highp_i16vec1;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        </div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i16, highp&gt;               highp_i16vec2;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i16, highp&gt;               highp_i16vec3;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        </div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i16, highp&gt;               highp_i16vec4;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        </div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        </div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        <span class="keyword">typedef</span> lowp_i16vec1                    <a class="code" href="a00177.html#ga28f03a39ac56c70f9bf3ada11cb60e3b">i16vec1</a>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        <span class="keyword">typedef</span> lowp_i16vec2                    <a class="code" href="a00177.html#ga110bec18ca44c41c76c3c9e4d7b5bd79">i16vec2</a>;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        <span class="keyword">typedef</span> lowp_i16vec3                    <a class="code" href="a00177.html#ga973b226a9914db682c9372fc761fb535">i16vec3</a>;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        <span class="keyword">typedef</span> lowp_i16vec4                    <a class="code" href="a00177.html#gad73e5e905dcf2d8cab002b4ab46e9426">i16vec4</a>;</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        <span class="keyword">typedef</span> mediump_i16vec1                 <a class="code" href="a00177.html#ga28f03a39ac56c70f9bf3ada11cb60e3b">i16vec1</a>;</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        <span class="keyword">typedef</span> mediump_i16vec2                 <a class="code" href="a00177.html#ga110bec18ca44c41c76c3c9e4d7b5bd79">i16vec2</a>;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        <span class="keyword">typedef</span> mediump_i16vec3                 <a class="code" href="a00177.html#ga973b226a9914db682c9372fc761fb535">i16vec3</a>;</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keyword">typedef</span> mediump_i16vec4                 <a class="code" href="a00177.html#gad73e5e905dcf2d8cab002b4ab46e9426">i16vec4</a>;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        <span class="keyword">typedef</span> highp_i16vec1                   <a class="code" href="a00177.html#ga28f03a39ac56c70f9bf3ada11cb60e3b">i16vec1</a>;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        </div>
+<div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="a00177.html#ga110bec18ca44c41c76c3c9e4d7b5bd79">  448</a></span>&#160;        <span class="keyword">typedef</span> highp_i16vec2                   <a class="code" href="a00177.html#ga110bec18ca44c41c76c3c9e4d7b5bd79">i16vec2</a>;</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        </div>
+<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="a00177.html#ga973b226a9914db682c9372fc761fb535">  452</a></span>&#160;        <span class="keyword">typedef</span> highp_i16vec3                   <a class="code" href="a00177.html#ga973b226a9914db682c9372fc761fb535">i16vec3</a>;</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        </div>
+<div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="a00177.html#gad73e5e905dcf2d8cab002b4ab46e9426">  456</a></span>&#160;        <span class="keyword">typedef</span> highp_i16vec4                   <a class="code" href="a00177.html#gad73e5e905dcf2d8cab002b4ab46e9426">i16vec4</a>;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i32, lowp&gt;                lowp_i32vec1;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        </div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i32, lowp&gt;                lowp_i32vec2;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        </div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i32, lowp&gt;                lowp_i32vec3;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        </div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i32, lowp&gt;                lowp_i32vec4;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        </div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i32, mediump&gt;             mediump_i32vec1;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i32, mediump&gt;             mediump_i32vec2;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i32, mediump&gt;             mediump_i32vec3;</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        </div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i32, mediump&gt;             mediump_i32vec4;</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        </div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        </div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i32, highp&gt;               highp_i32vec1;</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;        </div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i32, highp&gt;               highp_i32vec2;</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;        </div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i32, highp&gt;               highp_i32vec3;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        </div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i32, highp&gt;               highp_i32vec4;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        </div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec1                    <a class="code" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a>;</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec2                    <a class="code" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a>;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec3                    <a class="code" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a>;</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec4                    <a class="code" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a>;</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec1                 <a class="code" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a>;</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec2                 <a class="code" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a>;</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec3                 <a class="code" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a>;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec4                 <a class="code" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a>;</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        <span class="keyword">typedef</span> highp_i32vec1                   <a class="code" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a>;</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        </div>
+<div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">  527</a></span>&#160;        <span class="keyword">typedef</span> highp_i32vec2                   <a class="code" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a>;</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        </div>
+<div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">  531</a></span>&#160;        <span class="keyword">typedef</span> highp_i32vec3                   <a class="code" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a>;</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        </div>
+<div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">  535</a></span>&#160;        <span class="keyword">typedef</span> highp_i32vec4                   <a class="code" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a>;</div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i32, lowp&gt;                lowp_i32vec1;</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;        </div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i32, lowp&gt;                lowp_i32vec2;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        </div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i32, lowp&gt;                lowp_i32vec3;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        </div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i32, lowp&gt;                lowp_i32vec4;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        </div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        </div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i32, mediump&gt;             mediump_i32vec1;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        </div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i32, mediump&gt;             mediump_i32vec2;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        </div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i32, mediump&gt;             mediump_i32vec3;</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;        </div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i32, mediump&gt;             mediump_i32vec4;</div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;        </div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        </div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i32, highp&gt;               highp_i32vec1;</div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        </div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i32, highp&gt;               highp_i32vec2;</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;        </div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i32, highp&gt;               highp_i32vec3;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;        </div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i32, highp&gt;               highp_i32vec4;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;        </div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec1                    <a class="code" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a>;</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec2                    <a class="code" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a>;</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec3                    <a class="code" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a>;</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;        <span class="keyword">typedef</span> lowp_i32vec4                    <a class="code" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a>;</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec1                 <a class="code" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a>;</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec2                 <a class="code" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a>;</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec3                 <a class="code" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a>;</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        <span class="keyword">typedef</span> mediump_i32vec4                 <a class="code" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a>;</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;        <span class="keyword">typedef</span> highp_i32vec1                   <a class="code" href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">i32vec1</a>;</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        <span class="keyword">typedef</span> highp_i32vec2                   <a class="code" href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">i32vec2</a>;</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;        </div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;        <span class="keyword">typedef</span> highp_i32vec3                   <a class="code" href="a00177.html#ga40cd3f391c03512f158d10a70062264e">i32vec3</a>;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        </div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        <span class="keyword">typedef</span> highp_i32vec4                   <a class="code" href="a00177.html#gae3364a8090e7e1408056e00403dfecab">i32vec4</a>;</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;        </div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i64, lowp&gt;                lowp_i64vec1;</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;        </div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i64, lowp&gt;                lowp_i64vec2;</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;        </div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i64, lowp&gt;                lowp_i64vec3;</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        </div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i64, lowp&gt;                lowp_i64vec4;</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        </div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        </div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i64, mediump&gt;             mediump_i64vec1;</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;        </div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i64, mediump&gt;             mediump_i64vec2;</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        </div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i64, mediump&gt;             mediump_i64vec3;</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;        </div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i64, mediump&gt;             mediump_i64vec4;</div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        </div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;        </div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;i64, highp&gt;               highp_i64vec1;</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;        </div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;i64, highp&gt;               highp_i64vec2;</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        </div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;i64, highp&gt;               highp_i64vec3;</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        </div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;i64, highp&gt;               highp_i64vec4;</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;        </div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        <span class="keyword">typedef</span> lowp_i64vec1                    <a class="code" href="a00177.html#ga5b4a3e499ee165efc0dc05add9c48235">i64vec1</a>;</div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;        <span class="keyword">typedef</span> lowp_i64vec2                    <a class="code" href="a00177.html#gade69872a31f066e5ae212f1af6008edb">i64vec2</a>;</div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;        <span class="keyword">typedef</span> lowp_i64vec3                    <a class="code" href="a00177.html#ga9ece7c77c7bca7a6b824ef9c600f5e5e">i64vec3</a>;</div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        <span class="keyword">typedef</span> lowp_i64vec4                    <a class="code" href="a00177.html#ga9756e45c8f80329257f3cbdabc3bd73c">i64vec4</a>;</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        <span class="keyword">typedef</span> mediump_i64vec1                 <a class="code" href="a00177.html#ga5b4a3e499ee165efc0dc05add9c48235">i64vec1</a>;</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;        <span class="keyword">typedef</span> mediump_i64vec2                 <a class="code" href="a00177.html#gade69872a31f066e5ae212f1af6008edb">i64vec2</a>;</div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;        <span class="keyword">typedef</span> mediump_i64vec3                 <a class="code" href="a00177.html#ga9ece7c77c7bca7a6b824ef9c600f5e5e">i64vec3</a>;</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;        <span class="keyword">typedef</span> mediump_i64vec4                 <a class="code" href="a00177.html#ga9756e45c8f80329257f3cbdabc3bd73c">i64vec4</a>;</div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        <span class="keyword">typedef</span> highp_i64vec1                   <a class="code" href="a00177.html#ga5b4a3e499ee165efc0dc05add9c48235">i64vec1</a>;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div>
+<div class="line"><a name="l00686"></a><span class="lineno"><a class="line" href="a00177.html#gade69872a31f066e5ae212f1af6008edb">  686</a></span>&#160;        <span class="keyword">typedef</span> highp_i64vec2                   <a class="code" href="a00177.html#gade69872a31f066e5ae212f1af6008edb">i64vec2</a>;</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        </div>
+<div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="a00177.html#ga9ece7c77c7bca7a6b824ef9c600f5e5e">  690</a></span>&#160;        <span class="keyword">typedef</span> highp_i64vec3                   <a class="code" href="a00177.html#ga9ece7c77c7bca7a6b824ef9c600f5e5e">i64vec3</a>;</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;        </div>
+<div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="a00177.html#ga9756e45c8f80329257f3cbdabc3bd73c">  694</a></span>&#160;        <span class="keyword">typedef</span> highp_i64vec4                   <a class="code" href="a00177.html#ga9756e45c8f80329257f3cbdabc3bd73c">i64vec4</a>;</div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;        </div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;        </div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <span class="comment">// Unsigned int vector types</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        </div>
+<div class="line"><a name="l00703"></a><span class="lineno"><a class="line" href="a00177.html#gaf49470869e9be2c059629b250619804e">  703</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#gaf49470869e9be2c059629b250619804e">lowp_uint8</a>;</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        </div>
+<div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="a00177.html#gad68bfd9f881856fc863a6ebca0b67f78">  707</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#gad68bfd9f881856fc863a6ebca0b67f78">lowp_uint16</a>;</div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        </div>
+<div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="a00177.html#gaa6a5b461bbf5fe20982472aa51896d4b">  711</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#gaa6a5b461bbf5fe20982472aa51896d4b">lowp_uint32</a>;</div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        </div>
+<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="a00177.html#gaa212b805736a759998e312cbdd550fae">  715</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#gaa212b805736a759998e312cbdd550fae">lowp_uint64</a>;</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;        </div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;        </div>
+<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="a00177.html#ga667b2ece2b258be898812dc2177995d1">  720</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#ga667b2ece2b258be898812dc2177995d1">lowp_uint8_t</a>;</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;        </div>
+<div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="a00177.html#ga91c4815f93177eb423362fd296a87e9f">  724</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga91c4815f93177eb423362fd296a87e9f">lowp_uint16_t</a>;</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;        </div>
+<div class="line"><a name="l00728"></a><span class="lineno"><a class="line" href="a00177.html#gaf1b735b4b1145174f4e4167d13778f9b">  728</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#gaf1b735b4b1145174f4e4167d13778f9b">lowp_uint32_t</a>;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;        </div>
+<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="a00177.html#ga8dd3a3281ae5c970ffe0c41d538aa153">  732</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga8dd3a3281ae5c970ffe0c41d538aa153">lowp_uint64_t</a>;</div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;        </div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;        </div>
+<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="a00177.html#ga1b09f03da7ac43055c68a349d5445083">  737</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#ga1b09f03da7ac43055c68a349d5445083">lowp_u8</a>;</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;        </div>
+<div class="line"><a name="l00741"></a><span class="lineno"><a class="line" href="a00177.html#ga504ce1631cb2ac02fcf1d44d8c2aa126">  741</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga504ce1631cb2ac02fcf1d44d8c2aa126">lowp_u16</a>;</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        </div>
+<div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="a00177.html#ga4f072ada9552e1e480bbb3b1acde5250">  745</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga4f072ada9552e1e480bbb3b1acde5250">lowp_u32</a>;</div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;        </div>
+<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="a00177.html#ga30069d1f02b19599cbfadf98c23ac6ed">  749</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga30069d1f02b19599cbfadf98c23ac6ed">lowp_u64</a>;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        </div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        </div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        </div>
+<div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="a00177.html#ga1fa92a233b9110861cdbc8c2ccf0b5a3">  755</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#ga1fa92a233b9110861cdbc8c2ccf0b5a3">mediump_uint8</a>;</div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;        </div>
+<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="a00177.html#ga2885a6c89916911e418c06bb76b9bdbb">  759</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga2885a6c89916911e418c06bb76b9bdbb">mediump_uint16</a>;</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        </div>
+<div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="a00177.html#ga34dd5ec1988c443bae80f1b20a8ade5f">  763</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga34dd5ec1988c443bae80f1b20a8ade5f">mediump_uint32</a>;</div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        </div>
+<div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="a00177.html#ga30652709815ad9404272a31957daa59e">  767</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga30652709815ad9404272a31957daa59e">mediump_uint64</a>;</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        </div>
+<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="a00177.html#gadfe65c78231039e90507770db50c98c7">  771</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#gadfe65c78231039e90507770db50c98c7">mediump_uint8_t</a>;</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;        </div>
+<div class="line"><a name="l00775"></a><span class="lineno"><a class="line" href="a00177.html#ga3963b1050fc65a383ee28e3f827b6e3e">  775</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga3963b1050fc65a383ee28e3f827b6e3e">mediump_uint16_t</a>;</div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;        </div>
+<div class="line"><a name="l00779"></a><span class="lineno"><a class="line" href="a00177.html#gaf4dae276fd29623950de14a6ca2586b5">  779</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#gaf4dae276fd29623950de14a6ca2586b5">mediump_uint32_t</a>;</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;        </div>
+<div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="a00177.html#ga9b170dd4a8f38448a2dc93987c7875e9">  783</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga9b170dd4a8f38448a2dc93987c7875e9">mediump_uint64_t</a>;</div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        </div>
+<div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="a00177.html#gad1213a22bbb9e4107f07eaa4956f8281">  787</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#gad1213a22bbb9e4107f07eaa4956f8281">mediump_u8</a>;</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        </div>
+<div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="a00177.html#ga9df98857be695d5a30cb30f5bfa38a80">  791</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga9df98857be695d5a30cb30f5bfa38a80">mediump_u16</a>;</div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;        </div>
+<div class="line"><a name="l00795"></a><span class="lineno"><a class="line" href="a00177.html#ga1bd0e914158bf03135f8a317de6debe9">  795</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga1bd0e914158bf03135f8a317de6debe9">mediump_u32</a>;</div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        </div>
+<div class="line"><a name="l00799"></a><span class="lineno"><a class="line" href="a00177.html#ga2af9490085ae3bdf36a544e9dd073610">  799</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga2af9490085ae3bdf36a544e9dd073610">mediump_u64</a>;</div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;                </div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;        </div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;        </div>
+<div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="a00177.html#ga97432f9979e73e66567361fd01e4cffb">  805</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#ga97432f9979e73e66567361fd01e4cffb">highp_uint8</a>;</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;        </div>
+<div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="a00177.html#ga746dc6da204f5622e395f492997dbf57">  809</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga746dc6da204f5622e395f492997dbf57">highp_uint16</a>;</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        </div>
+<div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="a00177.html#ga256b12b650c3f2fb86878fd1c5db8bc3">  813</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga256b12b650c3f2fb86878fd1c5db8bc3">highp_uint32</a>;</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        </div>
+<div class="line"><a name="l00817"></a><span class="lineno"><a class="line" href="a00177.html#gaa38d732f5d4a7bc42a1b43b9d3c141ce">  817</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#gaa38d732f5d4a7bc42a1b43b9d3c141ce">highp_uint64</a>;</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;        </div>
+<div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="a00177.html#gac4e00a26a2adb5f2c0a7096810df29e5">  821</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#gac4e00a26a2adb5f2c0a7096810df29e5">highp_uint8_t</a>;</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        </div>
+<div class="line"><a name="l00825"></a><span class="lineno"><a class="line" href="a00177.html#gacf54c3330ef60aa3d16cb676c7bcb8c7">  825</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#gacf54c3330ef60aa3d16cb676c7bcb8c7">highp_uint16_t</a>;</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;        </div>
+<div class="line"><a name="l00829"></a><span class="lineno"><a class="line" href="a00177.html#gae978599c9711ac263ba732d4ac225b0e">  829</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#gae978599c9711ac263ba732d4ac225b0e">highp_uint32_t</a>;</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        </div>
+<div class="line"><a name="l00833"></a><span class="lineno"><a class="line" href="a00177.html#gaa46172d7dc1c7ffe3e78107ff88adf08">  833</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#gaa46172d7dc1c7ffe3e78107ff88adf08">highp_uint64_t</a>;</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;        </div>
+<div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="a00177.html#gacd1259f3a9e8d2a9df5be2d74322ef9c">  837</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#gacd1259f3a9e8d2a9df5be2d74322ef9c">highp_u8</a>;</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;        </div>
+<div class="line"><a name="l00841"></a><span class="lineno"><a class="line" href="a00177.html#ga8e62c883d13f47015f3b70ed88751369">  841</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga8e62c883d13f47015f3b70ed88751369">highp_u16</a>;</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        </div>
+<div class="line"><a name="l00845"></a><span class="lineno"><a class="line" href="a00177.html#ga7a6f1929464dcc680b16381a4ee5f2cf">  845</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga7a6f1929464dcc680b16381a4ee5f2cf">highp_u32</a>;</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;        </div>
+<div class="line"><a name="l00849"></a><span class="lineno"><a class="line" href="a00177.html#ga0c181fdf06a309691999926b6690c969">  849</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga0c181fdf06a309691999926b6690c969">highp_u64</a>;</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;        </div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;        </div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;        </div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#ga36475e31b1992cfde54c1a6f5a148865">uint8</a>;</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        </div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga13471cbbe74e4303a57f3743d007b74d">uint16</a>;</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        </div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga5fa3ddcab56c789bc272ff5651faa12d">uint32</a>;</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;        </div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#gab630f76c26b50298187f7889104d4b9c">uint64</a>;</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;        </div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;<span class="preprocessor">#if GLM_HAS_EXTENDED_INTEGER_TYPE</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga28d97808322d3c92186e4a0c067d7e8e">std::uint8_t</a>;</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga91f91f411080c37730856ff5887f5bcf">std::uint16_t</a>;</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga2171d9dc1fefb1c82e2817f45b622eac">std::uint32_t</a>;</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;        <span class="keyword">using</span> <a class="code" href="a00177.html#ga3999d3e7ff22025c16ddb601e14dfdee">std::uint64_t</a>;</div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#ga28d97808322d3c92186e4a0c067d7e8e">uint8_t</a>;</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;        </div>
+<div class="line"><a name="l00881"></a><span class="lineno"><a class="line" href="a00177.html#ga91f91f411080c37730856ff5887f5bcf">  881</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#ga91f91f411080c37730856ff5887f5bcf">uint16_t</a>;</div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;        </div>
+<div class="line"><a name="l00885"></a><span class="lineno"><a class="line" href="a00177.html#ga2171d9dc1fefb1c82e2817f45b622eac">  885</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga2171d9dc1fefb1c82e2817f45b622eac">uint32_t</a>;</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        </div>
+<div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="a00177.html#ga3999d3e7ff22025c16ddb601e14dfdee">  889</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#ga3999d3e7ff22025c16ddb601e14dfdee">uint64_t</a>;</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;</div>
+<div class="line"><a name="l00894"></a><span class="lineno"><a class="line" href="a00177.html#gaecc7082561fc9028b844b6cf3d305d36">  894</a></span>&#160;        <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00177.html#gaecc7082561fc9028b844b6cf3d305d36">u8</a>;</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;</div>
+<div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="a00177.html#gaa2d7acc0adb536fab71fe261232a40ff">  898</a></span>&#160;        <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00177.html#gaa2d7acc0adb536fab71fe261232a40ff">u16</a>;</div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;</div>
+<div class="line"><a name="l00902"></a><span class="lineno"><a class="line" href="a00177.html#ga8165913e068444f7842302d40ba897b9">  902</a></span>&#160;        <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00177.html#ga8165913e068444f7842302d40ba897b9">u32</a>;</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;</div>
+<div class="line"><a name="l00906"></a><span class="lineno"><a class="line" href="a00177.html#gaf3f312156984c365e9f65620354da70b">  906</a></span>&#160;        <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00177.html#gaf3f312156984c365e9f65620354da70b">u64</a>;</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;</div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u8, lowp&gt; lowp_u8vec1;</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;        </div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u8, lowp&gt; lowp_u8vec2;</div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;        </div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u8, lowp&gt; lowp_u8vec3;</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        </div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u8, lowp&gt; lowp_u8vec4;</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        </div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u8, mediump&gt; mediump_u8vec1;</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u8, mediump&gt; mediump_u8vec2;</div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u8, mediump&gt; mediump_u8vec3;</div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u8, mediump&gt; mediump_u8vec4;</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u8, highp&gt; highp_u8vec1;</div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;</div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u8, highp&gt; highp_u8vec2;</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u8, highp&gt; highp_u8vec3;</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u8, highp&gt; highp_u8vec4;</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;</div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;        <span class="keyword">typedef</span> lowp_u8vec1                             <a class="code" href="a00177.html#ga92e0c191e5cc326255284d08be3af7c5">u8vec1</a>;</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;        <span class="keyword">typedef</span> lowp_u8vec2                             <a class="code" href="a00177.html#ga61667c99caf60ce6c48ebbbac72bd91d">u8vec2</a>;</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;        <span class="keyword">typedef</span> lowp_u8vec3                             <a class="code" href="a00177.html#ga8ca60d0ba6d438892be6017f43747661">u8vec3</a>;</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;        <span class="keyword">typedef</span> lowp_u8vec4                             <a class="code" href="a00177.html#ga114e005014d910bea07954eee24b7efb">u8vec4</a>;</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;        <span class="keyword">typedef</span> mediump_u8vec1                  <a class="code" href="a00177.html#ga92e0c191e5cc326255284d08be3af7c5">u8vec1</a>;</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;        <span class="keyword">typedef</span> mediump_u8vec2                  <a class="code" href="a00177.html#ga61667c99caf60ce6c48ebbbac72bd91d">u8vec2</a>;</div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        <span class="keyword">typedef</span> mediump_u8vec3                  <a class="code" href="a00177.html#ga8ca60d0ba6d438892be6017f43747661">u8vec3</a>;</div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;        <span class="keyword">typedef</span> mediump_u8vec4                  <a class="code" href="a00177.html#ga114e005014d910bea07954eee24b7efb">u8vec4</a>; </div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;        <span class="keyword">typedef</span> highp_u8vec1                    <a class="code" href="a00177.html#ga92e0c191e5cc326255284d08be3af7c5">u8vec1</a>;</div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;</div>
+<div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="a00177.html#ga61667c99caf60ce6c48ebbbac72bd91d">  977</a></span>&#160;        <span class="keyword">typedef</span> highp_u8vec2                    <a class="code" href="a00177.html#ga61667c99caf60ce6c48ebbbac72bd91d">u8vec2</a>;</div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;</div>
+<div class="line"><a name="l00981"></a><span class="lineno"><a class="line" href="a00177.html#ga8ca60d0ba6d438892be6017f43747661">  981</a></span>&#160;        <span class="keyword">typedef</span> highp_u8vec3                    <a class="code" href="a00177.html#ga8ca60d0ba6d438892be6017f43747661">u8vec3</a>;</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;</div>
+<div class="line"><a name="l00985"></a><span class="lineno"><a class="line" href="a00177.html#ga114e005014d910bea07954eee24b7efb">  985</a></span>&#160;        <span class="keyword">typedef</span> highp_u8vec4                    <a class="code" href="a00177.html#ga114e005014d910bea07954eee24b7efb">u8vec4</a>;</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;</div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u16, lowp&gt;                lowp_u16vec1;</div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u16, lowp&gt;                lowp_u16vec2;</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u16, lowp&gt;                lowp_u16vec3;</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u16, lowp&gt;                lowp_u16vec4;</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;</div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u16, mediump&gt;             mediump_u16vec1;</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;</div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u16, mediump&gt;             mediump_u16vec2;</div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u16, mediump&gt;             mediump_u16vec3;</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u16, mediump&gt;             mediump_u16vec4;</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u16, highp&gt;               highp_u16vec1;</div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u16, highp&gt;               highp_u16vec2;</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u16, highp&gt;               highp_u16vec3;</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u16, highp&gt;               highp_u16vec4;</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;        <span class="keyword">typedef</span> lowp_u16vec1                    <a class="code" href="a00177.html#gaefa2ce8fbdbe89baffd262f46f2d5907">u16vec1</a>;</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;        <span class="keyword">typedef</span> lowp_u16vec2                    <a class="code" href="a00177.html#ga426030555085ed6c39a54e73afbef962">u16vec2</a>;</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        <span class="keyword">typedef</span> lowp_u16vec3                    <a class="code" href="a00177.html#ga7f5dbe417199277e449b8db0210acb71">u16vec3</a>;</div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;        <span class="keyword">typedef</span> lowp_u16vec4                    <a class="code" href="a00177.html#gaf524c9059f0342668d8eea359bcceaae">u16vec4</a>;</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;        <span class="keyword">typedef</span> mediump_u16vec1                 <a class="code" href="a00177.html#gaefa2ce8fbdbe89baffd262f46f2d5907">u16vec1</a>;</div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;        <span class="keyword">typedef</span> mediump_u16vec2                 <a class="code" href="a00177.html#ga426030555085ed6c39a54e73afbef962">u16vec2</a>;</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;        <span class="keyword">typedef</span> mediump_u16vec3                 <a class="code" href="a00177.html#ga7f5dbe417199277e449b8db0210acb71">u16vec3</a>;</div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;        <span class="keyword">typedef</span> mediump_u16vec4                 <a class="code" href="a00177.html#gaf524c9059f0342668d8eea359bcceaae">u16vec4</a>;</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;        <span class="keyword">typedef</span> highp_u16vec1                   <a class="code" href="a00177.html#gaefa2ce8fbdbe89baffd262f46f2d5907">u16vec1</a>;</div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;</div>
+<div class="line"><a name="l01057"></a><span class="lineno"><a class="line" href="a00177.html#ga426030555085ed6c39a54e73afbef962"> 1057</a></span>&#160;        <span class="keyword">typedef</span> highp_u16vec2                   <a class="code" href="a00177.html#ga426030555085ed6c39a54e73afbef962">u16vec2</a>;</div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div>
+<div class="line"><a name="l01061"></a><span class="lineno"><a class="line" href="a00177.html#ga7f5dbe417199277e449b8db0210acb71"> 1061</a></span>&#160;        <span class="keyword">typedef</span> highp_u16vec3                   <a class="code" href="a00177.html#ga7f5dbe417199277e449b8db0210acb71">u16vec3</a>;</div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;</div>
+<div class="line"><a name="l01065"></a><span class="lineno"><a class="line" href="a00177.html#gaf524c9059f0342668d8eea359bcceaae"> 1065</a></span>&#160;        <span class="keyword">typedef</span> highp_u16vec4                   <a class="code" href="a00177.html#gaf524c9059f0342668d8eea359bcceaae">u16vec4</a>;</div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u32, lowp&gt;                lowp_u32vec1;</div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;</div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u32, lowp&gt;                lowp_u32vec2;</div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u32, lowp&gt;                lowp_u32vec3;</div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;</div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u32, lowp&gt;                lowp_u32vec4;</div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;</div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u32, mediump&gt;             mediump_u32vec1;</div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;</div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u32, mediump&gt;             mediump_u32vec2;</div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;</div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u32, mediump&gt;             mediump_u32vec3;</div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;</div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u32, mediump&gt;             mediump_u32vec4;</div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;</div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;</div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u32, highp&gt;               highp_u32vec1;</div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;</div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u32, highp&gt;               highp_u32vec2;</div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;</div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u32, highp&gt;               highp_u32vec3;</div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;</div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u32, highp&gt;               highp_u32vec4;</div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec1                    <a class="code" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a>;</div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec2                    <a class="code" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a>;</div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec3                    <a class="code" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a>;</div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec4                    <a class="code" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a>;</div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec1                 <a class="code" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a>;</div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec2                 <a class="code" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a>;</div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec3                 <a class="code" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a>;</div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec4                 <a class="code" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a>;</div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;        <span class="keyword">typedef</span> highp_u32vec1                   <a class="code" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a>;</div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;</div>
+<div class="line"><a name="l01136"></a><span class="lineno"><a class="line" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075"> 1136</a></span>&#160;        <span class="keyword">typedef</span> highp_u32vec2                   <a class="code" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a>;</div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;</div>
+<div class="line"><a name="l01140"></a><span class="lineno"><a class="line" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23"> 1140</a></span>&#160;        <span class="keyword">typedef</span> highp_u32vec3                   <a class="code" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a>;</div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;</div>
+<div class="line"><a name="l01144"></a><span class="lineno"><a class="line" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6"> 1144</a></span>&#160;        <span class="keyword">typedef</span> highp_u32vec4                   <a class="code" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a>;</div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;</div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;</div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u32, lowp&gt;                lowp_u32vec1;</div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;</div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u32, lowp&gt;                lowp_u32vec2;</div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;</div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u32, lowp&gt;                lowp_u32vec3;</div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;</div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u32, lowp&gt;                lowp_u32vec4;</div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;</div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;</div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u32, mediump&gt;             mediump_u32vec1;</div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;</div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u32, mediump&gt;             mediump_u32vec2;</div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;</div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u32, mediump&gt;             mediump_u32vec3;</div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;</div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u32, mediump&gt;             mediump_u32vec4;</div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;</div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;</div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u32, highp&gt;               highp_u32vec1;</div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;</div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u32, highp&gt;               highp_u32vec2;</div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u32, highp&gt;               highp_u32vec3;</div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;</div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u32, highp&gt;               highp_u32vec4;</div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;</div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec1                    <a class="code" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a>;</div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec2                    <a class="code" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a>;</div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec3                    <a class="code" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a>;</div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;        <span class="keyword">typedef</span> lowp_u32vec4                    <a class="code" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a>;</div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec1                 <a class="code" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a>;</div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec2                 <a class="code" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a>;</div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec3                 <a class="code" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a>;</div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;        <span class="keyword">typedef</span> mediump_u32vec4                 <a class="code" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a>;</div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;        <span class="keyword">typedef</span> highp_u32vec1                   <a class="code" href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">u32vec1</a>;</div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;</div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;        <span class="keyword">typedef</span> highp_u32vec2                   <a class="code" href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">u32vec2</a>;</div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;        </div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;        <span class="keyword">typedef</span> highp_u32vec3                   <a class="code" href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">u32vec3</a>;</div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;        </div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;        <span class="keyword">typedef</span> highp_u32vec4                   <a class="code" href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">u32vec4</a>;</div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;</div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;</div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;        </div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u64, lowp&gt;                lowp_u64vec1;</div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;</div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u64, lowp&gt;                lowp_u64vec2;</div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;</div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u64, lowp&gt;                lowp_u64vec3;</div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;</div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u64, lowp&gt;                lowp_u64vec4;</div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;</div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;</div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u64, mediump&gt;             mediump_u64vec1;</div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;</div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u64, mediump&gt;             mediump_u64vec2;</div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u64, mediump&gt;             mediump_u64vec3;</div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;</div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u64, mediump&gt;             mediump_u64vec4;</div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;</div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;</div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;u64, highp&gt;               highp_u64vec1;</div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;</div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;u64, highp&gt;               highp_u64vec2;</div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;</div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;u64, highp&gt;               highp_u64vec3;</div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;</div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;u64, highp&gt;               highp_u64vec4;</div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_UINT))</span></div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;        <span class="keyword">typedef</span> lowp_u64vec1                    <a class="code" href="a00177.html#ga793c9293cc687a0e342396a377c5df77">u64vec1</a>;</div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;        <span class="keyword">typedef</span> lowp_u64vec2                    <a class="code" href="a00177.html#ga2204827de9d4ee7fa92ef497093f7d6e">u64vec2</a>;</div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;        <span class="keyword">typedef</span> lowp_u64vec3                    <a class="code" href="a00177.html#ga3460933f040f59f0fedb29df1e9be71c">u64vec3</a>;</div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;        <span class="keyword">typedef</span> lowp_u64vec4                    <a class="code" href="a00177.html#gafb6ca34df28889a5db9d244aed375411">u64vec4</a>;</div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_UINT))</span></div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;        <span class="keyword">typedef</span> mediump_u64vec1                 <a class="code" href="a00177.html#ga793c9293cc687a0e342396a377c5df77">u64vec1</a>;</div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;        <span class="keyword">typedef</span> mediump_u64vec2                 <a class="code" href="a00177.html#ga2204827de9d4ee7fa92ef497093f7d6e">u64vec2</a>;</div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;        <span class="keyword">typedef</span> mediump_u64vec3                 <a class="code" href="a00177.html#ga3460933f040f59f0fedb29df1e9be71c">u64vec3</a>;</div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;        <span class="keyword">typedef</span> mediump_u64vec4                 <a class="code" href="a00177.html#gafb6ca34df28889a5db9d244aed375411">u64vec4</a>;</div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;        <span class="keyword">typedef</span> highp_u64vec1                   <a class="code" href="a00177.html#ga793c9293cc687a0e342396a377c5df77">u64vec1</a>;</div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;</div>
+<div class="line"><a name="l01295"></a><span class="lineno"><a class="line" href="a00177.html#ga2204827de9d4ee7fa92ef497093f7d6e"> 1295</a></span>&#160;        <span class="keyword">typedef</span> highp_u64vec2                   <a class="code" href="a00177.html#ga2204827de9d4ee7fa92ef497093f7d6e">u64vec2</a>;</div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;        </div>
+<div class="line"><a name="l01299"></a><span class="lineno"><a class="line" href="a00177.html#ga3460933f040f59f0fedb29df1e9be71c"> 1299</a></span>&#160;        <span class="keyword">typedef</span> highp_u64vec3                   <a class="code" href="a00177.html#ga3460933f040f59f0fedb29df1e9be71c">u64vec3</a>;</div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;        </div>
+<div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="a00177.html#gafb6ca34df28889a5db9d244aed375411"> 1303</a></span>&#160;        <span class="keyword">typedef</span> highp_u64vec4                   <a class="code" href="a00177.html#gafb6ca34df28889a5db9d244aed375411">u64vec4</a>;</div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;        </div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;        </div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;        <span class="comment">// Float vector types</span></div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;</div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;        <span class="keyword">typedef</span> detail::float32 lowp_float32;</div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;</div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;        <span class="keyword">typedef</span> detail::float64 lowp_float64;</div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;</div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;        <span class="keyword">typedef</span> detail::float32 lowp_float32_t;</div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;</div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;        <span class="keyword">typedef</span> detail::float64 lowp_float64_t;</div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">float32</a> lowp_f32;</div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;</div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gab5596d48586414c91ccb270962dc14d3">float64</a> lowp_f64;</div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;</div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;        <span class="keyword">typedef</span> detail::float32 lowp_float32;</div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;</div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;        <span class="keyword">typedef</span> detail::float64 lowp_float64;</div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;</div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;        <span class="keyword">typedef</span> detail::float32 lowp_float32_t;</div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;</div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;        <span class="keyword">typedef</span> detail::float64 lowp_float64_t;</div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;</div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">float32</a> lowp_f32;</div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;</div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gab5596d48586414c91ccb270962dc14d3">float64</a> lowp_f64;</div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;</div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;</div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;        <span class="keyword">typedef</span> detail::float32 lowp_float32;</div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;</div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;        <span class="keyword">typedef</span> detail::float64 lowp_float64;</div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;</div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;        <span class="keyword">typedef</span> detail::float32 lowp_float32_t;</div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;        </div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;        <span class="keyword">typedef</span> detail::float64 lowp_float64_t;</div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;</div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">float32</a> lowp_f32;</div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;</div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gab5596d48586414c91ccb270962dc14d3">float64</a> lowp_f64;</div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;</div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;</div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;        <span class="keyword">typedef</span> detail::float32 mediump_float32;</div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;</div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;        <span class="keyword">typedef</span> detail::float64 mediump_float64;</div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;</div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;        <span class="keyword">typedef</span> detail::float32 mediump_float32_t;</div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;</div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;        <span class="keyword">typedef</span> detail::float64 mediump_float64_t;</div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;</div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">float32</a> mediump_f32;</div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;</div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gab5596d48586414c91ccb270962dc14d3">float64</a> mediump_f64;</div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;</div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;</div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;        <span class="keyword">typedef</span> detail::float32 highp_float32;</div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;</div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;        <span class="keyword">typedef</span> detail::float64 highp_float64;</div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;</div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;        <span class="keyword">typedef</span> detail::float32 highp_float32_t;</div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;</div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;        <span class="keyword">typedef</span> detail::float64 highp_float64_t;</div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;</div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">float32</a> highp_f32;</div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;</div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="a00177.html#gab5596d48586414c91ccb270962dc14d3">float64</a> highp_f64;</div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;</div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;</div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;        <span class="keyword">typedef</span> lowp_float32 <a class="code" href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">float32</a>;</div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;</div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;        <span class="keyword">typedef</span> lowp_float64 <a class="code" href="a00177.html#gab5596d48586414c91ccb270962dc14d3">float64</a>;</div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;</div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;        <span class="keyword">typedef</span> lowp_float32_t <a class="code" href="a00177.html#ga41d579d81c3d98edd0532244fa02da77">float32_t</a>;</div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;</div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;        <span class="keyword">typedef</span> lowp_float64_t <a class="code" href="a00177.html#ga6957c7b22f405683bb276554ca40dc37">float64_t</a>;</div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;</div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        <span class="keyword">typedef</span> lowp_f32 <a class="code" href="a00177.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7">f32</a>;</div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;</div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;        <span class="keyword">typedef</span> lowp_f64 <a class="code" href="a00177.html#ga1d794d240091678f602e8de225b8d8c9">f64</a>;</div>
+<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;</div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))</span></div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;</div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;        <span class="keyword">typedef</span> mediump_float32 float32;</div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;</div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;        <span class="keyword">typedef</span> mediump_float64 float64;</div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;</div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;        <span class="keyword">typedef</span> mediump_float32 <a class="code" href="a00177.html#ga41d579d81c3d98edd0532244fa02da77">float32_t</a>;</div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;</div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;        <span class="keyword">typedef</span> mediump_float64 <a class="code" href="a00177.html#ga6957c7b22f405683bb276554ca40dc37">float64_t</a>;</div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;</div>
+<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;        <span class="keyword">typedef</span> mediump_float32 <a class="code" href="a00177.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7">f32</a>;</div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;</div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;        <span class="keyword">typedef</span> mediump_float64 <a class="code" href="a00177.html#ga1d794d240091678f602e8de225b8d8c9">f64</a>;</div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;</div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;<span class="preprocessor">#else//(defined(GLM_PRECISION_HIGHP_FLOAT))</span></div>
+<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;</div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;        <span class="keyword">typedef</span> highp_float32 float32;</div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;</div>
+<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;        <span class="keyword">typedef</span> highp_float64 float64;</div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;</div>
+<div class="line"><a name="l01497"></a><span class="lineno"><a class="line" href="a00177.html#ga41d579d81c3d98edd0532244fa02da77"> 1497</a></span>&#160;        <span class="keyword">typedef</span> highp_float32_t <a class="code" href="a00177.html#ga41d579d81c3d98edd0532244fa02da77">float32_t</a>;</div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;</div>
+<div class="line"><a name="l01501"></a><span class="lineno"><a class="line" href="a00177.html#ga6957c7b22f405683bb276554ca40dc37"> 1501</a></span>&#160;        <span class="keyword">typedef</span> highp_float64_t <a class="code" href="a00177.html#ga6957c7b22f405683bb276554ca40dc37">float64_t</a>;</div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;</div>
+<div class="line"><a name="l01505"></a><span class="lineno"><a class="line" href="a00177.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7"> 1505</a></span>&#160;        <span class="keyword">typedef</span> highp_float32_t <a class="code" href="a00177.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7">f32</a>;</div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;</div>
+<div class="line"><a name="l01509"></a><span class="lineno"><a class="line" href="a00177.html#ga1d794d240091678f602e8de225b8d8c9"> 1509</a></span>&#160;        <span class="keyword">typedef</span> highp_float64_t <a class="code" href="a00177.html#ga1d794d240091678f602e8de225b8d8c9">f64</a>;</div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;</div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;</div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;float, lowp&gt; lowp_vec1;</div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;</div>
+<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, lowp&gt; <a class="code" href="a00158.html#ga51e835b2aa735782f0174328acffa521">lowp_vec2</a>;</div>
+<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;</div>
+<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, lowp&gt; <a class="code" href="a00158.html#gaf89f8fb5a06848ea4ec1c3a02813454e">lowp_vec3</a>;</div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;</div>
+<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, lowp&gt; <a class="code" href="a00158.html#ga8f9002d3ab660e3171f5cdea1aab8395">lowp_vec4</a>;</div>
+<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;</div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;float, lowp&gt; lowp_fvec1;</div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;</div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, lowp&gt; lowp_fvec2;</div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;</div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, lowp&gt; lowp_fvec3;</div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;</div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, lowp&gt; lowp_fvec4;</div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;</div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;</div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;float, mediump&gt; mediump_vec1;</div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;</div>
+<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, mediump&gt; <a class="code" href="a00158.html#gac37a3fd0ecdcab044853c039409c9af7">mediump_vec2</a>;</div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;</div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, mediump&gt; <a class="code" href="a00158.html#ga591478a77e4324e0836abc17cbb13e83">mediump_vec3</a>;</div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;</div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, mediump&gt; <a class="code" href="a00158.html#gaae72e97529b8fa4e0341b425d4fe03ae">mediump_vec4</a>;</div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;</div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;float, mediump&gt; mediump_fvec1;</div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;</div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, mediump&gt; mediump_fvec2;</div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;</div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, mediump&gt; mediump_fvec3;</div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;</div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, mediump&gt; mediump_fvec4;</div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;</div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;</div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;float, highp&gt; highp_vec1;</div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;</div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, highp&gt; <a class="code" href="a00158.html#gabfc3e9f63cc3e2ee0521405277ef3997">highp_vec2</a>;</div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;</div>
+<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, highp&gt; <a class="code" href="a00158.html#ga7b31b02c5558e2f8e5d8439ae3803d3a">highp_vec3</a>;</div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;</div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, highp&gt; <a class="code" href="a00158.html#gade7cb496ed3d78b2a11f1651cce77239">highp_vec4</a>;</div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;</div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;float, highp&gt; highp_fvec1;</div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;</div>
+<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;float, highp&gt; highp_fvec2;</div>
+<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;</div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;float, highp&gt; highp_fvec3;</div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;</div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;float, highp&gt; highp_fvec4;</div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;</div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;</div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;f32, lowp&gt; lowp_f32vec1;</div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;</div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;f32, lowp&gt; lowp_f32vec2;</div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;</div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;f32, lowp&gt; lowp_f32vec3;</div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;</div>
+<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;f32, lowp&gt; lowp_f32vec4;</div>
+<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;</div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;f32, mediump&gt; mediump_f32vec1;</div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;</div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;f32, mediump&gt; mediump_f32vec2;</div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;</div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;f32, mediump&gt; mediump_f32vec3;</div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;</div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;f32, mediump&gt; mediump_f32vec4;</div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;</div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;f32, highp&gt; highp_f32vec1;</div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;</div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;f32, highp&gt; highp_f32vec2;</div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;</div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;f32, highp&gt; highp_f32vec3;</div>
+<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;</div>
+<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;f32, highp&gt; highp_f32vec4;</div>
+<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;</div>
+<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;</div>
+<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;f64, lowp&gt; lowp_f64vec1;</div>
+<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;</div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;f64, lowp&gt; lowp_f64vec2;</div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;</div>
+<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;f64, lowp&gt; lowp_f64vec3;</div>
+<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;</div>
+<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;f64, lowp&gt; lowp_f64vec4;</div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div>
+<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;f64, mediump&gt; mediump_f64vec1;</div>
+<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;</div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;f64, mediump&gt; mediump_f64vec2;</div>
+<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;</div>
+<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;f64, mediump&gt; mediump_f64vec3;</div>
+<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;</div>
+<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;f64, mediump&gt; mediump_f64vec4;</div>
+<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;</div>
+<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;        <span class="keyword">typedef</span> tvec1&lt;f64, highp&gt; highp_f64vec1;</div>
+<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;</div>
+<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;        <span class="keyword">typedef</span> tvec2&lt;f64, highp&gt; highp_f64vec2;</div>
+<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;</div>
+<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;        <span class="keyword">typedef</span> tvec3&lt;f64, highp&gt; highp_f64vec3;</div>
+<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;</div>
+<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;        <span class="keyword">typedef</span> tvec4&lt;f64, highp&gt; highp_f64vec4;</div>
+<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;</div>
+<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;</div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;        <span class="comment">// Float matrix types</span></div>
+<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;</div>
+<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;        <span class="comment">//typedef lowp_f32 lowp_fmat1x1;</span></div>
+<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;</div>
+<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f32, lowp&gt; lowp_fmat2x2;</div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;</div>
+<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f32, lowp&gt; lowp_fmat2x3;</div>
+<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;</div>
+<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f32, lowp&gt; lowp_fmat2x4;</div>
+<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;</div>
+<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f32, lowp&gt; lowp_fmat3x2;</div>
+<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;</div>
+<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f32, lowp&gt; lowp_fmat3x3;</div>
+<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;</div>
+<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f32, lowp&gt; lowp_fmat3x4;</div>
+<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;</div>
+<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f32, lowp&gt; lowp_fmat4x2;</div>
+<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;</div>
+<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f32, lowp&gt; lowp_fmat4x3;</div>
+<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;</div>
+<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f32, lowp&gt; lowp_fmat4x4;</div>
+<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;</div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;        <span class="comment">//typedef lowp_fmat1x1 lowp_fmat1;</span></div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;</div>
+<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;        <span class="keyword">typedef</span> lowp_fmat2x2 lowp_fmat2;</div>
+<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;</div>
+<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;        <span class="keyword">typedef</span> lowp_fmat3x3 lowp_fmat3;</div>
+<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;</div>
+<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;        <span class="keyword">typedef</span> lowp_fmat4x4 lowp_fmat4;</div>
+<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;</div>
+<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;</div>
+<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;        <span class="comment">//typedef mediump_f32 mediump_fmat1x1;</span></div>
+<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;</div>
+<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f32, mediump&gt; mediump_fmat2x2;</div>
+<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;</div>
+<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f32, mediump&gt; mediump_fmat2x3;</div>
+<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;</div>
+<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f32, mediump&gt; mediump_fmat2x4;</div>
+<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;</div>
+<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f32, mediump&gt; mediump_fmat3x2;</div>
+<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;</div>
+<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f32, mediump&gt; mediump_fmat3x3;</div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;</div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f32, mediump&gt; mediump_fmat3x4;</div>
+<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;</div>
+<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f32, mediump&gt; mediump_fmat4x2;</div>
+<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;</div>
+<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f32, mediump&gt; mediump_fmat4x3;</div>
+<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;</div>
+<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f32, mediump&gt; mediump_fmat4x4;</div>
+<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;</div>
+<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;        <span class="comment">//typedef mediump_fmat1x1 mediump_fmat1;</span></div>
+<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;</div>
+<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;        <span class="keyword">typedef</span> mediump_fmat2x2 mediump_fmat2;</div>
+<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;</div>
+<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;        <span class="keyword">typedef</span> mediump_fmat3x3 mediump_fmat3;</div>
+<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;</div>
+<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;        <span class="keyword">typedef</span> mediump_fmat4x4 mediump_fmat4;</div>
+<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;</div>
+<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;</div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;        <span class="comment">//typedef highp_f32 highp_fmat1x1;</span></div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;</div>
+<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f32, highp&gt; highp_fmat2x2;</div>
+<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160;</div>
+<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f32, highp&gt; highp_fmat2x3;</div>
+<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;</div>
+<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f32, highp&gt; highp_fmat2x4;</div>
+<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;</div>
+<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f32, highp&gt; highp_fmat3x2;</div>
+<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;</div>
+<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f32, highp&gt; highp_fmat3x3;</div>
+<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;</div>
+<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f32, highp&gt; highp_fmat3x4;</div>
+<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;</div>
+<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f32, highp&gt; highp_fmat4x2;</div>
+<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;</div>
+<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f32, highp&gt; highp_fmat4x3;</div>
+<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;</div>
+<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f32, highp&gt; highp_fmat4x4;</div>
+<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;</div>
+<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;        <span class="comment">//typedef highp_fmat1x1 highp_fmat1;</span></div>
+<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;</div>
+<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;        <span class="keyword">typedef</span> highp_fmat2x2 highp_fmat2;</div>
+<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;</div>
+<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;        <span class="keyword">typedef</span> highp_fmat3x3 highp_fmat3;</div>
+<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;        </div>
+<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;        <span class="keyword">typedef</span> highp_fmat4x4 highp_fmat4;</div>
+<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;</div>
+<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;</div>
+<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;        <span class="comment">//typedef f32 lowp_f32mat1x1;</span></div>
+<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;</div>
+<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f32, lowp&gt; lowp_f32mat2x2;</div>
+<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;</div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f32, lowp&gt; lowp_f32mat2x3;</div>
+<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;</div>
+<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f32, lowp&gt; lowp_f32mat2x4;</div>
+<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;</div>
+<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f32, lowp&gt; lowp_f32mat3x2;</div>
+<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;</div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f32, lowp&gt; lowp_f32mat3x3;</div>
+<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;</div>
+<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f32, lowp&gt; lowp_f32mat3x4;</div>
+<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;</div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f32, lowp&gt; lowp_f32mat4x2;</div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;</div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f32, lowp&gt; lowp_f32mat4x3;</div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;</div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f32, lowp&gt; lowp_f32mat4x4;</div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;</div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;        <span class="comment">//typedef detail::tmat1x1&lt;f32, lowp&gt; lowp_f32mat1;</span></div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;</div>
+<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x2 lowp_f32mat2;</div>
+<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;</div>
+<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x3 lowp_f32mat3;</div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;</div>
+<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x4 lowp_f32mat4;</div>
+<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;</div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;</div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;        <span class="comment">//typedef f32 mediump_f32mat1x1;</span></div>
+<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;</div>
+<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f32, mediump&gt; mediump_f32mat2x2;</div>
+<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;</div>
+<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f32, mediump&gt; mediump_f32mat2x3;</div>
+<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;</div>
+<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f32, mediump&gt; mediump_f32mat2x4;</div>
+<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;</div>
+<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f32, mediump&gt; mediump_f32mat3x2;</div>
+<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;</div>
+<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f32, mediump&gt; mediump_f32mat3x3;</div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;</div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f32, mediump&gt; mediump_f32mat3x4;</div>
+<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;</div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f32, mediump&gt; mediump_f32mat4x2;</div>
+<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;</div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f32, mediump&gt; mediump_f32mat4x3;</div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;</div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f32, mediump&gt; mediump_f32mat4x4;</div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;</div>
+<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;        <span class="comment">//typedef detail::tmat1x1&lt;f32, mediump&gt; f32mat1;</span></div>
+<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;</div>
+<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x2 mediump_f32mat2;</div>
+<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;</div>
+<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x3 mediump_f32mat3;</div>
+<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;</div>
+<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x4 mediump_f32mat4;</div>
+<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;</div>
+<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;</div>
+<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;        <span class="comment">//typedef f32 highp_f32mat1x1;</span></div>
+<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;</div>
+<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f32, highp&gt; highp_f32mat2x2;</div>
+<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;</div>
+<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f32, highp&gt; highp_f32mat2x3;</div>
+<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;</div>
+<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f32, highp&gt; highp_f32mat2x4;</div>
+<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;</div>
+<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f32, highp&gt; highp_f32mat3x2;</div>
+<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;</div>
+<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f32, highp&gt; highp_f32mat3x3;</div>
+<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;</div>
+<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f32, highp&gt; highp_f32mat3x4;</div>
+<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;</div>
+<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f32, highp&gt; highp_f32mat4x2;</div>
+<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;</div>
+<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f32, highp&gt; highp_f32mat4x3;</div>
+<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;</div>
+<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f32, highp&gt; highp_f32mat4x4;</div>
+<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;</div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;        <span class="comment">//typedef detail::tmat1x1&lt;f32, highp&gt; f32mat1;</span></div>
+<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;</div>
+<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x2 highp_f32mat2;</div>
+<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;</div>
+<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x3 highp_f32mat3;</div>
+<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;</div>
+<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x4 highp_f32mat4;</div>
+<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;</div>
+<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;</div>
+<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;        <span class="comment">//typedef f64 lowp_f64mat1x1;</span></div>
+<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;</div>
+<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f64, lowp&gt; lowp_f64mat2x2;</div>
+<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;</div>
+<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f64, lowp&gt; lowp_f64mat2x3;</div>
+<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;</div>
+<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f64, lowp&gt; lowp_f64mat2x4;</div>
+<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;</div>
+<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f64, lowp&gt; lowp_f64mat3x2;</div>
+<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;</div>
+<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f64, lowp&gt; lowp_f64mat3x3;</div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;</div>
+<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f64, lowp&gt; lowp_f64mat3x4;</div>
+<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;</div>
+<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f64, lowp&gt; lowp_f64mat4x2;</div>
+<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;</div>
+<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f64, lowp&gt; lowp_f64mat4x3;</div>
+<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;        </div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f64, lowp&gt; lowp_f64mat4x4;</div>
+<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;</div>
+<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;        <span class="comment">//typedef lowp_f64mat1x1 lowp_f64mat1;</span></div>
+<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;</div>
+<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat2x2 lowp_f64mat2;</div>
+<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;</div>
+<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat3x3 lowp_f64mat3;</div>
+<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;</div>
+<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat4x4 lowp_f64mat4;</div>
+<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;</div>
+<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;</div>
+<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;        <span class="comment">//typedef f64 Highp_f64mat1x1;</span></div>
+<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;</div>
+<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f64, mediump&gt; mediump_f64mat2x2;</div>
+<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;</div>
+<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f64, mediump&gt; mediump_f64mat2x3;</div>
+<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;</div>
+<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f64, mediump&gt; mediump_f64mat2x4;</div>
+<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;</div>
+<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f64, mediump&gt; mediump_f64mat3x2;</div>
+<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;</div>
+<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f64, mediump&gt; mediump_f64mat3x3;</div>
+<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;</div>
+<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f64, mediump&gt; mediump_f64mat3x4;</div>
+<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;</div>
+<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f64, mediump&gt; mediump_f64mat4x2;</div>
+<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;</div>
+<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f64, mediump&gt; mediump_f64mat4x3;</div>
+<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;</div>
+<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f64, mediump&gt; mediump_f64mat4x4;</div>
+<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;</div>
+<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;        <span class="comment">//typedef mediump_f64mat1x1 mediump_f64mat1;</span></div>
+<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;</div>
+<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat2x2 mediump_f64mat2;</div>
+<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160;</div>
+<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat3x3 mediump_f64mat3;</div>
+<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;</div>
+<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat4x4 mediump_f64mat4;</div>
+<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;</div>
+<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;        <span class="comment">//typedef f64 highp_f64mat1x1;</span></div>
+<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;</div>
+<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;f64, highp&gt; highp_f64mat2x2;</div>
+<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;</div>
+<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;f64, highp&gt; highp_f64mat2x3;</div>
+<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160;</div>
+<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;f64, highp&gt; highp_f64mat2x4;</div>
+<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;</div>
+<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;f64, highp&gt; highp_f64mat3x2;</div>
+<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;</div>
+<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;f64, highp&gt; highp_f64mat3x3;</div>
+<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;</div>
+<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;f64, highp&gt; highp_f64mat3x4;</div>
+<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;</div>
+<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;f64, highp&gt; highp_f64mat4x2;</div>
+<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;</div>
+<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;f64, highp&gt; highp_f64mat4x3;</div>
+<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;</div>
+<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;f64, highp&gt; highp_f64mat4x4;</div>
+<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160;</div>
+<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160;        <span class="comment">//typedef highp_f64mat1x1 highp_f64mat1;</span></div>
+<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;</div>
+<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;        <span class="keyword">typedef</span> highp_f64mat2x2 highp_f64mat2;</div>
+<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;</div>
+<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;        <span class="keyword">typedef</span> highp_f64mat3x3 highp_f64mat3;</div>
+<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;</div>
+<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;        <span class="keyword">typedef</span> highp_f64mat4x4 highp_f64mat4;</div>
+<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;</div>
+<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;        <span class="comment">// Quaternion types</span></div>
+<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;</div>
+<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;        <span class="keyword">typedef</span> tquat&lt;f32, lowp&gt; lowp_f32quat;</div>
+<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;</div>
+<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;        <span class="keyword">typedef</span> tquat&lt;f64, lowp&gt; lowp_f64quat;</div>
+<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;</div>
+<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;        <span class="keyword">typedef</span> tquat&lt;f32, mediump&gt; mediump_f32quat;</div>
+<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;</div>
+<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;        <span class="keyword">typedef</span> tquat&lt;f64, mediump&gt; mediump_f64quat;</div>
+<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;</div>
+<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;        <span class="keyword">typedef</span> tquat&lt;f32, highp&gt; highp_f32quat;</div>
+<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;</div>
+<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;        <span class="keyword">typedef</span> tquat&lt;f64, highp&gt; highp_f64quat;</div>
+<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;</div>
+<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;</div>
+<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
+<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec1                    <a class="code" href="a00177.html#ga10d8bd3c923a5386efcf25a4117fd84f">fvec1</a>;</div>
+<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec2                    <a class="code" href="a00177.html#gaf9f4173dd9e8b2d0b663c6f80ed09ff6">fvec2</a>;</div>
+<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec3                    <a class="code" href="a00177.html#ga4ef2d77dcab241b1ef83f09edb2f1084">fvec3</a>;</div>
+<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec4                    <a class="code" href="a00177.html#ga981b63d5c5f7233a29364e0a968d139b">fvec4</a>;</div>
+<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2                    <a class="code" href="a00177.html#gabb01d4ff646ee07241934b1a0cc0f985">fmat2</a>;</div>
+<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3                    <a class="code" href="a00177.html#ga5165fbee2d78f342950265b69a07353d">fmat3</a>;</div>
+<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4                    <a class="code" href="a00177.html#gab3f31d867df4874e42172ebf188a3ebd">fmat4</a>;</div>
+<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x2                  <a class="code" href="a00177.html#ga74ac2e71b650162d8f7cb2a70c2f6711">fmat2x2</a>;</div>
+<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x2                  <a class="code" href="a00177.html#ga9f20af6e8eca2abdcde08408948cc1ca">fmat3x2</a>;</div>
+<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x2                  <a class="code" href="a00177.html#gab0082a25f19f02d2d0af0fcbe5ead732">fmat4x2</a>;</div>
+<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x3                  <a class="code" href="a00177.html#gaf17b2604c0d92bffb92375d8aa588756">fmat2x3</a>;</div>
+<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x3                  <a class="code" href="a00177.html#gad339e25c32fe6665acf028f26c1b3e22">fmat3x3</a>;</div>
+<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x3                  <a class="code" href="a00177.html#ga1a11c170f030ab34ddf037714e936cba">fmat4x3</a>;</div>
+<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x4                  <a class="code" href="a00177.html#ga709c97c20efa24ff1d9e83cd437b8ed5">fmat2x4</a>;</div>
+<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x4                  <a class="code" href="a00177.html#gab04bc97371cb6b5f54b3688e0c81578b">fmat3x4</a>;</div>
+<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x4                  <a class="code" href="a00177.html#gabd79752ff357d83b49136b6299ea62d9">fmat4x4</a>;</div>
+<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span>&#160;        <span class="keyword">typedef</span> lowp_f32quat                    fquat;</div>
+<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span>&#160;</div>
+<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec1                    <a class="code" href="a00177.html#ga3174a49dc84a977cad7012a62f4af02f">f32vec1</a>;</div>
+<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec2                    <a class="code" href="a00177.html#gae0cb53ea6fe3d977fe588ce423d57cc3">f32vec2</a>;</div>
+<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec3                    <a class="code" href="a00177.html#ga19d5e0d4d3d6d226c9c6c0f39756f9ad">f32vec3</a>;</div>
+<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span>&#160;        <span class="keyword">typedef</span> lowp_f32vec4                    <a class="code" href="a00177.html#gaeb25dbb0261f82cb08da23e26d343704">f32vec4</a>;</div>
+<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2                    <a class="code" href="a00177.html#ga1fedd5d29746afdaf2d3303a4442704e">f32mat2</a>;</div>
+<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3                    <a class="code" href="a00177.html#gaf4377997b299a287f7ab3358c9bd3e4c">f32mat3</a>;</div>
+<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4                    <a class="code" href="a00177.html#ga797fa3ab16e04456174c36238e091341">f32mat4</a>;</div>
+<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x2                  <a class="code" href="a00177.html#gaf3a5016bf360977ce114deb2e01ae10a">f32mat2x2</a>;</div>
+<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x2                  <a class="code" href="a00177.html#ga8709a1ea268fa69bdf1e11616d7fbaf1">f32mat3x2</a>;</div>
+<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x2                  <a class="code" href="a00177.html#ga27f897bdfe4bbded9481b8947553d1ff">f32mat4x2</a>;</div>
+<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x3                  <a class="code" href="a00177.html#gad5f1043adbe803928fe7bf1a90a1f767">f32mat2x3</a>;</div>
+<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x3                  <a class="code" href="a00177.html#ga1e4c52bb824ca16c6e2e5b03635669d0">f32mat3x3</a>;</div>
+<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x3                  <a class="code" href="a00177.html#gaa69e73ffb01a52499071391d395908fb">f32mat4x3</a>;</div>
+<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat2x4                  <a class="code" href="a00177.html#ga5ed667d0247cce477f013ea31982843d">f32mat2x4</a>;</div>
+<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat3x4                  <a class="code" href="a00177.html#ga0100666c90176eaba80e49357d123c7f">f32mat3x4</a>;</div>
+<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;        <span class="keyword">typedef</span> lowp_f32mat4x4                  <a class="code" href="a00177.html#gafe2e08549805a7ded26da2a868bedbf5">f32mat4x4</a>;</div>
+<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;        <span class="keyword">typedef</span> lowp_f32quat                    <a class="code" href="a00177.html#ga6966c0cb4673928c9c9da2e91006d2c0">f32quat</a>;</div>
+<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))</span></div>
+<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec1                 <a class="code" href="a00177.html#ga10d8bd3c923a5386efcf25a4117fd84f">fvec1</a>;</div>
+<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec2                 <a class="code" href="a00177.html#gaf9f4173dd9e8b2d0b663c6f80ed09ff6">fvec2</a>;</div>
+<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec3                 <a class="code" href="a00177.html#ga4ef2d77dcab241b1ef83f09edb2f1084">fvec3</a>;</div>
+<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec4                 <a class="code" href="a00177.html#ga981b63d5c5f7233a29364e0a968d139b">fvec4</a>;</div>
+<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2                 <a class="code" href="a00177.html#gabb01d4ff646ee07241934b1a0cc0f985">fmat2</a>;</div>
+<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3                 <a class="code" href="a00177.html#ga5165fbee2d78f342950265b69a07353d">fmat3</a>;</div>
+<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4                 <a class="code" href="a00177.html#gab3f31d867df4874e42172ebf188a3ebd">fmat4</a>;</div>
+<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x2               <a class="code" href="a00177.html#ga74ac2e71b650162d8f7cb2a70c2f6711">fmat2x2</a>;</div>
+<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x2               <a class="code" href="a00177.html#ga9f20af6e8eca2abdcde08408948cc1ca">fmat3x2</a>;</div>
+<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x2               <a class="code" href="a00177.html#gab0082a25f19f02d2d0af0fcbe5ead732">fmat4x2</a>;</div>
+<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x3               <a class="code" href="a00177.html#gaf17b2604c0d92bffb92375d8aa588756">fmat2x3</a>;</div>
+<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x3               <a class="code" href="a00177.html#gad339e25c32fe6665acf028f26c1b3e22">fmat3x3</a>;</div>
+<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x3               <a class="code" href="a00177.html#ga1a11c170f030ab34ddf037714e936cba">fmat4x3</a>;</div>
+<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x4               <a class="code" href="a00177.html#ga709c97c20efa24ff1d9e83cd437b8ed5">fmat2x4</a>;</div>
+<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x4               <a class="code" href="a00177.html#gab04bc97371cb6b5f54b3688e0c81578b">fmat3x4</a>;</div>
+<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x4               <a class="code" href="a00177.html#gabd79752ff357d83b49136b6299ea62d9">fmat4x4</a>;</div>
+<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160;        <span class="keyword">typedef</span> mediump_f32quat                 fquat;</div>
+<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;</div>
+<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec1                 <a class="code" href="a00177.html#ga3174a49dc84a977cad7012a62f4af02f">f32vec1</a>;</div>
+<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec2                 <a class="code" href="a00177.html#gae0cb53ea6fe3d977fe588ce423d57cc3">f32vec2</a>;</div>
+<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec3                 <a class="code" href="a00177.html#ga19d5e0d4d3d6d226c9c6c0f39756f9ad">f32vec3</a>;</div>
+<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>&#160;        <span class="keyword">typedef</span> mediump_f32vec4                 <a class="code" href="a00177.html#gaeb25dbb0261f82cb08da23e26d343704">f32vec4</a>;</div>
+<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2                 <a class="code" href="a00177.html#ga1fedd5d29746afdaf2d3303a4442704e">f32mat2</a>;</div>
+<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3                 <a class="code" href="a00177.html#gaf4377997b299a287f7ab3358c9bd3e4c">f32mat3</a>;</div>
+<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4                 <a class="code" href="a00177.html#ga797fa3ab16e04456174c36238e091341">f32mat4</a>;</div>
+<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x2               <a class="code" href="a00177.html#gaf3a5016bf360977ce114deb2e01ae10a">f32mat2x2</a>;</div>
+<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x2               <a class="code" href="a00177.html#ga8709a1ea268fa69bdf1e11616d7fbaf1">f32mat3x2</a>;</div>
+<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x2               <a class="code" href="a00177.html#ga27f897bdfe4bbded9481b8947553d1ff">f32mat4x2</a>;</div>
+<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x3               <a class="code" href="a00177.html#gad5f1043adbe803928fe7bf1a90a1f767">f32mat2x3</a>;</div>
+<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x3               <a class="code" href="a00177.html#ga1e4c52bb824ca16c6e2e5b03635669d0">f32mat3x3</a>;</div>
+<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x3               <a class="code" href="a00177.html#gaa69e73ffb01a52499071391d395908fb">f32mat4x3</a>;</div>
+<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat2x4               <a class="code" href="a00177.html#ga5ed667d0247cce477f013ea31982843d">f32mat2x4</a>;</div>
+<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat3x4               <a class="code" href="a00177.html#ga0100666c90176eaba80e49357d123c7f">f32mat3x4</a>;</div>
+<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;        <span class="keyword">typedef</span> mediump_f32mat4x4               <a class="code" href="a00177.html#gafe2e08549805a7ded26da2a868bedbf5">f32mat4x4</a>;</div>
+<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;        <span class="keyword">typedef</span> mediump_f32quat                 <a class="code" href="a00177.html#ga6966c0cb4673928c9c9da2e91006d2c0">f32quat</a>;</div>
+<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160;<span class="preprocessor">#else//if(defined(GLM_PRECISION_HIGHP_FLOAT))</span></div>
+<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>&#160;        <span class="keyword">typedef</span> highp_f32vec1                   <a class="code" href="a00177.html#ga10d8bd3c923a5386efcf25a4117fd84f">fvec1</a>;</div>
+<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span>&#160;</div>
+<div class="line"><a name="l02331"></a><span class="lineno"><a class="line" href="a00177.html#gaf9f4173dd9e8b2d0b663c6f80ed09ff6"> 2331</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec2                   <a class="code" href="a00177.html#gaf9f4173dd9e8b2d0b663c6f80ed09ff6">fvec2</a>;</div>
+<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;</div>
+<div class="line"><a name="l02335"></a><span class="lineno"><a class="line" href="a00177.html#ga4ef2d77dcab241b1ef83f09edb2f1084"> 2335</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec3                   <a class="code" href="a00177.html#ga4ef2d77dcab241b1ef83f09edb2f1084">fvec3</a>;</div>
+<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span>&#160;</div>
+<div class="line"><a name="l02339"></a><span class="lineno"><a class="line" href="a00177.html#ga981b63d5c5f7233a29364e0a968d139b"> 2339</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec4                   <a class="code" href="a00177.html#ga981b63d5c5f7233a29364e0a968d139b">fvec4</a>;</div>
+<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;</div>
+<div class="line"><a name="l02343"></a><span class="lineno"><a class="line" href="a00177.html#ga74ac2e71b650162d8f7cb2a70c2f6711"> 2343</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x2                 <a class="code" href="a00177.html#ga74ac2e71b650162d8f7cb2a70c2f6711">fmat2x2</a>;</div>
+<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;</div>
+<div class="line"><a name="l02347"></a><span class="lineno"><a class="line" href="a00177.html#gaf17b2604c0d92bffb92375d8aa588756"> 2347</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x3                 <a class="code" href="a00177.html#gaf17b2604c0d92bffb92375d8aa588756">fmat2x3</a>;</div>
+<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160;</div>
+<div class="line"><a name="l02351"></a><span class="lineno"><a class="line" href="a00177.html#ga709c97c20efa24ff1d9e83cd437b8ed5"> 2351</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x4                 <a class="code" href="a00177.html#ga709c97c20efa24ff1d9e83cd437b8ed5">fmat2x4</a>;</div>
+<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;</div>
+<div class="line"><a name="l02355"></a><span class="lineno"><a class="line" href="a00177.html#ga9f20af6e8eca2abdcde08408948cc1ca"> 2355</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x2                 <a class="code" href="a00177.html#ga9f20af6e8eca2abdcde08408948cc1ca">fmat3x2</a>;</div>
+<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;</div>
+<div class="line"><a name="l02359"></a><span class="lineno"><a class="line" href="a00177.html#gad339e25c32fe6665acf028f26c1b3e22"> 2359</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x3                 <a class="code" href="a00177.html#gad339e25c32fe6665acf028f26c1b3e22">fmat3x3</a>;</div>
+<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160;</div>
+<div class="line"><a name="l02363"></a><span class="lineno"><a class="line" href="a00177.html#gab04bc97371cb6b5f54b3688e0c81578b"> 2363</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x4                 <a class="code" href="a00177.html#gab04bc97371cb6b5f54b3688e0c81578b">fmat3x4</a>;</div>
+<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;</div>
+<div class="line"><a name="l02367"></a><span class="lineno"><a class="line" href="a00177.html#gab0082a25f19f02d2d0af0fcbe5ead732"> 2367</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x2                 <a class="code" href="a00177.html#gab0082a25f19f02d2d0af0fcbe5ead732">fmat4x2</a>;</div>
+<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160;</div>
+<div class="line"><a name="l02371"></a><span class="lineno"><a class="line" href="a00177.html#ga1a11c170f030ab34ddf037714e936cba"> 2371</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x3                 <a class="code" href="a00177.html#ga1a11c170f030ab34ddf037714e936cba">fmat4x3</a>;</div>
+<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160;</div>
+<div class="line"><a name="l02375"></a><span class="lineno"><a class="line" href="a00177.html#gabd79752ff357d83b49136b6299ea62d9"> 2375</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x4                 <a class="code" href="a00177.html#gabd79752ff357d83b49136b6299ea62d9">fmat4x4</a>;</div>
+<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;        </div>
+<div class="line"><a name="l02379"></a><span class="lineno"><a class="line" href="a00177.html#gabb01d4ff646ee07241934b1a0cc0f985"> 2379</a></span>&#160;        <span class="keyword">typedef</span> fmat2x2                                 <a class="code" href="a00177.html#gabb01d4ff646ee07241934b1a0cc0f985">fmat2</a>;</div>
+<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;</div>
+<div class="line"><a name="l02383"></a><span class="lineno"><a class="line" href="a00177.html#ga5165fbee2d78f342950265b69a07353d"> 2383</a></span>&#160;        <span class="keyword">typedef</span> fmat3x3                                 <a class="code" href="a00177.html#ga5165fbee2d78f342950265b69a07353d">fmat3</a>;</div>
+<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;</div>
+<div class="line"><a name="l02387"></a><span class="lineno"><a class="line" href="a00177.html#gab3f31d867df4874e42172ebf188a3ebd"> 2387</a></span>&#160;        <span class="keyword">typedef</span> fmat4x4                                 <a class="code" href="a00177.html#gab3f31d867df4874e42172ebf188a3ebd">fmat4</a>;</div>
+<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;</div>
+<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160;        <span class="keyword">typedef</span> highp_fquat                             fquat;</div>
+<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;        </div>
+<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;</div>
+<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;</div>
+<div class="line"><a name="l02397"></a><span class="lineno"><a class="line" href="a00177.html#ga3174a49dc84a977cad7012a62f4af02f"> 2397</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec1                   <a class="code" href="a00177.html#ga3174a49dc84a977cad7012a62f4af02f">f32vec1</a>;</div>
+<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160;</div>
+<div class="line"><a name="l02401"></a><span class="lineno"><a class="line" href="a00177.html#gae0cb53ea6fe3d977fe588ce423d57cc3"> 2401</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec2                   <a class="code" href="a00177.html#gae0cb53ea6fe3d977fe588ce423d57cc3">f32vec2</a>;</div>
+<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160;</div>
+<div class="line"><a name="l02405"></a><span class="lineno"><a class="line" href="a00177.html#ga19d5e0d4d3d6d226c9c6c0f39756f9ad"> 2405</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec3                   <a class="code" href="a00177.html#ga19d5e0d4d3d6d226c9c6c0f39756f9ad">f32vec3</a>;</div>
+<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160;</div>
+<div class="line"><a name="l02409"></a><span class="lineno"><a class="line" href="a00177.html#gaeb25dbb0261f82cb08da23e26d343704"> 2409</a></span>&#160;        <span class="keyword">typedef</span> highp_f32vec4                   <a class="code" href="a00177.html#gaeb25dbb0261f82cb08da23e26d343704">f32vec4</a>;</div>
+<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160;</div>
+<div class="line"><a name="l02413"></a><span class="lineno"><a class="line" href="a00177.html#gaf3a5016bf360977ce114deb2e01ae10a"> 2413</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x2                 <a class="code" href="a00177.html#gaf3a5016bf360977ce114deb2e01ae10a">f32mat2x2</a>;</div>
+<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160;</div>
+<div class="line"><a name="l02417"></a><span class="lineno"><a class="line" href="a00177.html#gad5f1043adbe803928fe7bf1a90a1f767"> 2417</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x3                 <a class="code" href="a00177.html#gad5f1043adbe803928fe7bf1a90a1f767">f32mat2x3</a>;</div>
+<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;</div>
+<div class="line"><a name="l02421"></a><span class="lineno"><a class="line" href="a00177.html#ga5ed667d0247cce477f013ea31982843d"> 2421</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat2x4                 <a class="code" href="a00177.html#ga5ed667d0247cce477f013ea31982843d">f32mat2x4</a>;</div>
+<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;</div>
+<div class="line"><a name="l02425"></a><span class="lineno"><a class="line" href="a00177.html#ga8709a1ea268fa69bdf1e11616d7fbaf1"> 2425</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x2                 <a class="code" href="a00177.html#ga8709a1ea268fa69bdf1e11616d7fbaf1">f32mat3x2</a>;</div>
+<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160;</div>
+<div class="line"><a name="l02429"></a><span class="lineno"><a class="line" href="a00177.html#ga1e4c52bb824ca16c6e2e5b03635669d0"> 2429</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x3                 <a class="code" href="a00177.html#ga1e4c52bb824ca16c6e2e5b03635669d0">f32mat3x3</a>;</div>
+<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160;</div>
+<div class="line"><a name="l02433"></a><span class="lineno"><a class="line" href="a00177.html#ga0100666c90176eaba80e49357d123c7f"> 2433</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat3x4                 <a class="code" href="a00177.html#ga0100666c90176eaba80e49357d123c7f">f32mat3x4</a>;</div>
+<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;</div>
+<div class="line"><a name="l02437"></a><span class="lineno"><a class="line" href="a00177.html#ga27f897bdfe4bbded9481b8947553d1ff"> 2437</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x2                 <a class="code" href="a00177.html#ga27f897bdfe4bbded9481b8947553d1ff">f32mat4x2</a>;</div>
+<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;</div>
+<div class="line"><a name="l02441"></a><span class="lineno"><a class="line" href="a00177.html#gaa69e73ffb01a52499071391d395908fb"> 2441</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x3                 <a class="code" href="a00177.html#gaa69e73ffb01a52499071391d395908fb">f32mat4x3</a>;</div>
+<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;</div>
+<div class="line"><a name="l02445"></a><span class="lineno"><a class="line" href="a00177.html#gafe2e08549805a7ded26da2a868bedbf5"> 2445</a></span>&#160;        <span class="keyword">typedef</span> highp_f32mat4x4                 <a class="code" href="a00177.html#gafe2e08549805a7ded26da2a868bedbf5">f32mat4x4</a>;</div>
+<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;</div>
+<div class="line"><a name="l02449"></a><span class="lineno"><a class="line" href="a00177.html#ga1fedd5d29746afdaf2d3303a4442704e"> 2449</a></span>&#160;        <span class="keyword">typedef</span> f32mat2x2                               <a class="code" href="a00177.html#ga1fedd5d29746afdaf2d3303a4442704e">f32mat2</a>;</div>
+<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160;</div>
+<div class="line"><a name="l02453"></a><span class="lineno"><a class="line" href="a00177.html#gaf4377997b299a287f7ab3358c9bd3e4c"> 2453</a></span>&#160;        <span class="keyword">typedef</span> f32mat3x3                               <a class="code" href="a00177.html#gaf4377997b299a287f7ab3358c9bd3e4c">f32mat3</a>;</div>
+<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160;</div>
+<div class="line"><a name="l02457"></a><span class="lineno"><a class="line" href="a00177.html#ga797fa3ab16e04456174c36238e091341"> 2457</a></span>&#160;        <span class="keyword">typedef</span> f32mat4x4                               <a class="code" href="a00177.html#ga797fa3ab16e04456174c36238e091341">f32mat4</a>;</div>
+<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160;</div>
+<div class="line"><a name="l02461"></a><span class="lineno"><a class="line" href="a00177.html#ga6966c0cb4673928c9c9da2e91006d2c0"> 2461</a></span>&#160;        <span class="keyword">typedef</span> highp_f32quat                   <a class="code" href="a00177.html#ga6966c0cb4673928c9c9da2e91006d2c0">f32quat</a>;</div>
+<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;</div>
+<div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
+<div class="line"><a name="l02465"></a><span class="lineno"> 2465</span>&#160;        <span class="keyword">typedef</span> lowp_f64vec1                    <a class="code" href="a00177.html#gac5b04f32ae3084a9131a0851e7f4cfae">f64vec1</a>;</div>
+<div class="line"><a name="l02466"></a><span class="lineno"> 2466</span>&#160;        <span class="keyword">typedef</span> lowp_f64vec2                    <a class="code" href="a00177.html#gafaad77b464b5a35626c31205ac6780e3">f64vec2</a>;</div>
+<div class="line"><a name="l02467"></a><span class="lineno"> 2467</span>&#160;        <span class="keyword">typedef</span> lowp_f64vec3                    <a class="code" href="a00177.html#gafacc3614bb1136a7756293e67d34de22">f64vec3</a>;</div>
+<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160;        <span class="keyword">typedef</span> lowp_f64vec4                    <a class="code" href="a00177.html#ga8723186104dc02eb85da386105fba75f">f64vec4</a>;</div>
+<div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat2                    <a class="code" href="a00177.html#ga74b9918c90ea60ce58b3979cde963a38">f64mat2</a>;</div>
+<div class="line"><a name="l02470"></a><span class="lineno"> 2470</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat3                    <a class="code" href="a00177.html#ga68894201dd511792a7af6cff7b5adf71">f64mat3</a>;</div>
+<div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat4                    <a class="code" href="a00177.html#ga219c683b0aa29f4f482f76d77d5c9e95">f64mat4</a>;</div>
+<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat2x2                  <a class="code" href="a00177.html#gaeb817419c76a0766c88713d2754e6cb3">f64mat2x2</a>;</div>
+<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat3x2                  <a class="code" href="a00177.html#ga11e5684b10e098f573ff484c1a569ae2">f64mat3x2</a>;</div>
+<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat4x2                  <a class="code" href="a00177.html#gaa669dfb59031a441de19b34a92704d57">f64mat4x2</a>;</div>
+<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat2x3                  <a class="code" href="a00177.html#ga87d256f4719417e311cd0ea14264678d">f64mat2x3</a>;</div>
+<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat3x3                  <a class="code" href="a00177.html#gae1a5081181c96cc37ce9418f6e856cb6">f64mat3x3</a>;</div>
+<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat4x3                  <a class="code" href="a00177.html#gaba137814a509704937746cc1e82edc32">f64mat4x3</a>;</div>
+<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat2x4                  <a class="code" href="a00177.html#gafb18822e2eac88fa861a76cefd25d550">f64mat2x4</a>;</div>
+<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat3x4                  <a class="code" href="a00177.html#gad37a55a8ce1154083a721b4ecfd55293">f64mat3x4</a>;</div>
+<div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160;        <span class="keyword">typedef</span> lowp_f64mat4x4                  <a class="code" href="a00177.html#ga489163773b021f1800a33cc2fa730c3b">f64mat4x4</a>;</div>
+<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;        <span class="keyword">typedef</span> lowp_f64quat                    <a class="code" href="a00177.html#ga14c583bd625eda8cf4935a14d5dd544d">f64quat</a>;</div>
+<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))</span></div>
+<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;        <span class="keyword">typedef</span> mediump_f64vec1                 <a class="code" href="a00177.html#gac5b04f32ae3084a9131a0851e7f4cfae">f64vec1</a>;</div>
+<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160;        <span class="keyword">typedef</span> mediump_f64vec2                 <a class="code" href="a00177.html#gafaad77b464b5a35626c31205ac6780e3">f64vec2</a>;</div>
+<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;        <span class="keyword">typedef</span> mediump_f64vec3                 <a class="code" href="a00177.html#gafacc3614bb1136a7756293e67d34de22">f64vec3</a>;</div>
+<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160;        <span class="keyword">typedef</span> mediump_f64vec4                 <a class="code" href="a00177.html#ga8723186104dc02eb85da386105fba75f">f64vec4</a>;</div>
+<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat2                 <a class="code" href="a00177.html#ga74b9918c90ea60ce58b3979cde963a38">f64mat2</a>;</div>
+<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat3                 <a class="code" href="a00177.html#ga68894201dd511792a7af6cff7b5adf71">f64mat3</a>;</div>
+<div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat4                 <a class="code" href="a00177.html#ga219c683b0aa29f4f482f76d77d5c9e95">f64mat4</a>;</div>
+<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat2x2               <a class="code" href="a00177.html#gaeb817419c76a0766c88713d2754e6cb3">f64mat2x2</a>;</div>
+<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat3x2               <a class="code" href="a00177.html#ga11e5684b10e098f573ff484c1a569ae2">f64mat3x2</a>;</div>
+<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat4x2               <a class="code" href="a00177.html#gaa669dfb59031a441de19b34a92704d57">f64mat4x2</a>;</div>
+<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat2x3               <a class="code" href="a00177.html#ga87d256f4719417e311cd0ea14264678d">f64mat2x3</a>;</div>
+<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat3x3               <a class="code" href="a00177.html#gae1a5081181c96cc37ce9418f6e856cb6">f64mat3x3</a>;</div>
+<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat4x3               <a class="code" href="a00177.html#gaba137814a509704937746cc1e82edc32">f64mat4x3</a>;</div>
+<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat2x4               <a class="code" href="a00177.html#gafb18822e2eac88fa861a76cefd25d550">f64mat2x4</a>;</div>
+<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat3x4               <a class="code" href="a00177.html#gad37a55a8ce1154083a721b4ecfd55293">f64mat3x4</a>;</div>
+<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span>&#160;        <span class="keyword">typedef</span> mediump_f64mat4x4               <a class="code" href="a00177.html#ga489163773b021f1800a33cc2fa730c3b">f64mat4x4</a>;</div>
+<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span>&#160;        <span class="keyword">typedef</span> mediump_f64quat                 <a class="code" href="a00177.html#ga14c583bd625eda8cf4935a14d5dd544d">f64quat</a>;</div>
+<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span>&#160;        <span class="keyword">typedef</span> highp_f64vec1                   <a class="code" href="a00177.html#gac5b04f32ae3084a9131a0851e7f4cfae">f64vec1</a>;</div>
+<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160;</div>
+<div class="line"><a name="l02507"></a><span class="lineno"><a class="line" href="a00177.html#gafaad77b464b5a35626c31205ac6780e3"> 2507</a></span>&#160;        <span class="keyword">typedef</span> highp_f64vec2                   <a class="code" href="a00177.html#gafaad77b464b5a35626c31205ac6780e3">f64vec2</a>;</div>
+<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span>&#160;</div>
+<div class="line"><a name="l02511"></a><span class="lineno"><a class="line" href="a00177.html#gafacc3614bb1136a7756293e67d34de22"> 2511</a></span>&#160;        <span class="keyword">typedef</span> highp_f64vec3                   <a class="code" href="a00177.html#gafacc3614bb1136a7756293e67d34de22">f64vec3</a>;</div>
+<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;</div>
+<div class="line"><a name="l02515"></a><span class="lineno"><a class="line" href="a00177.html#ga8723186104dc02eb85da386105fba75f"> 2515</a></span>&#160;        <span class="keyword">typedef</span> highp_f64vec4                   <a class="code" href="a00177.html#ga8723186104dc02eb85da386105fba75f">f64vec4</a>;</div>
+<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160;</div>
+<div class="line"><a name="l02519"></a><span class="lineno"><a class="line" href="a00177.html#gaeb817419c76a0766c88713d2754e6cb3"> 2519</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat2x2                 <a class="code" href="a00177.html#gaeb817419c76a0766c88713d2754e6cb3">f64mat2x2</a>;</div>
+<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160;</div>
+<div class="line"><a name="l02523"></a><span class="lineno"><a class="line" href="a00177.html#ga87d256f4719417e311cd0ea14264678d"> 2523</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat2x3                 <a class="code" href="a00177.html#ga87d256f4719417e311cd0ea14264678d">f64mat2x3</a>;</div>
+<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;</div>
+<div class="line"><a name="l02527"></a><span class="lineno"><a class="line" href="a00177.html#gafb18822e2eac88fa861a76cefd25d550"> 2527</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat2x4                 <a class="code" href="a00177.html#gafb18822e2eac88fa861a76cefd25d550">f64mat2x4</a>;</div>
+<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;</div>
+<div class="line"><a name="l02531"></a><span class="lineno"><a class="line" href="a00177.html#ga11e5684b10e098f573ff484c1a569ae2"> 2531</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat3x2                 <a class="code" href="a00177.html#ga11e5684b10e098f573ff484c1a569ae2">f64mat3x2</a>;</div>
+<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;</div>
+<div class="line"><a name="l02535"></a><span class="lineno"><a class="line" href="a00177.html#gae1a5081181c96cc37ce9418f6e856cb6"> 2535</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat3x3                 <a class="code" href="a00177.html#gae1a5081181c96cc37ce9418f6e856cb6">f64mat3x3</a>;</div>
+<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;</div>
+<div class="line"><a name="l02539"></a><span class="lineno"><a class="line" href="a00177.html#gad37a55a8ce1154083a721b4ecfd55293"> 2539</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat3x4                 <a class="code" href="a00177.html#gad37a55a8ce1154083a721b4ecfd55293">f64mat3x4</a>;</div>
+<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;</div>
+<div class="line"><a name="l02543"></a><span class="lineno"><a class="line" href="a00177.html#gaa669dfb59031a441de19b34a92704d57"> 2543</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat4x2                 <a class="code" href="a00177.html#gaa669dfb59031a441de19b34a92704d57">f64mat4x2</a>;</div>
+<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;</div>
+<div class="line"><a name="l02547"></a><span class="lineno"><a class="line" href="a00177.html#gaba137814a509704937746cc1e82edc32"> 2547</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat4x3                 <a class="code" href="a00177.html#gaba137814a509704937746cc1e82edc32">f64mat4x3</a>;</div>
+<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;</div>
+<div class="line"><a name="l02551"></a><span class="lineno"><a class="line" href="a00177.html#ga489163773b021f1800a33cc2fa730c3b"> 2551</a></span>&#160;        <span class="keyword">typedef</span> highp_f64mat4x4                 <a class="code" href="a00177.html#ga489163773b021f1800a33cc2fa730c3b">f64mat4x4</a>;</div>
+<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160;</div>
+<div class="line"><a name="l02555"></a><span class="lineno"><a class="line" href="a00177.html#ga74b9918c90ea60ce58b3979cde963a38"> 2555</a></span>&#160;        <span class="keyword">typedef</span> f64mat2x2                               <a class="code" href="a00177.html#ga74b9918c90ea60ce58b3979cde963a38">f64mat2</a>;</div>
+<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;</div>
+<div class="line"><a name="l02559"></a><span class="lineno"><a class="line" href="a00177.html#ga68894201dd511792a7af6cff7b5adf71"> 2559</a></span>&#160;        <span class="keyword">typedef</span> f64mat3x3                               <a class="code" href="a00177.html#ga68894201dd511792a7af6cff7b5adf71">f64mat3</a>;</div>
+<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160;</div>
+<div class="line"><a name="l02563"></a><span class="lineno"><a class="line" href="a00177.html#ga219c683b0aa29f4f482f76d77d5c9e95"> 2563</a></span>&#160;        <span class="keyword">typedef</span> f64mat4x4                               <a class="code" href="a00177.html#ga219c683b0aa29f4f482f76d77d5c9e95">f64mat4</a>;</div>
+<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160;</div>
+<div class="line"><a name="l02567"></a><span class="lineno"><a class="line" href="a00177.html#ga14c583bd625eda8cf4935a14d5dd544d"> 2567</a></span>&#160;        <span class="keyword">typedef</span> highp_f64quat                   <a class="code" href="a00177.html#ga14c583bd625eda8cf4935a14d5dd544d">f64quat</a>;</div>
+<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;</div>
+<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00177_html_ga119c41d73fe9977358174eb3ac1035a3"><div class="ttname"><a href="a00177.html#ga119c41d73fe9977358174eb3ac1035a3">glm::lowp_int8_t</a></div><div class="ttdeci">detail::int8 lowp_int8_t</div><div class="ttdoc">Low precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00116">fwd.hpp:116</a></div></div>
+<div class="ttc" id="a00177_html_ga797fa3ab16e04456174c36238e091341"><div class="ttname"><a href="a00177.html#ga797fa3ab16e04456174c36238e091341">glm::f32mat4</a></div><div class="ttdeci">f32mat4x4 f32mat4</div><div class="ttdoc">Default single-precision floating-point 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02457">fwd.hpp:2457</a></div></div>
+<div class="ttc" id="a00177_html_ga28f03a39ac56c70f9bf3ada11cb60e3b"><div class="ttname"><a href="a00177.html#ga28f03a39ac56c70f9bf3ada11cb60e3b">glm::i16vec1</a></div><div class="ttdeci">highp_i16vec1 i16vec1</div><div class="ttdoc">Default precision 16 bit signed integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00444">fwd.hpp:444</a></div></div>
+<div class="ttc" id="a00177_html_gad3c127f8bf8d7d4e738037c257abb5b1"><div class="ttname"><a href="a00177.html#gad3c127f8bf8d7d4e738037c257abb5b1">glm::float32</a></div><div class="ttdeci">float float32</div><div class="ttdoc">Default 32 bit single-precision floating-point scalar. </div><div class="ttdef"><b>Definition:</b> <a href="a00110_source.html#l00055">type_float.hpp:55</a></div></div>
+<div class="ttc" id="a00177_html_ga3174a49dc84a977cad7012a62f4af02f"><div class="ttname"><a href="a00177.html#ga3174a49dc84a977cad7012a62f4af02f">glm::f32vec1</a></div><div class="ttdeci">highp_f32vec1 f32vec1</div><div class="ttdoc">Default single-precision floating-point vector of 1 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02397">fwd.hpp:2397</a></div></div>
+<div class="ttc" id="a00177_html_ga5ed667d0247cce477f013ea31982843d"><div class="ttname"><a href="a00177.html#ga5ed667d0247cce477f013ea31982843d">glm::f32mat2x4</a></div><div class="ttdeci">highp_f32mat2x4 f32mat2x4</div><div class="ttdoc">Default single-precision floating-point 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02421">fwd.hpp:2421</a></div></div>
+<div class="ttc" id="a00177_html_gaf49470869e9be2c059629b250619804e"><div class="ttname"><a href="a00177.html#gaf49470869e9be2c059629b250619804e">glm::lowp_uint8</a></div><div class="ttdeci">detail::uint8 lowp_uint8</div><div class="ttdoc">Low precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00703">fwd.hpp:703</a></div></div>
+<div class="ttc" id="a00177_html_ga8723186104dc02eb85da386105fba75f"><div class="ttname"><a href="a00177.html#ga8723186104dc02eb85da386105fba75f">glm::f64vec4</a></div><div class="ttdeci">highp_f64vec4 f64vec4</div><div class="ttdoc">Default double-precision floating-point vector of 4 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02515">fwd.hpp:2515</a></div></div>
+<div class="ttc" id="a00177_html_ga913a8bd51e4ebccd30ad488de3c18da9"><div class="ttname"><a href="a00177.html#ga913a8bd51e4ebccd30ad488de3c18da9">glm::u32vec1</a></div><div class="ttdeci">highp_u32vec1 u32vec1</div><div class="ttdoc">Default precision 32 bit unsigned integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01132">fwd.hpp:1132</a></div></div>
+<div class="ttc" id="a00110_html"><div class="ttname"><a href="a00110.html">type_float.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_ga8f9002d3ab660e3171f5cdea1aab8395"><div class="ttname"><a href="a00158.html#ga8f9002d3ab660e3171f5cdea1aab8395">glm::lowp_vec4</a></div><div class="ttdeci">tvec4&lt; float, lowp &gt; lowp_vec4</div><div class="ttdoc">4 components vector of low single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00363">type_vec.hpp:363</a></div></div>
+<div class="ttc" id="a00177_html_ga6fbd69cbdaa44345bff923a2cf63de7e"><div class="ttname"><a href="a00177.html#ga6fbd69cbdaa44345bff923a2cf63de7e">glm::mediump_int8</a></div><div class="ttdeci">detail::int8 mediump_int8</div><div class="ttdoc">Medium precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00148">fwd.hpp:148</a></div></div>
+<div class="ttc" id="a00177_html_gacf1ded173e1e2d049c511d095b259e21"><div class="ttname"><a href="a00177.html#gacf1ded173e1e2d049c511d095b259e21">glm::mediump_i8</a></div><div class="ttdeci">detail::int8 mediump_i8</div><div class="ttdoc">Medium precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00180">fwd.hpp:180</a></div></div>
+<div class="ttc" id="a00177_html_gacd1259f3a9e8d2a9df5be2d74322ef9c"><div class="ttname"><a href="a00177.html#gacd1259f3a9e8d2a9df5be2d74322ef9c">glm::highp_u8</a></div><div class="ttdeci">detail::uint8 highp_u8</div><div class="ttdoc">Medium precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00837">fwd.hpp:837</a></div></div>
+<div class="ttc" id="a00158_html_ga51e835b2aa735782f0174328acffa521"><div class="ttname"><a href="a00158.html#ga51e835b2aa735782f0174328acffa521">glm::lowp_vec2</a></div><div class="ttdeci">tvec2&lt; float, lowp &gt; lowp_vec2</div><div class="ttdoc">2 components vector of low single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00149">type_vec.hpp:149</a></div></div>
+<div class="ttc" id="a00177_html_ga6d7b3789ecb932c26430009478cac7ae"><div class="ttname"><a href="a00177.html#ga6d7b3789ecb932c26430009478cac7ae">glm::mediump_int8_t</a></div><div class="ttdeci">detail::int8 mediump_int8_t</div><div class="ttdoc">Medium precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00164">fwd.hpp:164</a></div></div>
+<div class="ttc" id="a00177_html_gaa46172d7dc1c7ffe3e78107ff88adf08"><div class="ttname"><a href="a00177.html#gaa46172d7dc1c7ffe3e78107ff88adf08">glm::highp_uint64_t</a></div><div class="ttdeci">detail::uint64 highp_uint64_t</div><div class="ttdoc">Medium precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00833">fwd.hpp:833</a></div></div>
+<div class="ttc" id="a00177_html_ga746dc6da204f5622e395f492997dbf57"><div class="ttname"><a href="a00177.html#ga746dc6da204f5622e395f492997dbf57">glm::highp_uint16</a></div><div class="ttdeci">detail::uint16 highp_uint16</div><div class="ttdoc">Medium precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00809">fwd.hpp:809</a></div></div>
+<div class="ttc" id="a00177_html_gae978599c9711ac263ba732d4ac225b0e"><div class="ttname"><a href="a00177.html#gae978599c9711ac263ba732d4ac225b0e">glm::highp_uint32_t</a></div><div class="ttdeci">detail::uint32 highp_uint32_t</div><div class="ttdoc">Medium precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00829">fwd.hpp:829</a></div></div>
+<div class="ttc" id="a00177_html_gaf5e94bf2a20af7601787c154751dc2e1"><div class="ttname"><a href="a00177.html#gaf5e94bf2a20af7601787c154751dc2e1">glm::mediump_i32</a></div><div class="ttdeci">detail::int32 mediump_i32</div><div class="ttdoc">Medium precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00188">fwd.hpp:188</a></div></div>
+<div class="ttc" id="a00158_html_ga7b31b02c5558e2f8e5d8439ae3803d3a"><div class="ttname"><a href="a00158.html#ga7b31b02c5558e2f8e5d8439ae3803d3a">glm::highp_vec3</a></div><div class="ttdeci">tvec3&lt; float, highp &gt; highp_vec3</div><div class="ttdoc">3 components vector of high single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00245">type_vec.hpp:245</a></div></div>
+<div class="ttc" id="a00127_html"><div class="ttname"><a href="a00127.html">type_vec.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00177_html_gacb88796f2d08ef253d0345aff20c3aee"><div class="ttname"><a href="a00177.html#gacb88796f2d08ef253d0345aff20c3aee">glm::highp_i8</a></div><div class="ttdeci">detail::int8 highp_i8</div><div class="ttdoc">High precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00228">fwd.hpp:228</a></div></div>
+<div class="ttc" id="a00177_html_gade69872a31f066e5ae212f1af6008edb"><div class="ttname"><a href="a00177.html#gade69872a31f066e5ae212f1af6008edb">glm::i64vec2</a></div><div class="ttdeci">highp_i64vec2 i64vec2</div><div class="ttdoc">Default precision 64 bit signed integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00686">fwd.hpp:686</a></div></div>
+<div class="ttc" id="a00177_html_gad9b52e1c271cb9c8bfae6365d3e38a23"><div class="ttname"><a href="a00177.html#gad9b52e1c271cb9c8bfae6365d3e38a23">glm::u32vec3</a></div><div class="ttdeci">highp_u32vec3 u32vec3</div><div class="ttdoc">Default precision 32 bit unsigned integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01140">fwd.hpp:1140</a></div></div>
+<div class="ttc" id="a00177_html_gad68bfd9f881856fc863a6ebca0b67f78"><div class="ttname"><a href="a00177.html#gad68bfd9f881856fc863a6ebca0b67f78">glm::lowp_uint16</a></div><div class="ttdeci">detail::uint16 lowp_uint16</div><div class="ttdoc">Low precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00707">fwd.hpp:707</a></div></div>
+<div class="ttc" id="a00177_html_ga8ca60d0ba6d438892be6017f43747661"><div class="ttname"><a href="a00177.html#ga8ca60d0ba6d438892be6017f43747661">glm::u8vec3</a></div><div class="ttdeci">highp_u8vec3 u8vec3</div><div class="ttdoc">Default precision 8 bit unsigned integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00981">fwd.hpp:981</a></div></div>
+<div class="ttc" id="a00177_html_ga1e4c52bb824ca16c6e2e5b03635669d0"><div class="ttname"><a href="a00177.html#ga1e4c52bb824ca16c6e2e5b03635669d0">glm::f32mat3x3</a></div><div class="ttdeci">highp_f32mat3x3 f32mat3x3</div><div class="ttdoc">Default single-precision floating-point 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02429">fwd.hpp:2429</a></div></div>
+<div class="ttc" id="a00177_html_ga3ebcb1f6d8d8387253de8bccb058d77f"><div class="ttname"><a href="a00177.html#ga3ebcb1f6d8d8387253de8bccb058d77f">glm::mediump_i64</a></div><div class="ttdeci">detail::int64 mediump_i64</div><div class="ttdoc">Medium precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00192">fwd.hpp:192</a></div></div>
+<div class="ttc" id="a00177_html_gaf524c9059f0342668d8eea359bcceaae"><div class="ttname"><a href="a00177.html#gaf524c9059f0342668d8eea359bcceaae">glm::u16vec4</a></div><div class="ttdeci">highp_u16vec4 u16vec4</div><div class="ttdoc">Default precision 16 bit unsigned integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01065">fwd.hpp:1065</a></div></div>
+<div class="ttc" id="a00177_html_ga0c181fdf06a309691999926b6690c969"><div class="ttname"><a href="a00177.html#ga0c181fdf06a309691999926b6690c969">glm::highp_u64</a></div><div class="ttdeci">detail::uint64 highp_u64</div><div class="ttdoc">Medium precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00849">fwd.hpp:849</a></div></div>
+<div class="ttc" id="a00177_html_ga1d794d240091678f602e8de225b8d8c9"><div class="ttname"><a href="a00177.html#ga1d794d240091678f602e8de225b8d8c9">glm::f64</a></div><div class="ttdeci">highp_float64_t f64</div><div class="ttdoc">Default 64 bit double-precision floating-point scalar. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01509">fwd.hpp:1509</a></div></div>
+<div class="ttc" id="a00177_html_gac5b04f32ae3084a9131a0851e7f4cfae"><div class="ttname"><a href="a00177.html#gac5b04f32ae3084a9131a0851e7f4cfae">glm::f64vec1</a></div><div class="ttdeci">highp_f64vec1 f64vec1</div><div class="ttdoc">Default double-precision floating-point vector of 1 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02503">fwd.hpp:2503</a></div></div>
+<div class="ttc" id="a00177_html_gafb6ca34df28889a5db9d244aed375411"><div class="ttname"><a href="a00177.html#gafb6ca34df28889a5db9d244aed375411">glm::u64vec4</a></div><div class="ttdeci">highp_u64vec4 u64vec4</div><div class="ttdoc">Default precision 64 bit unsigned integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01303">fwd.hpp:1303</a></div></div>
+<div class="ttc" id="a00177_html_ga760bcf26fdb23a2c3ecad3c928a19ae6"><div class="ttname"><a href="a00177.html#ga760bcf26fdb23a2c3ecad3c928a19ae6">glm::lowp_int8</a></div><div class="ttdeci">detail::int8 lowp_int8</div><div class="ttdoc">Low precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00100">fwd.hpp:100</a></div></div>
+<div class="ttc" id="a00177_html_ga698e36b01167fc0f037889334dce8def"><div class="ttname"><a href="a00177.html#ga698e36b01167fc0f037889334dce8def">glm::lowp_int16</a></div><div class="ttdeci">detail::int16 lowp_int16</div><div class="ttdoc">Low precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00104">fwd.hpp:104</a></div></div>
+<div class="ttc" id="a00177_html_gad73e5e905dcf2d8cab002b4ab46e9426"><div class="ttname"><a href="a00177.html#gad73e5e905dcf2d8cab002b4ab46e9426">glm::i16vec4</a></div><div class="ttdeci">highp_i16vec4 i16vec4</div><div class="ttdoc">Default precision 16 bit signed integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00456">fwd.hpp:456</a></div></div>
+<div class="ttc" id="a00177_html_ga3ab5fe184343d394fb6c2723c3ee3699"><div class="ttname"><a href="a00177.html#ga3ab5fe184343d394fb6c2723c3ee3699">glm::i16</a></div><div class="ttdeci">detail::int16 i16</div><div class="ttdoc">16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00289">fwd.hpp:289</a></div></div>
+<div class="ttc" id="a00177_html_ga11e5684b10e098f573ff484c1a569ae2"><div class="ttname"><a href="a00177.html#ga11e5684b10e098f573ff484c1a569ae2">glm::f64mat3x2</a></div><div class="ttdeci">highp_f64mat3x2 f64mat3x2</div><div class="ttdoc">Default double-precision floating-point 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02531">fwd.hpp:2531</a></div></div>
+<div class="ttc" id="a00177_html_ga5165fbee2d78f342950265b69a07353d"><div class="ttname"><a href="a00177.html#ga5165fbee2d78f342950265b69a07353d">glm::fmat3</a></div><div class="ttdeci">fmat3x3 fmat3</div><div class="ttdoc">Default single-precision floating-point 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02383">fwd.hpp:2383</a></div></div>
+<div class="ttc" id="a00177_html_ga41c6189f6485c2825d60fdc835b3a2b0"><div class="ttname"><a href="a00177.html#ga41c6189f6485c2825d60fdc835b3a2b0">glm::int8</a></div><div class="ttdeci">detail::int8 int8</div><div class="ttdoc">8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00206">type_int.hpp:206</a></div></div>
+<div class="ttc" id="a00177_html_ga7ff73a45cea9613ebf1a9fad0b9f82ac"><div class="ttname"><a href="a00177.html#ga7ff73a45cea9613ebf1a9fad0b9f82ac">glm::lowp_i32</a></div><div class="ttdeci">detail::int32 lowp_i32</div><div class="ttdoc">Low precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00140">fwd.hpp:140</a></div></div>
+<div class="ttc" id="a00177_html_ga28d97808322d3c92186e4a0c067d7e8e"><div class="ttname"><a href="a00177.html#ga28d97808322d3c92186e4a0c067d7e8e">glm::uint8_t</a></div><div class="ttdeci">detail::uint8 uint8_t</div><div class="ttdoc">8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00877">fwd.hpp:877</a></div></div>
+<div class="ttc" id="a00177_html_ga0350631d35ff800e6133ac6243b13cbc"><div class="ttname"><a href="a00177.html#ga0350631d35ff800e6133ac6243b13cbc">glm::lowp_int32_t</a></div><div class="ttdeci">detail::int32 lowp_int32_t</div><div class="ttdoc">Low precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00124">fwd.hpp:124</a></div></div>
+<div class="ttc" id="a00158_html_gaae72e97529b8fa4e0341b425d4fe03ae"><div class="ttname"><a href="a00158.html#gaae72e97529b8fa4e0341b425d4fe03ae">glm::mediump_vec4</a></div><div class="ttdeci">tvec4&lt; float, mediump &gt; mediump_vec4</div><div class="ttdoc">4 components vector of medium single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00357">type_vec.hpp:357</a></div></div>
+<div class="ttc" id="a00177_html_ga97432f9979e73e66567361fd01e4cffb"><div class="ttname"><a href="a00177.html#ga97432f9979e73e66567361fd01e4cffb">glm::highp_uint8</a></div><div class="ttdeci">detail::uint8 highp_uint8</div><div class="ttdoc">Medium precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00805">fwd.hpp:805</a></div></div>
+<div class="ttc" id="a00177_html_ga727675ac6b5d2fc699520e0059735e25"><div class="ttname"><a href="a00177.html#ga727675ac6b5d2fc699520e0059735e25">glm::highp_i32</a></div><div class="ttdeci">detail::int32 highp_i32</div><div class="ttdoc">High precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00236">fwd.hpp:236</a></div></div>
+<div class="ttc" id="a00177_html_ga1fa92a233b9110861cdbc8c2ccf0b5a3"><div class="ttname"><a href="a00177.html#ga1fa92a233b9110861cdbc8c2ccf0b5a3">glm::mediump_uint8</a></div><div class="ttdeci">detail::uint8 mediump_uint8</div><div class="ttdoc">Medium precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00755">fwd.hpp:755</a></div></div>
+<div class="ttc" id="a00177_html_gad1213a22bbb9e4107f07eaa4956f8281"><div class="ttname"><a href="a00177.html#gad1213a22bbb9e4107f07eaa4956f8281">glm::mediump_u8</a></div><div class="ttdeci">detail::uint8 mediump_u8</div><div class="ttdoc">Medium precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00787">fwd.hpp:787</a></div></div>
+<div class="ttc" id="a00177_html_gaf17b2604c0d92bffb92375d8aa588756"><div class="ttname"><a href="a00177.html#gaf17b2604c0d92bffb92375d8aa588756">glm::fmat2x3</a></div><div class="ttdeci">highp_f32mat2x3 fmat2x3</div><div class="ttdoc">Default single-precision floating-point 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02347">fwd.hpp:2347</a></div></div>
+<div class="ttc" id="a00177_html_ga27f897bdfe4bbded9481b8947553d1ff"><div class="ttname"><a href="a00177.html#ga27f897bdfe4bbded9481b8947553d1ff">glm::f32mat4x2</a></div><div class="ttdeci">highp_f32mat4x2 f32mat4x2</div><div class="ttdoc">Default single-precision floating-point 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02437">fwd.hpp:2437</a></div></div>
+<div class="ttc" id="a00177_html_ga8e62c883d13f47015f3b70ed88751369"><div class="ttname"><a href="a00177.html#ga8e62c883d13f47015f3b70ed88751369">glm::highp_u16</a></div><div class="ttdeci">detail::uint16 highp_u16</div><div class="ttdoc">Medium precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00841">fwd.hpp:841</a></div></div>
+<div class="ttc" id="a00177_html_ga7a6f1929464dcc680b16381a4ee5f2cf"><div class="ttname"><a href="a00177.html#ga7a6f1929464dcc680b16381a4ee5f2cf">glm::highp_u32</a></div><div class="ttdeci">detail::uint32 highp_u32</div><div class="ttdoc">Medium precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00845">fwd.hpp:845</a></div></div>
+<div class="ttc" id="a00177_html_gaff5189f97f9e842d9636a0f240001b2e"><div class="ttname"><a href="a00177.html#gaff5189f97f9e842d9636a0f240001b2e">glm::int64</a></div><div class="ttdeci">detail::int64 int64</div><div class="ttdoc">64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00209">type_int.hpp:209</a></div></div>
+<div class="ttc" id="a00177_html_ga8165913e068444f7842302d40ba897b9"><div class="ttname"><a href="a00177.html#ga8165913e068444f7842302d40ba897b9">glm::u32</a></div><div class="ttdeci">detail::uint32 u32</div><div class="ttdoc">32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00902">fwd.hpp:902</a></div></div>
+<div class="ttc" id="a00177_html_ga489163773b021f1800a33cc2fa730c3b"><div class="ttname"><a href="a00177.html#ga489163773b021f1800a33cc2fa730c3b">glm::f64mat4x4</a></div><div class="ttdeci">highp_f64mat4x4 f64mat4x4</div><div class="ttdoc">Default double-precision floating-point 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02551">fwd.hpp:2551</a></div></div>
+<div class="ttc" id="a00177_html_gab5596d48586414c91ccb270962dc14d3"><div class="ttname"><a href="a00177.html#gab5596d48586414c91ccb270962dc14d3">glm::float64</a></div><div class="ttdeci">double float64</div><div class="ttdoc">Default 64 bit double-precision floating-point scalar. </div><div class="ttdef"><b>Definition:</b> <a href="a00110_source.html#l00056">type_float.hpp:56</a></div></div>
+<div class="ttc" id="a00177_html_gad0549c902a96a7164e4ac858d5f39dbf"><div class="ttname"><a href="a00177.html#gad0549c902a96a7164e4ac858d5f39dbf">glm::highp_int8</a></div><div class="ttdeci">detail::int8 highp_int8</div><div class="ttdoc">High precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00196">fwd.hpp:196</a></div></div>
+<div class="ttc" id="a00177_html_ga87d256f4719417e311cd0ea14264678d"><div class="ttname"><a href="a00177.html#ga87d256f4719417e311cd0ea14264678d">glm::f64mat2x3</a></div><div class="ttdeci">highp_f64mat2x3 f64mat2x3</div><div class="ttdoc">Default double-precision floating-point 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02523">fwd.hpp:2523</a></div></div>
+<div class="ttc" id="a00177_html_ga7f5dbe417199277e449b8db0210acb71"><div class="ttname"><a href="a00177.html#ga7f5dbe417199277e449b8db0210acb71">glm::u16vec3</a></div><div class="ttdeci">highp_u16vec3 u16vec3</div><div class="ttdoc">Default precision 16 bit unsigned integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01061">fwd.hpp:1061</a></div></div>
+<div class="ttc" id="a00177_html_ga110bec18ca44c41c76c3c9e4d7b5bd79"><div class="ttname"><a href="a00177.html#ga110bec18ca44c41c76c3c9e4d7b5bd79">glm::i16vec2</a></div><div class="ttdeci">highp_i16vec2 i16vec2</div><div class="ttdoc">Default precision 16 bit signed integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00448">fwd.hpp:448</a></div></div>
+<div class="ttc" id="a00177_html_ga1fedd5d29746afdaf2d3303a4442704e"><div class="ttname"><a href="a00177.html#ga1fedd5d29746afdaf2d3303a4442704e">glm::f32mat2</a></div><div class="ttdeci">f32mat2x2 f32mat2</div><div class="ttdoc">Default single-precision floating-point 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02449">fwd.hpp:2449</a></div></div>
+<div class="ttc" id="a00177_html_gaa6a5b461bbf5fe20982472aa51896d4b"><div class="ttname"><a href="a00177.html#gaa6a5b461bbf5fe20982472aa51896d4b">glm::lowp_uint32</a></div><div class="ttdeci">detail::uint32 lowp_uint32</div><div class="ttdoc">Low precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00711">fwd.hpp:711</a></div></div>
+<div class="ttc" id="a00158_html_gaf89f8fb5a06848ea4ec1c3a02813454e"><div class="ttname"><a href="a00158.html#gaf89f8fb5a06848ea4ec1c3a02813454e">glm::lowp_vec3</a></div><div class="ttdeci">tvec3&lt; float, lowp &gt; lowp_vec3</div><div class="ttdoc">3 components vector of low single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00259">type_vec.hpp:259</a></div></div>
+<div class="ttc" id="a00177_html_ga80e72fe94c88498537e8158ba7591c54"><div class="ttname"><a href="a00177.html#ga80e72fe94c88498537e8158ba7591c54">glm::mediump_int16_t</a></div><div class="ttdeci">detail::int16 mediump_int16_t</div><div class="ttdoc">Medium precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00168">fwd.hpp:168</a></div></div>
+<div class="ttc" id="a00177_html_ga4bf09d8838a86866b39ee6e109341645"><div class="ttname"><a href="a00177.html#ga4bf09d8838a86866b39ee6e109341645">glm::int8_t</a></div><div class="ttdeci">detail::int8 int8_t</div><div class="ttdoc">8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00268">fwd.hpp:268</a></div></div>
+<div class="ttc" id="a00177_html_ga30652709815ad9404272a31957daa59e"><div class="ttname"><a href="a00177.html#ga30652709815ad9404272a31957daa59e">glm::mediump_uint64</a></div><div class="ttdeci">detail::uint64 mediump_uint64</div><div class="ttdoc">Medium precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00767">fwd.hpp:767</a></div></div>
+<div class="ttc" id="a00177_html_ga13471cbbe74e4303a57f3743d007b74d"><div class="ttname"><a href="a00177.html#ga13471cbbe74e4303a57f3743d007b74d">glm::uint16</a></div><div class="ttdeci">detail::uint16 uint16</div><div class="ttdoc">16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00212">type_int.hpp:212</a></div></div>
+<div class="ttc" id="a00177_html_ga1a11c170f030ab34ddf037714e936cba"><div class="ttname"><a href="a00177.html#ga1a11c170f030ab34ddf037714e936cba">glm::fmat4x3</a></div><div class="ttdeci">highp_f32mat4x3 fmat4x3</div><div class="ttdoc">Default single-precision floating-point 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02371">fwd.hpp:2371</a></div></div>
+<div class="ttc" id="a00177_html_gaa2d7acc0adb536fab71fe261232a40ff"><div class="ttname"><a href="a00177.html#gaa2d7acc0adb536fab71fe261232a40ff">glm::u16</a></div><div class="ttdeci">detail::uint16 u16</div><div class="ttdoc">16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00898">fwd.hpp:898</a></div></div>
+<div class="ttc" id="a00177_html_ga981b63d5c5f7233a29364e0a968d139b"><div class="ttname"><a href="a00177.html#ga981b63d5c5f7233a29364e0a968d139b">glm::fvec4</a></div><div class="ttdeci">highp_f32vec4 fvec4</div><div class="ttdoc">Default single-precision floating-point vector of 4 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02339">fwd.hpp:2339</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00177_html_ga0741d40e2b0fea4f1c50cb325114f075"><div class="ttname"><a href="a00177.html#ga0741d40e2b0fea4f1c50cb325114f075">glm::u32vec2</a></div><div class="ttdeci">highp_u32vec2 u32vec2</div><div class="ttdoc">Default precision 32 bit unsigned integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01136">fwd.hpp:1136</a></div></div>
+<div class="ttc" id="a00177_html_gaf3a5016bf360977ce114deb2e01ae10a"><div class="ttname"><a href="a00177.html#gaf3a5016bf360977ce114deb2e01ae10a">glm::f32mat2x2</a></div><div class="ttdeci">highp_f32mat2x2 f32mat2x2</div><div class="ttdoc">Default single-precision floating-point 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02413">fwd.hpp:2413</a></div></div>
+<div class="ttc" id="a00177_html_ga219c683b0aa29f4f482f76d77d5c9e95"><div class="ttname"><a href="a00177.html#ga219c683b0aa29f4f482f76d77d5c9e95">glm::f64mat4</a></div><div class="ttdeci">f64mat4x4 f64mat4</div><div class="ttdoc">Default double-precision floating-point 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02563">fwd.hpp:2563</a></div></div>
+<div class="ttc" id="a00177_html_ga5244cef85d6e870e240c76428a262ae8"><div class="ttname"><a href="a00177.html#ga5244cef85d6e870e240c76428a262ae8">glm::mediump_int32</a></div><div class="ttdeci">detail::int32 mediump_int32</div><div class="ttdoc">Medium precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00156">fwd.hpp:156</a></div></div>
+<div class="ttc" id="a00177_html_ga0336abc2604dd2c20c30e036454b64f8"><div class="ttname"><a href="a00177.html#ga0336abc2604dd2c20c30e036454b64f8">glm::highp_i16</a></div><div class="ttdeci">detail::int16 highp_i16</div><div class="ttdoc">High precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00232">fwd.hpp:232</a></div></div>
+<div class="ttc" id="a00177_html_ga8709a1ea268fa69bdf1e11616d7fbaf1"><div class="ttname"><a href="a00177.html#ga8709a1ea268fa69bdf1e11616d7fbaf1">glm::f32mat3x2</a></div><div class="ttdeci">highp_f32mat3x2 f32mat3x2</div><div class="ttdoc">Default single-precision floating-point 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02425">fwd.hpp:2425</a></div></div>
+<div class="ttc" id="a00177_html_gac4e00a26a2adb5f2c0a7096810df29e5"><div class="ttname"><a href="a00177.html#gac4e00a26a2adb5f2c0a7096810df29e5">glm::highp_uint8_t</a></div><div class="ttdeci">detail::uint8 highp_uint8_t</div><div class="ttdoc">Medium precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00821">fwd.hpp:821</a></div></div>
+<div class="ttc" id="a00177_html_gaa669dfb59031a441de19b34a92704d57"><div class="ttname"><a href="a00177.html#gaa669dfb59031a441de19b34a92704d57">glm::f64mat4x2</a></div><div class="ttdeci">highp_f64mat4x2 f64mat4x2</div><div class="ttdoc">Default double-precision floating-point 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02543">fwd.hpp:2543</a></div></div>
+<div class="ttc" id="a00177_html_gad37a55a8ce1154083a721b4ecfd55293"><div class="ttname"><a href="a00177.html#gad37a55a8ce1154083a721b4ecfd55293">glm::f64mat3x4</a></div><div class="ttdeci">highp_f64mat3x4 f64mat3x4</div><div class="ttdoc">Default double-precision floating-point 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02539">fwd.hpp:2539</a></div></div>
+<div class="ttc" id="a00177_html_gabd79752ff357d83b49136b6299ea62d9"><div class="ttname"><a href="a00177.html#gabd79752ff357d83b49136b6299ea62d9">glm::fmat4x4</a></div><div class="ttdeci">highp_f32mat4x4 fmat4x4</div><div class="ttdoc">Default single-precision floating-point 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02375">fwd.hpp:2375</a></div></div>
+<div class="ttc" id="a00177_html_ga41d579d81c3d98edd0532244fa02da77"><div class="ttname"><a href="a00177.html#ga41d579d81c3d98edd0532244fa02da77">glm::float32_t</a></div><div class="ttdeci">highp_float32_t float32_t</div><div class="ttdoc">Default 32 bit single-precision floating-point scalar. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01497">fwd.hpp:1497</a></div></div>
+<div class="ttc" id="a00177_html_gaa38d732f5d4a7bc42a1b43b9d3c141ce"><div class="ttname"><a href="a00177.html#gaa38d732f5d4a7bc42a1b43b9d3c141ce">glm::highp_uint64</a></div><div class="ttdeci">detail::uint64 highp_uint64</div><div class="ttdoc">Medium precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00817">fwd.hpp:817</a></div></div>
+<div class="ttc" id="a00158_html_gade7cb496ed3d78b2a11f1651cce77239"><div class="ttname"><a href="a00158.html#gade7cb496ed3d78b2a11f1651cce77239">glm::highp_vec4</a></div><div class="ttdeci">tvec4&lt; float, highp &gt; highp_vec4</div><div class="ttdoc">4 components vector of high single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00351">type_vec.hpp:351</a></div></div>
+<div class="ttc" id="a00177_html_ga793c9293cc687a0e342396a377c5df77"><div class="ttname"><a href="a00177.html#ga793c9293cc687a0e342396a377c5df77">glm::u64vec1</a></div><div class="ttdeci">highp_u64vec1 u64vec1</div><div class="ttdoc">Default precision 64 bit unsigned integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01291">fwd.hpp:1291</a></div></div>
+<div class="ttc" id="a00177_html_ga354736e0c645099cd44c42fb2f87c2b8"><div class="ttname"><a href="a00177.html#ga354736e0c645099cd44c42fb2f87c2b8">glm::lowp_i64</a></div><div class="ttdeci">detail::int64 lowp_i64</div><div class="ttdoc">Low precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00144">fwd.hpp:144</a></div></div>
+<div class="ttc" id="a00177_html_gafacc3614bb1136a7756293e67d34de22"><div class="ttname"><a href="a00177.html#gafacc3614bb1136a7756293e67d34de22">glm::f64vec3</a></div><div class="ttdeci">highp_f64vec3 f64vec3</div><div class="ttdoc">Default double-precision floating-point vector of 3 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02511">fwd.hpp:2511</a></div></div>
+<div class="ttc" id="a00177_html_ga302041c186d0d028bea31b711fe16759"><div class="ttname"><a href="a00177.html#ga302041c186d0d028bea31b711fe16759">glm::int16</a></div><div class="ttdeci">detail::int16 int16</div><div class="ttdoc">16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00207">type_int.hpp:207</a></div></div>
+<div class="ttc" id="a00177_html_ga864aabca5f3296e176e0c3ed9cc16b02"><div class="ttname"><a href="a00177.html#ga864aabca5f3296e176e0c3ed9cc16b02">glm::lowp_int32</a></div><div class="ttdeci">detail::int32 lowp_int32</div><div class="ttdoc">Low precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00108">fwd.hpp:108</a></div></div>
+<div class="ttc" id="a00177_html_ga8dd3a3281ae5c970ffe0c41d538aa153"><div class="ttname"><a href="a00177.html#ga8dd3a3281ae5c970ffe0c41d538aa153">glm::lowp_uint64_t</a></div><div class="ttdeci">detail::uint64 lowp_uint64_t</div><div class="ttdoc">Low precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00732">fwd.hpp:732</a></div></div>
+<div class="ttc" id="a00177_html_ga4cca6bbd117c45f046291fc8e9d03765"><div class="ttname"><a href="a00177.html#ga4cca6bbd117c45f046291fc8e9d03765">glm::i32vec1</a></div><div class="ttdeci">highp_i32vec1 i32vec1</div><div class="ttdoc">Default precision 32 bit signed integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00523">fwd.hpp:523</a></div></div>
+<div class="ttc" id="a00177_html_ga4f072ada9552e1e480bbb3b1acde5250"><div class="ttname"><a href="a00177.html#ga4f072ada9552e1e480bbb3b1acde5250">glm::lowp_u32</a></div><div class="ttdeci">detail::uint32 lowp_u32</div><div class="ttdoc">Low precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00745">fwd.hpp:745</a></div></div>
+<div class="ttc" id="a00177_html_ga61667c99caf60ce6c48ebbbac72bd91d"><div class="ttname"><a href="a00177.html#ga61667c99caf60ce6c48ebbbac72bd91d">glm::u8vec2</a></div><div class="ttdeci">highp_u8vec2 u8vec2</div><div class="ttdoc">Default precision 8 bit unsigned integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00977">fwd.hpp:977</a></div></div>
+<div class="ttc" id="a00177_html_ga973b226a9914db682c9372fc761fb535"><div class="ttname"><a href="a00177.html#ga973b226a9914db682c9372fc761fb535">glm::i16vec3</a></div><div class="ttdeci">highp_i16vec3 i16vec3</div><div class="ttdoc">Default precision 16 bit signed integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00452">fwd.hpp:452</a></div></div>
+<div class="ttc" id="a00177_html_gae0cb53ea6fe3d977fe588ce423d57cc3"><div class="ttname"><a href="a00177.html#gae0cb53ea6fe3d977fe588ce423d57cc3">glm::f32vec2</a></div><div class="ttdeci">highp_f32vec2 f32vec2</div><div class="ttdoc">Default single-precision floating-point vector of 2 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02401">fwd.hpp:2401</a></div></div>
+<div class="ttc" id="a00177_html_ga667b2ece2b258be898812dc2177995d1"><div class="ttname"><a href="a00177.html#ga667b2ece2b258be898812dc2177995d1">glm::lowp_uint8_t</a></div><div class="ttdeci">detail::uint8 lowp_uint8_t</div><div class="ttdoc">Low precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00720">fwd.hpp:720</a></div></div>
+<div class="ttc" id="a00114_html"><div class="ttname"><a href="a00114.html">type_mat.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00177_html_ga9756e45c8f80329257f3cbdabc3bd73c"><div class="ttname"><a href="a00177.html#ga9756e45c8f80329257f3cbdabc3bd73c">glm::i64vec4</a></div><div class="ttdeci">highp_i64vec4 i64vec4</div><div class="ttdoc">Default precision 64 bit signed integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00694">fwd.hpp:694</a></div></div>
+<div class="ttc" id="a00177_html_gaf9f4173dd9e8b2d0b663c6f80ed09ff6"><div class="ttname"><a href="a00177.html#gaf9f4173dd9e8b2d0b663c6f80ed09ff6">glm::fvec2</a></div><div class="ttdeci">highp_f32vec2 fvec2</div><div class="ttdoc">Default single-precision floating-point vector of 2 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02331">fwd.hpp:2331</a></div></div>
+<div class="ttc" id="a00177_html_gab3f31d867df4874e42172ebf188a3ebd"><div class="ttname"><a href="a00177.html#gab3f31d867df4874e42172ebf188a3ebd">glm::fmat4</a></div><div class="ttdeci">fmat4x4 fmat4</div><div class="ttdoc">Default single-precision floating-point 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02387">fwd.hpp:2387</a></div></div>
+<div class="ttc" id="a00177_html_gaeb25dbb0261f82cb08da23e26d343704"><div class="ttname"><a href="a00177.html#gaeb25dbb0261f82cb08da23e26d343704">glm::f32vec4</a></div><div class="ttdeci">highp_f32vec4 f32vec4</div><div class="ttdoc">Default single-precision floating-point vector of 4 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02409">fwd.hpp:2409</a></div></div>
+<div class="ttc" id="a00177_html_ga30069d1f02b19599cbfadf98c23ac6ed"><div class="ttname"><a href="a00177.html#ga30069d1f02b19599cbfadf98c23ac6ed">glm::lowp_u64</a></div><div class="ttdeci">detail::uint64 lowp_u64</div><div class="ttdoc">Low precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00749">fwd.hpp:749</a></div></div>
+<div class="ttc" id="a00177_html_ga302ec977b0c0c3ea245b6c9275495355"><div class="ttname"><a href="a00177.html#ga302ec977b0c0c3ea245b6c9275495355">glm::i8</a></div><div class="ttdeci">detail::int8 i8</div><div class="ttdoc">8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00285">fwd.hpp:285</a></div></div>
+<div class="ttc" id="a00177_html_ga74ac2e71b650162d8f7cb2a70c2f6711"><div class="ttname"><a href="a00177.html#ga74ac2e71b650162d8f7cb2a70c2f6711">glm::fmat2x2</a></div><div class="ttdeci">highp_f32mat2x2 fmat2x2</div><div class="ttdoc">Default single-precision floating-point 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02343">fwd.hpp:2343</a></div></div>
+<div class="ttc" id="a00177_html_ga9ece7c77c7bca7a6b824ef9c600f5e5e"><div class="ttname"><a href="a00177.html#ga9ece7c77c7bca7a6b824ef9c600f5e5e">glm::i64vec3</a></div><div class="ttdeci">highp_i64vec3 i64vec3</div><div class="ttdoc">Default precision 64 bit signed integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00690">fwd.hpp:690</a></div></div>
+<div class="ttc" id="a00158_html_ga591478a77e4324e0836abc17cbb13e83"><div class="ttname"><a href="a00158.html#ga591478a77e4324e0836abc17cbb13e83">glm::mediump_vec3</a></div><div class="ttdeci">tvec3&lt; float, mediump &gt; mediump_vec3</div><div class="ttdoc">3 components vector of medium single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00252">type_vec.hpp:252</a></div></div>
+<div class="ttc" id="a00177_html_ga392b673fd10847bfb78fb808c6cf8ff7"><div class="ttname"><a href="a00177.html#ga392b673fd10847bfb78fb808c6cf8ff7">glm::lowp_i16</a></div><div class="ttdeci">detail::int16 lowp_i16</div><div class="ttdoc">Low precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00136">fwd.hpp:136</a></div></div>
+<div class="ttc" id="a00177_html_gaa212b805736a759998e312cbdd550fae"><div class="ttname"><a href="a00177.html#gaa212b805736a759998e312cbdd550fae">glm::lowp_uint64</a></div><div class="ttdeci">detail::uint64 lowp_uint64</div><div class="ttdoc">Low precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00715">fwd.hpp:715</a></div></div>
+<div class="ttc" id="a00177_html_ga226a8d52b4e3f77aaa6231135e886aac"><div class="ttname"><a href="a00177.html#ga226a8d52b4e3f77aaa6231135e886aac">glm::highp_int64</a></div><div class="ttdeci">detail::int64 highp_int64</div><div class="ttdoc">High precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00208">fwd.hpp:208</a></div></div>
+<div class="ttc" id="a00177_html_gaecc7082561fc9028b844b6cf3d305d36"><div class="ttname"><a href="a00177.html#gaecc7082561fc9028b844b6cf3d305d36">glm::u8</a></div><div class="ttdeci">detail::uint8 u8</div><div class="ttdoc">8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00894">fwd.hpp:894</a></div></div>
+<div class="ttc" id="a00177_html_ga1bd0e914158bf03135f8a317de6debe9"><div class="ttname"><a href="a00177.html#ga1bd0e914158bf03135f8a317de6debe9">glm::mediump_u32</a></div><div class="ttdeci">detail::uint32 mediump_u32</div><div class="ttdoc">Medium precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00795">fwd.hpp:795</a></div></div>
+<div class="ttc" id="a00177_html_ga74b9918c90ea60ce58b3979cde963a38"><div class="ttname"><a href="a00177.html#ga74b9918c90ea60ce58b3979cde963a38">glm::f64mat2</a></div><div class="ttdeci">f64mat2x2 f64mat2</div><div class="ttdoc">Default double-precision floating-point 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02555">fwd.hpp:2555</a></div></div>
+<div class="ttc" id="a00177_html_gaeb817419c76a0766c88713d2754e6cb3"><div class="ttname"><a href="a00177.html#gaeb817419c76a0766c88713d2754e6cb3">glm::f64mat2x2</a></div><div class="ttdeci">highp_f64mat2x2 f64mat2x2</div><div class="ttdoc">Default double-precision floating-point 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02519">fwd.hpp:2519</a></div></div>
+<div class="ttc" id="a00177_html_gaebf341fc4a5be233f7dde962c2e33847"><div class="ttname"><a href="a00177.html#gaebf341fc4a5be233f7dde962c2e33847">glm::lowp_int64_t</a></div><div class="ttdeci">detail::int64 lowp_int64_t</div><div class="ttdoc">Low precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00128">fwd.hpp:128</a></div></div>
+<div class="ttc" id="a00177_html_ga504ce1631cb2ac02fcf1d44d8c2aa126"><div class="ttname"><a href="a00177.html#ga504ce1631cb2ac02fcf1d44d8c2aa126">glm::lowp_u16</a></div><div class="ttdeci">detail::uint16 lowp_u16</div><div class="ttdoc">Low precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00741">fwd.hpp:741</a></div></div>
+<div class="ttc" id="a00177_html_ga426030555085ed6c39a54e73afbef962"><div class="ttname"><a href="a00177.html#ga426030555085ed6c39a54e73afbef962">glm::u16vec2</a></div><div class="ttdeci">highp_u16vec2 u16vec2</div><div class="ttdoc">Default precision 16 bit unsigned integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01057">fwd.hpp:1057</a></div></div>
+<div class="ttc" id="a00177_html_gaf4dae276fd29623950de14a6ca2586b5"><div class="ttname"><a href="a00177.html#gaf4dae276fd29623950de14a6ca2586b5">glm::mediump_uint32_t</a></div><div class="ttdeci">detail::uint32 mediump_uint32_t</div><div class="ttdoc">Medium precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00779">fwd.hpp:779</a></div></div>
+<div class="ttc" id="a00177_html_gaefa2ce8fbdbe89baffd262f46f2d5907"><div class="ttname"><a href="a00177.html#gaefa2ce8fbdbe89baffd262f46f2d5907">glm::u16vec1</a></div><div class="ttdeci">highp_u16vec1 u16vec1</div><div class="ttdoc">Default precision 16 bit unsigned integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01053">fwd.hpp:1053</a></div></div>
+<div class="ttc" id="a00158_html_gac37a3fd0ecdcab044853c039409c9af7"><div class="ttname"><a href="a00158.html#gac37a3fd0ecdcab044853c039409c9af7">glm::mediump_vec2</a></div><div class="ttdeci">tvec2&lt; float, mediump &gt; mediump_vec2</div><div class="ttdoc">2 components vector of medium single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00142">type_vec.hpp:142</a></div></div>
+<div class="ttc" id="a00158_html_gabfc3e9f63cc3e2ee0521405277ef3997"><div class="ttname"><a href="a00158.html#gabfc3e9f63cc3e2ee0521405277ef3997">glm::highp_vec2</a></div><div class="ttdeci">tvec2&lt; float, highp &gt; highp_vec2</div><div class="ttdoc">2 components vector of high single-precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00127_source.html#l00135">type_vec.hpp:135</a></div></div>
+<div class="ttc" id="a00177_html_ga14c583bd625eda8cf4935a14d5dd544d"><div class="ttname"><a href="a00177.html#ga14c583bd625eda8cf4935a14d5dd544d">glm::f64quat</a></div><div class="ttdeci">highp_f64quat f64quat</div><div class="ttdoc">Default double-precision floating-point quaternion. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02567">fwd.hpp:2567</a></div></div>
+<div class="ttc" id="a00177_html_ga91c4815f93177eb423362fd296a87e9f"><div class="ttname"><a href="a00177.html#ga91c4815f93177eb423362fd296a87e9f">glm::lowp_uint16_t</a></div><div class="ttdeci">detail::uint16 lowp_uint16_t</div><div class="ttdoc">Low precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00724">fwd.hpp:724</a></div></div>
+<div class="ttc" id="a00177_html_gac25db6d2b1e2a0f351b77ba3409ac4cd"><div class="ttname"><a href="a00177.html#gac25db6d2b1e2a0f351b77ba3409ac4cd">glm::highp_i64</a></div><div class="ttdeci">detail::int64 highp_i64</div><div class="ttdoc">High precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00240">fwd.hpp:240</a></div></div>
+<div class="ttc" id="a00177_html_ga62a17cddeb4dffb4e18fe3aea23f051a"><div class="ttname"><a href="a00177.html#ga62a17cddeb4dffb4e18fe3aea23f051a">glm::mediump_i16</a></div><div class="ttdeci">detail::int16 mediump_i16</div><div class="ttdoc">Medium precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00184">fwd.hpp:184</a></div></div>
+<div class="ttc" id="a00177_html_ga2204827de9d4ee7fa92ef497093f7d6e"><div class="ttname"><a href="a00177.html#ga2204827de9d4ee7fa92ef497093f7d6e">glm::u64vec2</a></div><div class="ttdeci">highp_u64vec2 u64vec2</div><div class="ttdoc">Default precision 64 bit unsigned integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01295">fwd.hpp:1295</a></div></div>
+<div class="ttc" id="a00177_html_ga84ed04b4e0de18c977e932d617e7c223"><div class="ttname"><a href="a00177.html#ga84ed04b4e0de18c977e932d617e7c223">glm::highp_int32</a></div><div class="ttdeci">detail::int32 highp_int32</div><div class="ttdoc">High precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00204">fwd.hpp:204</a></div></div>
+<div class="ttc" id="a00177_html_gad5f1043adbe803928fe7bf1a90a1f767"><div class="ttname"><a href="a00177.html#gad5f1043adbe803928fe7bf1a90a1f767">glm::f32mat2x3</a></div><div class="ttdeci">highp_f32mat2x3 f32mat2x3</div><div class="ttdoc">Default single-precision floating-point 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02417">fwd.hpp:2417</a></div></div>
+<div class="ttc" id="a00177_html_ga155ac7e9e454e2b1f73d11e1e28a0fd6"><div class="ttname"><a href="a00177.html#ga155ac7e9e454e2b1f73d11e1e28a0fd6">glm::u32vec4</a></div><div class="ttdeci">highp_u32vec4 u32vec4</div><div class="ttdoc">Default precision 32 bit unsigned integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01144">fwd.hpp:1144</a></div></div>
+<div class="ttc" id="a00177_html_ga36475e31b1992cfde54c1a6f5a148865"><div class="ttname"><a href="a00177.html#ga36475e31b1992cfde54c1a6f5a148865">glm::uint8</a></div><div class="ttdeci">detail::uint8 uint8</div><div class="ttdoc">8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00211">type_int.hpp:211</a></div></div>
+<div class="ttc" id="a00177_html_ga26fc7ced1ad7ca5024f1c973c8dc9180"><div class="ttname"><a href="a00177.html#ga26fc7ced1ad7ca5024f1c973c8dc9180">glm::mediump_int32_t</a></div><div class="ttdeci">detail::int32 mediump_int32_t</div><div class="ttdoc">Medium precision 32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00172">fwd.hpp:172</a></div></div>
+<div class="ttc" id="a00177_html_ga5fa3ddcab56c789bc272ff5651faa12d"><div class="ttname"><a href="a00177.html#ga5fa3ddcab56c789bc272ff5651faa12d">glm::uint32</a></div><div class="ttdeci">detail::uint32 uint32</div><div class="ttdoc">32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00213">type_int.hpp:213</a></div></div>
+<div class="ttc" id="a00177_html_ga042ef09ff2f0cb24a36f541bcb3a3710"><div class="ttname"><a href="a00177.html#ga042ef09ff2f0cb24a36f541bcb3a3710">glm::int32_t</a></div><div class="ttdeci">detail::int32 int32_t</div><div class="ttdoc">32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00276">fwd.hpp:276</a></div></div>
+<div class="ttc" id="a00177_html_gabb01d4ff646ee07241934b1a0cc0f985"><div class="ttname"><a href="a00177.html#gabb01d4ff646ee07241934b1a0cc0f985">glm::fmat2</a></div><div class="ttdeci">fmat2x2 fmat2</div><div class="ttdoc">Default single-precision floating-point 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02379">fwd.hpp:2379</a></div></div>
+<div class="ttc" id="a00177_html_ga9df98857be695d5a30cb30f5bfa38a80"><div class="ttname"><a href="a00177.html#ga9df98857be695d5a30cb30f5bfa38a80">glm::mediump_u16</a></div><div class="ttdeci">detail::uint16 mediump_u16</div><div class="ttdoc">Medium precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00791">fwd.hpp:791</a></div></div>
+<div class="ttc" id="a00113_html"><div class="ttname"><a href="a00113.html">type_int.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00177_html_gacf54c3330ef60aa3d16cb676c7bcb8c7"><div class="ttname"><a href="a00177.html#gacf54c3330ef60aa3d16cb676c7bcb8c7">glm::highp_uint16_t</a></div><div class="ttdeci">detail::uint16 highp_uint16_t</div><div class="ttdoc">Medium precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00825">fwd.hpp:825</a></div></div>
+<div class="ttc" id="a00177_html_ga34dd5ec1988c443bae80f1b20a8ade5f"><div class="ttname"><a href="a00177.html#ga34dd5ec1988c443bae80f1b20a8ade5f">glm::mediump_uint32</a></div><div class="ttdeci">detail::uint32 mediump_uint32</div><div class="ttdoc">Medium precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00763">fwd.hpp:763</a></div></div>
+<div class="ttc" id="a00177_html_ga3999d3e7ff22025c16ddb601e14dfdee"><div class="ttname"><a href="a00177.html#ga3999d3e7ff22025c16ddb601e14dfdee">glm::uint64_t</a></div><div class="ttdeci">detail::uint64 uint64_t</div><div class="ttdoc">64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00889">fwd.hpp:889</a></div></div>
+<div class="ttc" id="a00177_html_ga6414484477e4c1b4863cf91af8fd4185"><div class="ttname"><a href="a00177.html#ga6414484477e4c1b4863cf91af8fd4185">glm::i8vec2</a></div><div class="ttdeci">highp_i8vec2 i8vec2</div><div class="ttdoc">Default precision 8 bit signed integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00368">fwd.hpp:368</a></div></div>
+<div class="ttc" id="a00177_html_gaa69e73ffb01a52499071391d395908fb"><div class="ttname"><a href="a00177.html#gaa69e73ffb01a52499071391d395908fb">glm::f32mat4x3</a></div><div class="ttdeci">highp_f32mat4x3 f32mat4x3</div><div class="ttdoc">Default single-precision floating-point 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02441">fwd.hpp:2441</a></div></div>
+<div class="ttc" id="a00177_html_gaba137814a509704937746cc1e82edc32"><div class="ttname"><a href="a00177.html#gaba137814a509704937746cc1e82edc32">glm::f64mat4x3</a></div><div class="ttdeci">highp_f64mat4x3 f64mat4x3</div><div class="ttdoc">Default double-precision floating-point 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02547">fwd.hpp:2547</a></div></div>
+<div class="ttc" id="a00177_html_gab630f76c26b50298187f7889104d4b9c"><div class="ttname"><a href="a00177.html#gab630f76c26b50298187f7889104d4b9c">glm::uint64</a></div><div class="ttdeci">detail::uint64 uint64</div><div class="ttdoc">64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00214">type_int.hpp:214</a></div></div>
+<div class="ttc" id="a00177_html_ga709c97c20efa24ff1d9e83cd437b8ed5"><div class="ttname"><a href="a00177.html#ga709c97c20efa24ff1d9e83cd437b8ed5">glm::fmat2x4</a></div><div class="ttdeci">highp_f32mat2x4 fmat2x4</div><div class="ttdoc">Default single-precision floating-point 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02351">fwd.hpp:2351</a></div></div>
+<div class="ttc" id="a00177_html_gadfe65c78231039e90507770db50c98c7"><div class="ttname"><a href="a00177.html#gadfe65c78231039e90507770db50c98c7">glm::mediump_uint8_t</a></div><div class="ttdeci">detail::uint8 mediump_uint8_t</div><div class="ttdoc">Medium precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00771">fwd.hpp:771</a></div></div>
+<div class="ttc" id="a00177_html_gab04bc97371cb6b5f54b3688e0c81578b"><div class="ttname"><a href="a00177.html#gab04bc97371cb6b5f54b3688e0c81578b">glm::fmat3x4</a></div><div class="ttdeci">highp_f32mat3x4 fmat3x4</div><div class="ttdoc">Default single-precision floating-point 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02363">fwd.hpp:2363</a></div></div>
+<div class="ttc" id="a00177_html_ga3c12cef4135603fd77d8fda85808730c"><div class="ttname"><a href="a00177.html#ga3c12cef4135603fd77d8fda85808730c">glm::i32vec2</a></div><div class="ttdeci">highp_i32vec2 i32vec2</div><div class="ttdoc">Default precision 32 bit signed integer vector of 2 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00527">fwd.hpp:527</a></div></div>
+<div class="ttc" id="a00177_html_ga6957c7b22f405683bb276554ca40dc37"><div class="ttname"><a href="a00177.html#ga6957c7b22f405683bb276554ca40dc37">glm::float64_t</a></div><div class="ttdeci">highp_float64_t float64_t</div><div class="ttdoc">Default 64 bit double-precision floating-point scalar. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01501">fwd.hpp:1501</a></div></div>
+<div class="ttc" id="a00177_html_gaf4b5993e794e252607f91535b62a7e0c"><div class="ttname"><a href="a00177.html#gaf4b5993e794e252607f91535b62a7e0c">glm::i8vec3</a></div><div class="ttdeci">highp_i8vec3 i8vec3</div><div class="ttdoc">Default precision 8 bit signed integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00372">fwd.hpp:372</a></div></div>
+<div class="ttc" id="a00177_html_gac3bc41bcac61d1ba8f02a6f68ce23f64"><div class="ttname"><a href="a00177.html#gac3bc41bcac61d1ba8f02a6f68ce23f64">glm::mediump_int64_t</a></div><div class="ttdeci">detail::int64 mediump_int64_t</div><div class="ttdoc">Medium precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00176">fwd.hpp:176</a></div></div>
+<div class="ttc" id="a00177_html_gafe2e08549805a7ded26da2a868bedbf5"><div class="ttname"><a href="a00177.html#gafe2e08549805a7ded26da2a868bedbf5">glm::f32mat4x4</a></div><div class="ttdeci">highp_f32mat4x4 f32mat4x4</div><div class="ttdoc">Default single-precision floating-point 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02445">fwd.hpp:2445</a></div></div>
+<div class="ttc" id="a00177_html_gab2329c5c14ff5a03b1ddec039e2c7409"><div class="ttname"><a href="a00177.html#gab2329c5c14ff5a03b1ddec039e2c7409">glm::i8vec1</a></div><div class="ttdeci">highp_i8vec1 i8vec1</div><div class="ttdoc">Default precision 8 bit signed integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00364">fwd.hpp:364</a></div></div>
+<div class="ttc" id="a00177_html_gae3364a8090e7e1408056e00403dfecab"><div class="ttname"><a href="a00177.html#gae3364a8090e7e1408056e00403dfecab">glm::i32vec4</a></div><div class="ttdeci">highp_i32vec4 i32vec4</div><div class="ttdoc">Default precision 32 bit signed integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00535">fwd.hpp:535</a></div></div>
+<div class="ttc" id="a00177_html_ga552a6bde5e75984efb0f863278da2e54"><div class="ttname"><a href="a00177.html#ga552a6bde5e75984efb0f863278da2e54">glm::lowp_i8</a></div><div class="ttdeci">detail::int8 lowp_i8</div><div class="ttdoc">Low precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00132">fwd.hpp:132</a></div></div>
+<div class="ttc" id="a00177_html_ga19d5e0d4d3d6d226c9c6c0f39756f9ad"><div class="ttname"><a href="a00177.html#ga19d5e0d4d3d6d226c9c6c0f39756f9ad">glm::f32vec3</a></div><div class="ttdeci">highp_f32vec3 f32vec3</div><div class="ttdoc">Default single-precision floating-point vector of 3 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02405">fwd.hpp:2405</a></div></div>
+<div class="ttc" id="a00177_html_ga10d8bd3c923a5386efcf25a4117fd84f"><div class="ttname"><a href="a00177.html#ga10d8bd3c923a5386efcf25a4117fd84f">glm::fvec1</a></div><div class="ttdeci">highp_f32vec1 fvec1</div><div class="ttdoc">Default single-precision floating-point vector of 1 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02327">fwd.hpp:2327</a></div></div>
+<div class="ttc" id="a00177_html_ga2c71c8bd9e2fe7d2e93ca250d8b6157f"><div class="ttname"><a href="a00177.html#ga2c71c8bd9e2fe7d2e93ca250d8b6157f">glm::highp_int32_t</a></div><div class="ttdeci">detail::int32 highp_int32_t</div><div class="ttdoc">32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00220">fwd.hpp:220</a></div></div>
+<div class="ttc" id="a00177_html_ga7b968f2b86a0442a89c7359171e1d866"><div class="ttname"><a href="a00177.html#ga7b968f2b86a0442a89c7359171e1d866">glm::mediump_int64</a></div><div class="ttdeci">detail::int64 mediump_int64</div><div class="ttdoc">Medium precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00160">fwd.hpp:160</a></div></div>
+<div class="ttc" id="a00177_html_ga2af9490085ae3bdf36a544e9dd073610"><div class="ttname"><a href="a00177.html#ga2af9490085ae3bdf36a544e9dd073610">glm::mediump_u64</a></div><div class="ttdeci">detail::uint64 mediump_u64</div><div class="ttdoc">Medium precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00799">fwd.hpp:799</a></div></div>
+<div class="ttc" id="a00177_html_ga3460933f040f59f0fedb29df1e9be71c"><div class="ttname"><a href="a00177.html#ga3460933f040f59f0fedb29df1e9be71c">glm::u64vec3</a></div><div class="ttdeci">highp_u64vec3 u64vec3</div><div class="ttdoc">Default precision 64 bit unsigned integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01299">fwd.hpp:1299</a></div></div>
+<div class="ttc" id="a00177_html_gad339e25c32fe6665acf028f26c1b3e22"><div class="ttname"><a href="a00177.html#gad339e25c32fe6665acf028f26c1b3e22">glm::fmat3x3</a></div><div class="ttdeci">highp_f32mat3x3 fmat3x3</div><div class="ttdoc">Default single-precision floating-point 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02359">fwd.hpp:2359</a></div></div>
+<div class="ttc" id="a00177_html_ga50e58885aee2cf01bb3ba472c5b1697e"><div class="ttname"><a href="a00177.html#ga50e58885aee2cf01bb3ba472c5b1697e">glm::i8vec4</a></div><div class="ttdeci">highp_i8vec4 i8vec4</div><div class="ttdoc">Default precision 8 bit signed integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00376">fwd.hpp:376</a></div></div>
+<div class="ttc" id="a00177_html_ga4ef2d77dcab241b1ef83f09edb2f1084"><div class="ttname"><a href="a00177.html#ga4ef2d77dcab241b1ef83f09edb2f1084">glm::fvec3</a></div><div class="ttdeci">highp_f32vec3 fvec3</div><div class="ttdoc">Default single-precision floating-point vector of 3 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02335">fwd.hpp:2335</a></div></div>
+<div class="ttc" id="a00177_html_ga1b09f03da7ac43055c68a349d5445083"><div class="ttname"><a href="a00177.html#ga1b09f03da7ac43055c68a349d5445083">glm::lowp_u8</a></div><div class="ttdeci">detail::uint8 lowp_u8</div><div class="ttdoc">Low precision 8 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00737">fwd.hpp:737</a></div></div>
+<div class="ttc" id="a00177_html_ga256b12b650c3f2fb86878fd1c5db8bc3"><div class="ttname"><a href="a00177.html#ga256b12b650c3f2fb86878fd1c5db8bc3">glm::highp_uint32</a></div><div class="ttdeci">detail::uint32 highp_uint32</div><div class="ttdoc">Medium precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00813">fwd.hpp:813</a></div></div>
+<div class="ttc" id="a00177_html_gab0082a25f19f02d2d0af0fcbe5ead732"><div class="ttname"><a href="a00177.html#gab0082a25f19f02d2d0af0fcbe5ead732">glm::fmat4x2</a></div><div class="ttdeci">highp_f32mat4x2 fmat4x2</div><div class="ttdoc">Default single-precision floating-point 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02367">fwd.hpp:2367</a></div></div>
+<div class="ttc" id="a00177_html_ga3963b1050fc65a383ee28e3f827b6e3e"><div class="ttname"><a href="a00177.html#ga3963b1050fc65a383ee28e3f827b6e3e">glm::mediump_uint16_t</a></div><div class="ttdeci">detail::uint16 mediump_uint16_t</div><div class="ttdoc">Medium precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00775">fwd.hpp:775</a></div></div>
+<div class="ttc" id="a00177_html_ga2171d9dc1fefb1c82e2817f45b622eac"><div class="ttname"><a href="a00177.html#ga2171d9dc1fefb1c82e2817f45b622eac">glm::uint32_t</a></div><div class="ttdeci">detail::uint32 uint32_t</div><div class="ttdoc">32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00885">fwd.hpp:885</a></div></div>
+<div class="ttc" id="a00177_html_ga9b170dd4a8f38448a2dc93987c7875e9"><div class="ttname"><a href="a00177.html#ga9b170dd4a8f38448a2dc93987c7875e9">glm::mediump_uint64_t</a></div><div class="ttdeci">detail::uint64 mediump_uint64_t</div><div class="ttdoc">Medium precision 64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00783">fwd.hpp:783</a></div></div>
+<div class="ttc" id="a00177_html_ga40cd3f391c03512f158d10a70062264e"><div class="ttname"><a href="a00177.html#ga40cd3f391c03512f158d10a70062264e">glm::i32vec3</a></div><div class="ttdeci">highp_i32vec3 i32vec3</div><div class="ttdoc">Default precision 32 bit signed integer vector of 3 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00531">fwd.hpp:531</a></div></div>
+<div class="ttc" id="a00177_html_ga0100666c90176eaba80e49357d123c7f"><div class="ttname"><a href="a00177.html#ga0100666c90176eaba80e49357d123c7f">glm::f32mat3x4</a></div><div class="ttdeci">highp_f32mat3x4 f32mat3x4</div><div class="ttdoc">Default single-precision floating-point 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02433">fwd.hpp:2433</a></div></div>
+<div class="ttc" id="a00177_html_ga8df669f4e7698dfe0c0354d92578d74f"><div class="ttname"><a href="a00177.html#ga8df669f4e7698dfe0c0354d92578d74f">glm::int32</a></div><div class="ttdeci">detail::int32 int32</div><div class="ttdoc">32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00208">type_int.hpp:208</a></div></div>
+<div class="ttc" id="a00177_html_ga114e005014d910bea07954eee24b7efb"><div class="ttname"><a href="a00177.html#ga114e005014d910bea07954eee24b7efb">glm::u8vec4</a></div><div class="ttdeci">highp_u8vec4 u8vec4</div><div class="ttdoc">Default precision 8 bit unsigned integer vector of 4 components type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00985">fwd.hpp:985</a></div></div>
+<div class="ttc" id="a00177_html_ga73c6abb280a45feeff60f9accaee91f3"><div class="ttname"><a href="a00177.html#ga73c6abb280a45feeff60f9accaee91f3">glm::highp_int64_t</a></div><div class="ttdeci">detail::int64 highp_int64_t</div><div class="ttdoc">High precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00224">fwd.hpp:224</a></div></div>
+<div class="ttc" id="a00177_html_ga5b4a3e499ee165efc0dc05add9c48235"><div class="ttname"><a href="a00177.html#ga5b4a3e499ee165efc0dc05add9c48235">glm::i64vec1</a></div><div class="ttdeci">highp_i64vec1 i64vec1</div><div class="ttdoc">Default precision 64 bit signed integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00682">fwd.hpp:682</a></div></div>
+<div class="ttc" id="a00177_html_ga2885a6c89916911e418c06bb76b9bdbb"><div class="ttname"><a href="a00177.html#ga2885a6c89916911e418c06bb76b9bdbb">glm::mediump_uint16</a></div><div class="ttdeci">detail::uint16 mediump_uint16</div><div class="ttdoc">Medium precision 16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00759">fwd.hpp:759</a></div></div>
+<div class="ttc" id="a00177_html_gaf3f312156984c365e9f65620354da70b"><div class="ttname"><a href="a00177.html#gaf3f312156984c365e9f65620354da70b">glm::u64</a></div><div class="ttdeci">detail::uint64 u64</div><div class="ttdoc">64 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00906">fwd.hpp:906</a></div></div>
+<div class="ttc" id="a00177_html_gaf645b1a60203b39c0207baff5e3d8c3c"><div class="ttname"><a href="a00177.html#gaf645b1a60203b39c0207baff5e3d8c3c">glm::lowp_int64</a></div><div class="ttdeci">detail::int64 lowp_int64</div><div class="ttdoc">Low precision 64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00112">fwd.hpp:112</a></div></div>
+<div class="ttc" id="a00177_html_ga8b2cd8d31eb345b2d641d9261c38db1a"><div class="ttname"><a href="a00177.html#ga8b2cd8d31eb345b2d641d9261c38db1a">glm::lowp_int16_t</a></div><div class="ttdeci">detail::int16 lowp_int16_t</div><div class="ttdoc">Low precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00120">fwd.hpp:120</a></div></div>
+<div class="ttc" id="a00177_html_gadff3608baa4b5bd3ed28f95c1c2c345d"><div class="ttname"><a href="a00177.html#gadff3608baa4b5bd3ed28f95c1c2c345d">glm::mediump_int16</a></div><div class="ttdeci">detail::int16 mediump_int16</div><div class="ttdoc">Medium precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00152">fwd.hpp:152</a></div></div>
+<div class="ttc" id="a00177_html_gae8f5e3e964ca2ae240adc2c0d74adede"><div class="ttname"><a href="a00177.html#gae8f5e3e964ca2ae240adc2c0d74adede">glm::int16_t</a></div><div class="ttdeci">detail::int16 int16_t</div><div class="ttdoc">16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00272">fwd.hpp:272</a></div></div>
+<div class="ttc" id="a00177_html_ga322a7d7d2c2c68994dc872a33de63c61"><div class="ttname"><a href="a00177.html#ga322a7d7d2c2c68994dc872a33de63c61">glm::int64_t</a></div><div class="ttdeci">detail::int64 int64_t</div><div class="ttdoc">64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00280">fwd.hpp:280</a></div></div>
+<div class="ttc" id="a00177_html_ga96faea43ac5f875d2d3ffbf8d213e3eb"><div class="ttname"><a href="a00177.html#ga96faea43ac5f875d2d3ffbf8d213e3eb">glm::i32</a></div><div class="ttdeci">detail::int32 i32</div><div class="ttdoc">32 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00293">fwd.hpp:293</a></div></div>
+<div class="ttc" id="a00177_html_gaf1b735b4b1145174f4e4167d13778f9b"><div class="ttname"><a href="a00177.html#gaf1b735b4b1145174f4e4167d13778f9b">glm::lowp_uint32_t</a></div><div class="ttdeci">detail::uint32 lowp_uint32_t</div><div class="ttdoc">Low precision 32 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00728">fwd.hpp:728</a></div></div>
+<div class="ttc" id="a00177_html_ga5fde0fa4a3852a9dd5d637a92ee74718"><div class="ttname"><a href="a00177.html#ga5fde0fa4a3852a9dd5d637a92ee74718">glm::highp_int16</a></div><div class="ttdeci">detail::int16 highp_int16</div><div class="ttdoc">High precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00200">fwd.hpp:200</a></div></div>
+<div class="ttc" id="a00177_html_ga91f91f411080c37730856ff5887f5bcf"><div class="ttname"><a href="a00177.html#ga91f91f411080c37730856ff5887f5bcf">glm::uint16_t</a></div><div class="ttdeci">detail::uint16 uint16_t</div><div class="ttdoc">16 bit unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00881">fwd.hpp:881</a></div></div>
+<div class="ttc" id="a00177_html_ga6966c0cb4673928c9c9da2e91006d2c0"><div class="ttname"><a href="a00177.html#ga6966c0cb4673928c9c9da2e91006d2c0">glm::f32quat</a></div><div class="ttdeci">highp_f32quat f32quat</div><div class="ttdoc">Default single-precision floating-point quaternion. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02461">fwd.hpp:2461</a></div></div>
+<div class="ttc" id="a00177_html_ga68894201dd511792a7af6cff7b5adf71"><div class="ttname"><a href="a00177.html#ga68894201dd511792a7af6cff7b5adf71">glm::f64mat3</a></div><div class="ttdeci">f64mat3x3 f64mat3</div><div class="ttdoc">Default double-precision floating-point 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02559">fwd.hpp:2559</a></div></div>
+<div class="ttc" id="a00177_html_gafaad77b464b5a35626c31205ac6780e3"><div class="ttname"><a href="a00177.html#gafaad77b464b5a35626c31205ac6780e3">glm::f64vec2</a></div><div class="ttdeci">highp_f64vec2 f64vec2</div><div class="ttdoc">Default double-precision floating-point vector of 2 components. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02507">fwd.hpp:2507</a></div></div>
+<div class="ttc" id="a00177_html_gadb997e409103d4da18abd837e636a496"><div class="ttname"><a href="a00177.html#gadb997e409103d4da18abd837e636a496">glm::i64</a></div><div class="ttdeci">detail::int64 i64</div><div class="ttdoc">64 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00297">fwd.hpp:297</a></div></div>
+<div class="ttc" id="a00177_html_gafb18822e2eac88fa861a76cefd25d550"><div class="ttname"><a href="a00177.html#gafb18822e2eac88fa861a76cefd25d550">glm::f64mat2x4</a></div><div class="ttdeci">highp_f64mat2x4 f64mat2x4</div><div class="ttdoc">Default double-precision floating-point 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02527">fwd.hpp:2527</a></div></div>
+<div class="ttc" id="a00177_html_gae1a5081181c96cc37ce9418f6e856cb6"><div class="ttname"><a href="a00177.html#gae1a5081181c96cc37ce9418f6e856cb6">glm::f64mat3x3</a></div><div class="ttdeci">highp_f64mat3x3 f64mat3x3</div><div class="ttdoc">Default double-precision floating-point 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02535">fwd.hpp:2535</a></div></div>
+<div class="ttc" id="a00177_html_gacaea06d0a79ef3172e887a7a6ba434ff"><div class="ttname"><a href="a00177.html#gacaea06d0a79ef3172e887a7a6ba434ff">glm::highp_int16_t</a></div><div class="ttdeci">detail::int16 highp_int16_t</div><div class="ttdoc">High precision 16 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00216">fwd.hpp:216</a></div></div>
+<div class="ttc" id="a00177_html_ga9f20af6e8eca2abdcde08408948cc1ca"><div class="ttname"><a href="a00177.html#ga9f20af6e8eca2abdcde08408948cc1ca">glm::fmat3x2</a></div><div class="ttdeci">highp_f32mat3x2 fmat3x2</div><div class="ttdoc">Default single-precision floating-point 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02355">fwd.hpp:2355</a></div></div>
+<div class="ttc" id="a00177_html_ga92e0c191e5cc326255284d08be3af7c5"><div class="ttname"><a href="a00177.html#ga92e0c191e5cc326255284d08be3af7c5">glm::u8vec1</a></div><div class="ttdeci">highp_u8vec1 u8vec1</div><div class="ttdoc">Default precision 8 bit unsigned integer scalar type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00973">fwd.hpp:973</a></div></div>
+<div class="ttc" id="a00177_html_gabe6a542dd6c1d5ffd847f1b9b4c9c9b7"><div class="ttname"><a href="a00177.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7">glm::f32</a></div><div class="ttdeci">highp_float32_t f32</div><div class="ttdoc">Default 32 bit single-precision floating-point scalar. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l01505">fwd.hpp:1505</a></div></div>
+<div class="ttc" id="a00177_html_ga1085c50dd8fbeb5e7e609b1c127492a5"><div class="ttname"><a href="a00177.html#ga1085c50dd8fbeb5e7e609b1c127492a5">glm::highp_int8_t</a></div><div class="ttdeci">detail::int8 highp_int8_t</div><div class="ttdoc">High precision 8 bit signed integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l00212">fwd.hpp:212</a></div></div>
+<div class="ttc" id="a00177_html_gaf4377997b299a287f7ab3358c9bd3e4c"><div class="ttname"><a href="a00177.html#gaf4377997b299a287f7ab3358c9bd3e4c">glm::f32mat3</a></div><div class="ttdeci">f32mat3x3 f32mat3</div><div class="ttdoc">Default single-precision floating-point 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00038_source.html#l02453">fwd.hpp:2453</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00039.html b/src/third_party/glm/doc/api/a00039.html
new file mode 100644
index 0000000..35a7e38
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00039.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: geometric.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">geometric.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00039_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00039_source.html">geometric.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00039_source.html b/src/third_party/glm/doc/api/a00039_source.html
new file mode 100644
index 0000000..b52d634
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00039_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: geometric.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">geometric.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00039.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00031.html">detail/func_geometric.hpp</a>&quot;</span></div>
+<div class="ttc" id="a00031_html"><div class="ttname"><a href="a00031.html">func_geometric.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00040.html b/src/third_party/glm/doc/api/a00040.html
new file mode 100644
index 0000000..af523f1
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00040.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: glm.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">glm.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00040_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00040_source.html">glm.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00040_source.html b/src/third_party/glm/doc/api/a00040_source.html
new file mode 100644
index 0000000..ce7af3f
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00040_source.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: glm.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">glm.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00040.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00002.html">detail/_fixes.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &lt;climits&gt;</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#include &lt;cfloat&gt;</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00038.html">fwd.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_MESSAGE_CORE_INCLUDED_DISPLAYED)</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#       define GLM_MESSAGE_CORE_INCLUDED_DISPLAYED</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: Core library included&quot;)</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#endif//GLM_MESSAGES</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00134.html">vec2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00135.html">vec3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00136.html">vec4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00051.html">mat2x2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00052.html">mat2x3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00053.html">mat2x4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00054.html">mat3x2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00055.html">mat3x3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00056.html">mat3x4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00057.html">mat4x2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#include &quot;mat4x3.hpp&quot;</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00059.html">mat4x4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00107.html">trigonometric.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00022.html">exponential.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00014.html">common.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00081.html">packing.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00039.html">geometric.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00060.html">matrix.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00139.html">vector_relational.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00046.html">integer.hpp</a>&quot;</span></div>
+<div class="ttc" id="a00022_html"><div class="ttname"><a href="a00022.html">exponential.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00039_html"><div class="ttname"><a href="a00039.html">geometric.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00139_html"><div class="ttname"><a href="a00139.html">vector_relational.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00056_html"><div class="ttname"><a href="a00056.html">mat3x4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00059_html"><div class="ttname"><a href="a00059.html">mat4x4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">vec3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00055_html"><div class="ttname"><a href="a00055.html">mat3x3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00038_html"><div class="ttname"><a href="a00038.html">fwd.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00014_html"><div class="ttname"><a href="a00014.html">common.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00081_html"><div class="ttname"><a href="a00081.html">packing.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00046_html"><div class="ttname"><a href="a00046.html">integer.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00134_html"><div class="ttname"><a href="a00134.html">vec2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00054_html"><div class="ttname"><a href="a00054.html">mat3x2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00052_html"><div class="ttname"><a href="a00052.html">mat2x3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00057_html"><div class="ttname"><a href="a00057.html">mat4x2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00060_html"><div class="ttname"><a href="a00060.html">matrix.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00053_html"><div class="ttname"><a href="a00053.html">mat2x4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00051_html"><div class="ttname"><a href="a00051.html">mat2x2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00002_html"><div class="ttname"><a href="a00002.html">_fixes.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00136_html"><div class="ttname"><a href="a00136.html">vec4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00107_html"><div class="ttname"><a href="a00107.html">trigonometric.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00041.html b/src/third_party/glm/doc/api/a00041.html
new file mode 100644
index 0000000..c0c311b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00041.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: gradient_paint.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gradient_paint.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00041_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gacde26d5e0c4a1856467bded9dfad9040"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:gacde26d5e0c4a1856467bded9dfad9040"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00196.html#gacde26d5e0c4a1856467bded9dfad9040">linearGradient</a> (tvec2&lt; T, P &gt; const &amp;Point0, tvec2&lt; T, P &gt; const &amp;Point1, tvec2&lt; T, P &gt; const &amp;Position)</td></tr>
+<tr class="separator:gacde26d5e0c4a1856467bded9dfad9040"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga166d43d567a4cf150579a92f69b0dc9f"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga166d43d567a4cf150579a92f69b0dc9f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00196.html#ga166d43d567a4cf150579a92f69b0dc9f">radialGradient</a> (tvec2&lt; T, P &gt; const &amp;Center, T const &amp;Radius, tvec2&lt; T, P &gt; const &amp;Focal, tvec2&lt; T, P &gt; const &amp;Position)</td></tr>
+<tr class="separator:ga166d43d567a4cf150579a92f69b0dc9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00196.html">GLM_GTX_gradient_paint</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00215.html" title="Integer exponentiation of power functions. ">GLM_GTX_optimum_pow</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00041_source.html">gradient_paint.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00041_source.html b/src/third_party/glm/doc/api/a00041_source.html
new file mode 100644
index 0000000..9f26eda
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00041_source.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: gradient_paint.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">gradient_paint.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00041.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../gtx/optimum_pow.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_gradient_paint extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00196.html#ga166d43d567a4cf150579a92f69b0dc9f">radialGradient</a>(</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; Center,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                T <span class="keyword">const</span> &amp; Radius,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; Focal,</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; Position);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        GLM_FUNC_DECL T <a class="code" href="a00196.html#gacde26d5e0c4a1856467bded9dfad9040">linearGradient</a>(</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; Point0,</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; Point1,</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; Position);</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}<span class="comment">// namespace glm</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &quot;gradient_paint.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00196_html_gacde26d5e0c4a1856467bded9dfad9040"><div class="ttname"><a href="a00196.html#gacde26d5e0c4a1856467bded9dfad9040">glm::linearGradient</a></div><div class="ttdeci">GLM_FUNC_DECL T linearGradient(tvec2&lt; T, P &gt; const &amp;Point0, tvec2&lt; T, P &gt; const &amp;Point1, tvec2&lt; T, P &gt; const &amp;Position)</div><div class="ttdoc">Return a color from a linear gradient. </div></div>
+<div class="ttc" id="a00196_html_ga166d43d567a4cf150579a92f69b0dc9f"><div class="ttname"><a href="a00196.html#ga166d43d567a4cf150579a92f69b0dc9f">glm::radialGradient</a></div><div class="ttdeci">GLM_FUNC_DECL T radialGradient(tvec2&lt; T, P &gt; const &amp;Center, T const &amp;Radius, tvec2&lt; T, P &gt; const &amp;Focal, tvec2&lt; T, P &gt; const &amp;Position)</div><div class="ttdoc">Return a color from a radial gradient. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00042.html b/src/third_party/glm/doc/api/a00042.html
new file mode 100644
index 0000000..91e863d
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00042.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: handed_coordinate_space.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">handed_coordinate_space.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00042_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga7425e0ebfe6a56919900a072ae1f8017"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga7425e0ebfe6a56919900a072ae1f8017"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00197.html#ga7425e0ebfe6a56919900a072ae1f8017">leftHanded</a> (tvec3&lt; T, P &gt; const &amp;tangent, tvec3&lt; T, P &gt; const &amp;binormal, tvec3&lt; T, P &gt; const &amp;normal)</td></tr>
+<tr class="separator:ga7425e0ebfe6a56919900a072ae1f8017"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga17cd83888de8755c0435c589fafd3603"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga17cd83888de8755c0435c589fafd3603"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00197.html#ga17cd83888de8755c0435c589fafd3603">rightHanded</a> (tvec3&lt; T, P &gt; const &amp;tangent, tvec3&lt; T, P &gt; const &amp;binormal, tvec3&lt; T, P &gt; const &amp;normal)</td></tr>
+<tr class="separator:ga17cd83888de8755c0435c589fafd3603"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00197.html">GLM_GTX_handed_coordinate_space</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00042_source.html">handed_coordinate_space.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00042_source.html b/src/third_party/glm/doc/api/a00042_source.html
new file mode 100644
index 0000000..8ec3771
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00042_source.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: handed_coordinate_space.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">handed_coordinate_space.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00042.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_handed_coordinate_space extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00197.html#ga17cd83888de8755c0435c589fafd3603">rightHanded</a>(</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; tangent,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; binormal,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; normal);</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00197.html#ga7425e0ebfe6a56919900a072ae1f8017">leftHanded</a>(</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; tangent,</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; binormal,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; normal);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;}<span class="comment">// namespace glm</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &quot;handed_coordinate_space.inl&quot;</span></div>
+<div class="ttc" id="a00197_html_ga7425e0ebfe6a56919900a072ae1f8017"><div class="ttname"><a href="a00197.html#ga7425e0ebfe6a56919900a072ae1f8017">glm::leftHanded</a></div><div class="ttdeci">GLM_FUNC_DECL bool leftHanded(tvec3&lt; T, P &gt; const &amp;tangent, tvec3&lt; T, P &gt; const &amp;binormal, tvec3&lt; T, P &gt; const &amp;normal)</div><div class="ttdoc">Return if a trihedron left handed or not. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00197_html_ga17cd83888de8755c0435c589fafd3603"><div class="ttname"><a href="a00197.html#ga17cd83888de8755c0435c589fafd3603">glm::rightHanded</a></div><div class="ttdeci">GLM_FUNC_DECL bool rightHanded(tvec3&lt; T, P &gt; const &amp;tangent, tvec3&lt; T, P &gt; const &amp;binormal, tvec3&lt; T, P &gt; const &amp;normal)</div><div class="ttdoc">Return if a trihedron right handed or not. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00043.html b/src/third_party/glm/doc/api/a00043.html
new file mode 100644
index 0000000..a085f1b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00043.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: hash.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hash.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00043_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00198.html">GLM_GTX_hash</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00043_source.html">hash.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00043_source.html b/src/third_party/glm/doc/api/a00043_source.html
new file mode 100644
index 0000000..740f658
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00043_source.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: hash.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">hash.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00043.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../vec2.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../vec3.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../vec4.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../gtc/vec1.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;../gtx/dual_quaternion.hpp&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;../mat2x2.hpp&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;../mat2x3.hpp&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;../mat2x4.hpp&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;../mat3x2.hpp&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;../mat3x3.hpp&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;../mat3x4.hpp&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;../mat4x2.hpp&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;../mat4x3.hpp&quot;</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;../mat4x4.hpp&quot;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#if !GLM_HAS_CXX11_STL</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#       error &quot;GLM_GTX_hash requires C++11 standard library support&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00145.html">std</a></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;{</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tvec1&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        {</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tvec1&lt;T, P&gt; <span class="keyword">const</span> &amp; v) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        };</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tvec2&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        {</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tvec2&lt;T, P&gt; <span class="keyword">const</span> &amp; v) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        };</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tvec3&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; v) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        };</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tvec4&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        {</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tvec4&lt;T, P&gt; <span class="keyword">const</span> &amp; v) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        };</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tquat&lt;T,P&gt;&gt;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tquat&lt;T, P&gt; <span class="keyword">const</span> &amp; q) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        };</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tdualquat&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        {</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tdualquat&lt;T,P&gt; <span class="keyword">const</span> &amp; q) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        };</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat2x2&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        {</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat2x2&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        };</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat2x3&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat2x3&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        };</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat2x4&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        {</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat2x4&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        };</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat3x2&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        {</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat3x2&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        };</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat3x3&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        {</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat3x3&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        };</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat3x4&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        {</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat3x4&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        };</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat4x2&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        {</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat4x2&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        };</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        </div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat4x3&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        {</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat4x3&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        };</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, glm::precision P&gt;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keyword">struct </span>hash&lt;<a class="code" href="a00141.html">glm</a>::tmat4x4&lt;T,P&gt; &gt;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        {</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                GLM_FUNC_DECL <span class="keywordtype">size_t</span> operator()(glm::tmat4x4&lt;T,P&gt; <span class="keyword">const</span> &amp; m) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        };</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;} <span class="comment">// namespace std</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor">#include &quot;hash.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00145_html"><div class="ttname"><a href="a00145.html">std</a></div><div class="ttdef"><b>Definition:</b> <a href="a00043_source.html#l00041">hash.hpp:41</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00044.html b/src/third_party/glm/doc/api/a00044.html
new file mode 100644
index 0000000..c336ff6
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00044.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: integer.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gtc/integer.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00044_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga0a42ffb863cc980e91f98d2f5766de20"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga0a42ffb863cc980e91f98d2f5766de20"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; int, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#ga0a42ffb863cc980e91f98d2f5766de20">iround</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga0a42ffb863cc980e91f98d2f5766de20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9bd682e74bfacb005c735305207ec417"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga9bd682e74bfacb005c735305207ec417"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#ga9bd682e74bfacb005c735305207ec417">log2</a> (genIUType x)</td></tr>
+<tr class="separator:ga9bd682e74bfacb005c735305207ec417"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga75c6fd2a143fc44e5f7b871abad539e0"><td class="memTemplParams" colspan="2">template&lt;typename genIUType &gt; </td></tr>
+<tr class="memitem:ga75c6fd2a143fc44e5f7b871abad539e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#ga75c6fd2a143fc44e5f7b871abad539e0">mod</a> (genIUType x, genIUType y)</td></tr>
+<tr class="separator:ga75c6fd2a143fc44e5f7b871abad539e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac76ae7d82ff22526bcf6d6a1b51af6c3"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gac76ae7d82ff22526bcf6d6a1b51af6c3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#gac76ae7d82ff22526bcf6d6a1b51af6c3">mod</a> (vecType&lt; T, P &gt; const &amp;x, T y)</td></tr>
+<tr class="separator:gac76ae7d82ff22526bcf6d6a1b51af6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf5ae5330f6b30b4a35fb95f9a73d6134"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gaf5ae5330f6b30b4a35fb95f9a73d6134"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#gaf5ae5330f6b30b4a35fb95f9a73d6134">mod</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;y)</td></tr>
+<tr class="separator:gaf5ae5330f6b30b4a35fb95f9a73d6134"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab61b8546aafdf58f119eb892b212607c"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:gab61b8546aafdf58f119eb892b212607c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; uint, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00165.html#gab61b8546aafdf58f119eb892b212607c">uround</a> (vecType&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:gab61b8546aafdf58f119eb892b212607c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00165.html">GLM_GTC_integer</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00165.html" title="Allow to perform bit operations on integer values. ">GLM_GTC_integer</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00044_source.html">gtc/integer.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00044_source.html b/src/third_party/glm/doc/api/a00044_source.html
new file mode 100644
index 0000000..7b6e173
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00044_source.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: integer.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">gtc/integer.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00044.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../detail/precision.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../detail/func_common.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../detail/func_integer.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../detail/func_exponential.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_integer extension included&quot;)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00165.html#ga9bd682e74bfacb005c735305207ec417">log2</a>(genIUType x);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genIUType&gt;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        GLM_FUNC_DECL genIUType <a class="code" href="a00165.html#ga75c6fd2a143fc44e5f7b871abad539e0">mod</a>(genIUType x, genIUType y);</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00165.html#ga75c6fd2a143fc44e5f7b871abad539e0">mod</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, T y);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00165.html#ga75c6fd2a143fc44e5f7b871abad539e0">mod</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x, vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; y);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        GLM_FUNC_DECL vecType&lt;int, P&gt; <a class="code" href="a00165.html#ga0a42ffb863cc980e91f98d2f5766de20">iround</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        GLM_FUNC_DECL vecType&lt;uint, P&gt; <a class="code" href="a00165.html#gab61b8546aafdf58f119eb892b212607c">uround</a>(vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;} <span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#include &quot;integer.inl&quot;</span></div>
+<div class="ttc" id="a00165_html_gab61b8546aafdf58f119eb892b212607c"><div class="ttname"><a href="a00165.html#gab61b8546aafdf58f119eb892b212607c">glm::uround</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; uint, P &gt; uround(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x. </div></div>
+<div class="ttc" id="a00165_html_ga9bd682e74bfacb005c735305207ec417"><div class="ttname"><a href="a00165.html#ga9bd682e74bfacb005c735305207ec417">glm::log2</a></div><div class="ttdeci">GLM_FUNC_DECL genIUType log2(genIUType x)</div><div class="ttdoc">Returns the log2 of x for integer values. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00165_html_ga75c6fd2a143fc44e5f7b871abad539e0"><div class="ttname"><a href="a00165.html#ga75c6fd2a143fc44e5f7b871abad539e0">glm::mod</a></div><div class="ttdeci">GLM_FUNC_DECL genIUType mod(genIUType x, genIUType y)</div><div class="ttdoc">Modulus. </div></div>
+<div class="ttc" id="a00165_html_ga0a42ffb863cc980e91f98d2f5766de20"><div class="ttname"><a href="a00165.html#ga0a42ffb863cc980e91f98d2f5766de20">glm::iround</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; int, P &gt; iround(vecType&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00045.html b/src/third_party/glm/doc/api/a00045.html
new file mode 100644
index 0000000..6e62188
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00045.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: integer.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">gtx/integer.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00045_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gada7e83fdfe943aba4f1d5bf80cb66f40"><td class="memItemLeft" align="right" valign="top">typedef signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gada7e83fdfe943aba4f1d5bf80cb66f40">sint</a></td></tr>
+<tr class="separator:gada7e83fdfe943aba4f1d5bf80cb66f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga8cbd3120905f398ec321b5d1836e08fb"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga8cbd3120905f398ec321b5d1836e08fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga8cbd3120905f398ec321b5d1836e08fb">factorial</a> (genType const &amp;x)</td></tr>
+<tr class="separator:ga8cbd3120905f398ec321b5d1836e08fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7011b4e1c1e1ed492149b028feacc00e"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga7011b4e1c1e1ed492149b028feacc00e">floor_log2</a> (unsigned int x)</td></tr>
+<tr class="separator:ga7011b4e1c1e1ed492149b028feacc00e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaabfbb41531ab7ad8d06fc176edfba785"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gaabfbb41531ab7ad8d06fc176edfba785">mod</a> (int x, int y)</td></tr>
+<tr class="separator:gaabfbb41531ab7ad8d06fc176edfba785"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga63fc8d63e7da1706439233b386ba8b6f"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga63fc8d63e7da1706439233b386ba8b6f">mod</a> (uint x, uint y)</td></tr>
+<tr class="separator:ga63fc8d63e7da1706439233b386ba8b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga78dff8bdb361bf0061194c93e003d189"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga78dff8bdb361bf0061194c93e003d189">nlz</a> (uint x)</td></tr>
+<tr class="separator:ga78dff8bdb361bf0061194c93e003d189"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga89c591b970882714bd1e89a4e2f249f1"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga89c591b970882714bd1e89a4e2f249f1">pow</a> (int x, int y)</td></tr>
+<tr class="separator:ga89c591b970882714bd1e89a4e2f249f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga998e5ee915d3769255519e2fbaa2bbf0"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga998e5ee915d3769255519e2fbaa2bbf0">pow</a> (uint x, uint y)</td></tr>
+<tr class="separator:ga998e5ee915d3769255519e2fbaa2bbf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7ce36693a75879ccd9bb10167cfa722d"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga7ce36693a75879ccd9bb10167cfa722d">sqrt</a> (int x)</td></tr>
+<tr class="separator:ga7ce36693a75879ccd9bb10167cfa722d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1975d318978d6dacf78b6444fa5ed7bc"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga1975d318978d6dacf78b6444fa5ed7bc">sqrt</a> (uint x)</td></tr>
+<tr class="separator:ga1975d318978d6dacf78b6444fa5ed7bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00199.html">GLM_GTX_integer</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00045_source.html">gtx/integer.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00045_source.html b/src/third_party/glm/doc/api/a00045_source.html
new file mode 100644
index 0000000..4c7c4b4
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00045_source.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: integer.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">gtx/integer.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00045.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../gtc/integer.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_integer extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00199.html#ga998e5ee915d3769255519e2fbaa2bbf0">pow</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00199.html#ga1975d318978d6dacf78b6444fa5ed7bc">sqrt</a>(<span class="keywordtype">int</span> x);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="a00199.html#ga7011b4e1c1e1ed492149b028feacc00e">floor_log2</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00199.html#ga63fc8d63e7da1706439233b386ba8b6f">mod</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00199.html#ga8cbd3120905f398ec321b5d1836e08fb">factorial</a>(genType <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="a00199.html#gada7e83fdfe943aba4f1d5bf80cb66f40">   51</a></span>&#160;        <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span>                                      <a class="code" href="a00199.html#gada7e83fdfe943aba4f1d5bf80cb66f40">sint</a>;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00199.html#ga998e5ee915d3769255519e2fbaa2bbf0">pow</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> x, <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> y);</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00199.html#ga1975d318978d6dacf78b6444fa5ed7bc">sqrt</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> x);</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00199.html#ga63fc8d63e7da1706439233b386ba8b6f">mod</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> x, <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> y);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        GLM_FUNC_DECL <a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00199.html#ga78dff8bdb361bf0061194c93e003d189">nlz</a>(<a class="code" href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> x);</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#include &quot;integer.inl&quot;</span></div>
+<div class="ttc" id="a00199_html_ga63fc8d63e7da1706439233b386ba8b6f"><div class="ttname"><a href="a00199.html#ga63fc8d63e7da1706439233b386ba8b6f">glm::mod</a></div><div class="ttdeci">GLM_FUNC_DECL uint mod(uint x, uint y)</div><div class="ttdoc">Modulus. </div></div>
+<div class="ttc" id="a00199_html_gada7e83fdfe943aba4f1d5bf80cb66f40"><div class="ttname"><a href="a00199.html#gada7e83fdfe943aba4f1d5bf80cb66f40">glm::sint</a></div><div class="ttdeci">signed int sint</div><div class="ttdoc">32bit signed integer. </div><div class="ttdef"><b>Definition:</b> <a href="a00045_source.html#l00051">gtx/integer.hpp:51</a></div></div>
+<div class="ttc" id="a00158_html_ga91ad9478d81a7aaf2593e8d9c3d06a14"><div class="ttname"><a href="a00158.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">glm::uint</a></div><div class="ttdeci">unsigned int uint</div><div class="ttdoc">Unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00113_source.html#l00288">type_int.hpp:288</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00199_html_ga998e5ee915d3769255519e2fbaa2bbf0"><div class="ttname"><a href="a00199.html#ga998e5ee915d3769255519e2fbaa2bbf0">glm::pow</a></div><div class="ttdeci">GLM_FUNC_DECL uint pow(uint x, uint y)</div><div class="ttdoc">Returns x raised to the y power. </div></div>
+<div class="ttc" id="a00199_html_ga78dff8bdb361bf0061194c93e003d189"><div class="ttname"><a href="a00199.html#ga78dff8bdb361bf0061194c93e003d189">glm::nlz</a></div><div class="ttdeci">GLM_FUNC_DECL uint nlz(uint x)</div><div class="ttdoc">Returns the number of leading zeros. </div></div>
+<div class="ttc" id="a00199_html_ga1975d318978d6dacf78b6444fa5ed7bc"><div class="ttname"><a href="a00199.html#ga1975d318978d6dacf78b6444fa5ed7bc">glm::sqrt</a></div><div class="ttdeci">GLM_FUNC_DECL uint sqrt(uint x)</div><div class="ttdoc">Returns the positive square root of x. </div></div>
+<div class="ttc" id="a00199_html_ga8cbd3120905f398ec321b5d1836e08fb"><div class="ttname"><a href="a00199.html#ga8cbd3120905f398ec321b5d1836e08fb">glm::factorial</a></div><div class="ttdeci">GLM_FUNC_DECL genType factorial(genType const &amp;x)</div><div class="ttdoc">Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...</div></div>
+<div class="ttc" id="a00199_html_ga7011b4e1c1e1ed492149b028feacc00e"><div class="ttname"><a href="a00199.html#ga7011b4e1c1e1ed492149b028feacc00e">glm::floor_log2</a></div><div class="ttdeci">GLM_FUNC_DECL unsigned int floor_log2(unsigned int x)</div><div class="ttdoc">Returns the floor log2 of x. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00046.html b/src/third_party/glm/doc/api/a00046.html
new file mode 100644
index 0000000..fa9127c
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00046.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: integer.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">integer.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00046_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00046_source.html">integer.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00046_source.html b/src/third_party/glm/doc/api/a00046_source.html
new file mode 100644
index 0000000..3fecbe4
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00046_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: integer.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">integer.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00046.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00032.html">detail/func_integer.hpp</a>&quot;</span></div>
+<div class="ttc" id="a00032_html"><div class="ttname"><a href="a00032.html">func_integer.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00047.html b/src/third_party/glm/doc/api/a00047.html
new file mode 100644
index 0000000..b78868f
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00047.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: intersect.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">intersect.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00047_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga9c68139f3d8a4f3d7fe45f9dbc0de5b7"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga9c68139f3d8a4f3d7fe45f9dbc0de5b7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00200.html#ga9c68139f3d8a4f3d7fe45f9dbc0de5b7">intersectLineSphere</a> (genType const &amp;point0, genType const &amp;point1, genType const &amp;sphereCenter, typename genType::value_type sphereRadius, genType &amp;intersectionPosition1, genType &amp;intersectionNormal1, genType &amp;intersectionPosition2=genType(), genType &amp;intersectionNormal2=genType())</td></tr>
+<tr class="separator:ga9c68139f3d8a4f3d7fe45f9dbc0de5b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9d29b9b3acb504d43986502f42740df4"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga9d29b9b3acb504d43986502f42740df4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00200.html#ga9d29b9b3acb504d43986502f42740df4">intersectLineTriangle</a> (genType const &amp;orig, genType const &amp;dir, genType const &amp;vert0, genType const &amp;vert1, genType const &amp;vert2, genType &amp;position)</td></tr>
+<tr class="separator:ga9d29b9b3acb504d43986502f42740df4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad3697a9700ea379739a667ea02573488"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gad3697a9700ea379739a667ea02573488"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00200.html#gad3697a9700ea379739a667ea02573488">intersectRayPlane</a> (genType const &amp;orig, genType const &amp;dir, genType const &amp;planeOrig, genType const &amp;planeNormal, typename genType::value_type &amp;intersectionDistance)</td></tr>
+<tr class="separator:gad3697a9700ea379739a667ea02573488"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac88f8cd84c4bcb5b947d56acbbcfa56e"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gac88f8cd84c4bcb5b947d56acbbcfa56e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00200.html#gac88f8cd84c4bcb5b947d56acbbcfa56e">intersectRaySphere</a> (genType const &amp;rayStarting, genType const &amp;rayNormalizedDirection, genType const &amp;sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &amp;intersectionDistance)</td></tr>
+<tr class="separator:gac88f8cd84c4bcb5b947d56acbbcfa56e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad28c00515b823b579c608aafa1100c1d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gad28c00515b823b579c608aafa1100c1d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00200.html#gad28c00515b823b579c608aafa1100c1d">intersectRaySphere</a> (genType const &amp;rayStarting, genType const &amp;rayNormalizedDirection, genType const &amp;sphereCenter, const typename genType::value_type sphereRadius, genType &amp;intersectionPosition, genType &amp;intersectionNormal)</td></tr>
+<tr class="separator:gad28c00515b823b579c608aafa1100c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab16c1b47c10451e7604b51b39a7ef21d"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gab16c1b47c10451e7604b51b39a7ef21d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00200.html#gab16c1b47c10451e7604b51b39a7ef21d">intersectRayTriangle</a> (genType const &amp;orig, genType const &amp;dir, genType const &amp;vert0, genType const &amp;vert1, genType const &amp;vert2, genType &amp;baryPosition)</td></tr>
+<tr class="separator:gab16c1b47c10451e7604b51b39a7ef21d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00200.html">GLM_GTX_intersect</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00183.html" title="Find the point on a straight line which is the closet of a point. ">GLM_GTX_closest_point</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00047_source.html">intersect.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00047_source.html b/src/third_party/glm/doc/api/a00047_source.html
new file mode 100644
index 0000000..4b4b2fb
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00047_source.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: intersect.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">intersect.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00047.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;cfloat&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../geometric.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../gtx/closest_point.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;../gtx/vector_query.hpp&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_closest_point extension included&quot;)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00200.html#gad3697a9700ea379739a667ea02573488">intersectRayPlane</a>(</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                genType <span class="keyword">const</span> &amp; planeOrig, genType <span class="keyword">const</span> &amp; planeNormal,</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                <span class="keyword">typename</span> genType::value_type &amp; intersectionDistance);</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00200.html#gab16c1b47c10451e7604b51b39a7ef21d">intersectRayTriangle</a>(</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                genType <span class="keyword">const</span> &amp; vert0, genType <span class="keyword">const</span> &amp; vert1, genType <span class="keyword">const</span> &amp; vert2,</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                genType &amp; baryPosition);</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00200.html#ga9d29b9b3acb504d43986502f42740df4">intersectLineTriangle</a>(</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                genType <span class="keyword">const</span> &amp; orig, genType <span class="keyword">const</span> &amp; dir,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                genType <span class="keyword">const</span> &amp; vert0, genType <span class="keyword">const</span> &amp; vert1, genType <span class="keyword">const</span> &amp; vert2,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                genType &amp; position);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00200.html#gad28c00515b823b579c608aafa1100c1d">intersectRaySphere</a>(</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                genType <span class="keyword">const</span> &amp; rayStarting, genType <span class="keyword">const</span> &amp; rayNormalizedDirection,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                genType <span class="keyword">const</span> &amp; sphereCenter, <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> sphereRadiusSquered,</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;                <span class="keyword">typename</span> genType::value_type &amp; intersectionDistance);</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00200.html#gad28c00515b823b579c608aafa1100c1d">intersectRaySphere</a>(</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                genType <span class="keyword">const</span> &amp; rayStarting, genType <span class="keyword">const</span> &amp; rayNormalizedDirection,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                genType <span class="keyword">const</span> &amp; sphereCenter, <span class="keyword">const</span> <span class="keyword">typename</span> genType::value_type sphereRadius,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                genType &amp; intersectionPosition, genType &amp; intersectionNormal);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00200.html#ga9c68139f3d8a4f3d7fe45f9dbc0de5b7">intersectLineSphere</a>(</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                genType <span class="keyword">const</span> &amp; point0, genType <span class="keyword">const</span> &amp; point1,</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                genType <span class="keyword">const</span> &amp; sphereCenter, <span class="keyword">typename</span> genType::value_type sphereRadius,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                genType &amp; intersectionPosition1, genType &amp; intersectionNormal1, </div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                genType &amp; intersectionPosition2 = genType(), genType &amp; intersectionNormal2 = genType());</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#include &quot;intersect.inl&quot;</span></div>
+<div class="ttc" id="a00200_html_gad28c00515b823b579c608aafa1100c1d"><div class="ttname"><a href="a00200.html#gad28c00515b823b579c608aafa1100c1d">glm::intersectRaySphere</a></div><div class="ttdeci">GLM_FUNC_DECL bool intersectRaySphere(genType const &amp;rayStarting, genType const &amp;rayNormalizedDirection, genType const &amp;sphereCenter, const typename genType::value_type sphereRadius, genType &amp;intersectionPosition, genType &amp;intersectionNormal)</div><div class="ttdoc">Compute the intersection of a ray and a sphere. </div></div>
+<div class="ttc" id="a00200_html_gad3697a9700ea379739a667ea02573488"><div class="ttname"><a href="a00200.html#gad3697a9700ea379739a667ea02573488">glm::intersectRayPlane</a></div><div class="ttdeci">GLM_FUNC_DECL bool intersectRayPlane(genType const &amp;orig, genType const &amp;dir, genType const &amp;planeOrig, genType const &amp;planeNormal, typename genType::value_type &amp;intersectionDistance)</div><div class="ttdoc">Compute the intersection of a ray and a plane. </div></div>
+<div class="ttc" id="a00200_html_ga9d29b9b3acb504d43986502f42740df4"><div class="ttname"><a href="a00200.html#ga9d29b9b3acb504d43986502f42740df4">glm::intersectLineTriangle</a></div><div class="ttdeci">GLM_FUNC_DECL bool intersectLineTriangle(genType const &amp;orig, genType const &amp;dir, genType const &amp;vert0, genType const &amp;vert1, genType const &amp;vert2, genType &amp;position)</div><div class="ttdoc">Compute the intersection of a line and a triangle. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00200_html_ga9c68139f3d8a4f3d7fe45f9dbc0de5b7"><div class="ttname"><a href="a00200.html#ga9c68139f3d8a4f3d7fe45f9dbc0de5b7">glm::intersectLineSphere</a></div><div class="ttdeci">GLM_FUNC_DECL bool intersectLineSphere(genType const &amp;point0, genType const &amp;point1, genType const &amp;sphereCenter, typename genType::value_type sphereRadius, genType &amp;intersectionPosition1, genType &amp;intersectionNormal1, genType &amp;intersectionPosition2=genType(), genType &amp;intersectionNormal2=genType())</div><div class="ttdoc">Compute the intersection of a line and a sphere. </div></div>
+<div class="ttc" id="a00200_html_gab16c1b47c10451e7604b51b39a7ef21d"><div class="ttname"><a href="a00200.html#gab16c1b47c10451e7604b51b39a7ef21d">glm::intersectRayTriangle</a></div><div class="ttdeci">GLM_FUNC_DECL bool intersectRayTriangle(genType const &amp;orig, genType const &amp;dir, genType const &amp;vert0, genType const &amp;vert1, genType const &amp;vert2, genType &amp;baryPosition)</div><div class="ttdoc">Compute the intersection of a ray and a triangle. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00048.html b/src/third_party/glm/doc/api/a00048.html
new file mode 100644
index 0000000..3e91e93
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00048.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: io.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">io.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00048_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00201.html">GLM_GTX_io</a> </p>
+<dl class="section author"><dt>Author</dt><dd>Jan P Springer (<a href="#" onclick="location.href='mai'+'lto:'+'reg'+'ni'+'rps'+'j@'+'gma'+'il'+'.co'+'m'; return false;">regni<span style="display: none;">.nosp@m.</span>rpsj<span style="display: none;">.nosp@m.</span>@gmai<span style="display: none;">.nosp@m.</span>l.co<span style="display: none;">.nosp@m.</span>m</a>)</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00166.html" title="Defines functions to access rows or columns of a matrix easily. ">GLM_GTC_matrix_access</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00172.html" title="Defines a templated quaternion type and several quaternion operations. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00048_source.html">io.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00048_source.html b/src/third_party/glm/doc/api/a00048_source.html
new file mode 100644
index 0000000..0d32417
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00048_source.html
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: io.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">io.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00048.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;../gtx/quaternion.hpp&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"># pragma message(&quot;GLM: GLM_GTX_io extension included&quot;)</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;iosfwd&gt;</span>  <span class="comment">// std::basic_ostream&lt;&gt; (fwd)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &lt;locale&gt;</span>  <span class="comment">// std::locale, std::locale::facet, std::locale::id</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span> <span class="comment">// std::pair&lt;&gt;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="keyword">namespace </span>io</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        {</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                <span class="keyword">enum</span> order_type { column_major, row_major};</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy&gt;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;                <span class="keyword">class </span>format_punct : <span class="keyword">public</span> std::locale::facet</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                {</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                        <span class="keyword">typedef</span> CTy char_type;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;                <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                        <span class="keyword">static</span> std::locale::id id;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                        <span class="keywordtype">bool</span>       formatted;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                        <span class="keywordtype">unsigned</span>   precision;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                        <span class="keywordtype">unsigned</span>   width;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                        char_type  separator;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                        char_type  delim_left;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                        char_type  delim_right;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                        char_type  space;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                        char_type  newline;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                        order_type order;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> format_punct(<span class="keywordtype">size_t</span> a = 0);</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> format_punct(format_punct <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;                };</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr = std::<span class="keywordtype">char</span>_traits&lt;CTy&gt; &gt;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;                <span class="keyword">class </span>basic_state_saver {</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> basic_state_saver(std::basic_ios&lt;CTy,CTr&gt;&amp;);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                        GLM_FUNC_DECL ~basic_state_saver();</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;                <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;                        typedef ::std::basic_ios&lt;CTy,CTr&gt;      state_type;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;                        <span class="keyword">typedef</span> <span class="keyword">typename</span> state_type::char_type char_type;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;                        typedef ::std::ios_base::fmtflags      flags_type;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;                        typedef ::std::streamsize              streamsize_type;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;                        typedef ::std::locale <span class="keyword">const</span>            locale_type;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                        state_type&amp;     state_;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                        flags_type      flags_;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;                        streamsize_type precision_;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;                        streamsize_type width_;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;                        char_type       fill_;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;                        locale_type     locale_;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;                        GLM_FUNC_DECL basic_state_saver&amp; operator=(basic_state_saver <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;                };</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                <span class="keyword">typedef</span> basic_state_saver&lt;char&gt;     state_saver;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;                <span class="keyword">typedef</span> basic_state_saver&lt;wchar_t&gt; wstate_saver;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr = std::<span class="keywordtype">char</span>_traits&lt;CTy&gt; &gt;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                <span class="keyword">class </span>basic_format_saver</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                {</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> basic_format_saver(std::basic_ios&lt;CTy,CTr&gt;&amp;);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;                        GLM_FUNC_DECL ~basic_format_saver();</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;                <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                        basic_state_saver&lt;CTy&gt; <span class="keyword">const</span> bss_;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;                        GLM_FUNC_DECL basic_format_saver&amp; operator=(basic_format_saver <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;                };</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;                <span class="keyword">typedef</span> basic_format_saver&lt;char&gt;     format_saver;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;                <span class="keyword">typedef</span> basic_format_saver&lt;wchar_t&gt; wformat_saver;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;                <span class="keyword">struct </span>precision</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;                {</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                        <span class="keywordtype">unsigned</span> value;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> precision(<span class="keywordtype">unsigned</span>);</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                };</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                <span class="keyword">struct </span>width</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;                {</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                        <span class="keywordtype">unsigned</span> value;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> width(<span class="keywordtype">unsigned</span>);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                };</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy&gt;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                <span class="keyword">struct </span>delimeter</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                {</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                        CTy value[3];</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> delimeter(CTy <span class="comment">/* left */</span>, CTy <span class="comment">/* right */</span>, CTy <span class="comment">/* separator */</span> = <span class="charliteral">&#39;,&#39;</span>);</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                };</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                <span class="keyword">struct </span>order</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                {</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                        order_type value;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;                        GLM_FUNC_DECL <span class="keyword">explicit</span> order(order_type);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;                };</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                <span class="comment">// functions, inlined (inline)</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> FTy, <span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                FTy <span class="keyword">const</span>&amp; get_facet(std::basic_ios&lt;CTy,CTr&gt;&amp;);</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> FTy, <span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                std::basic_ios&lt;CTy,CTr&gt;&amp; formatted(std::basic_ios&lt;CTy,CTr&gt;&amp;);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> FTy, <span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                std::basic_ios&lt;CTy,CTr&gt;&amp; unformattet(std::basic_ios&lt;CTy,CTr&gt;&amp;);</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                std::basic_ostream&lt;CTy, CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy, CTr&gt;&amp;, precision <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                std::basic_ostream&lt;CTy, CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy, CTr&gt;&amp;, width <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                std::basic_ostream&lt;CTy, CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy, CTr&gt;&amp;, delimeter&lt;CTy&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr&gt;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                std::basic_ostream&lt;CTy, CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy, CTr&gt;&amp;, order <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        }<span class="comment">//namespace io</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tquat&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tvec1&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tvec2&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tvec3&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tvec4&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat2x2&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat2x3&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat2x4&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat3x2&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat3x3&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat3x4&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat4x2&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat4x3&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt;&amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt;&amp;, tmat4x4&lt;T,P&gt; <span class="keyword">const</span>&amp;);</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CTy, <span class="keyword">typename</span> CTr, <span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        GLM_FUNC_DECL std::basic_ostream&lt;CTy,CTr&gt; &amp; operator&lt;&lt;(std::basic_ostream&lt;CTy,CTr&gt; &amp;,</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                                                         std::pair&lt;tmat4x4&lt;T,P&gt; <span class="keyword">const</span>, tmat4x4&lt;T,P&gt; <span class="keyword">const</span>&gt; <span class="keyword">const</span> &amp;);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor">#include &quot;io.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00049.html b/src/third_party/glm/doc/api/a00049.html
new file mode 100644
index 0000000..24d373f
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00049.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: log_base.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">log_base.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00049_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga60a7b0a401da660869946b2b77c710c9"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga60a7b0a401da660869946b2b77c710c9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00202.html#ga60a7b0a401da660869946b2b77c710c9">log</a> (genType const &amp;x, genType const &amp;base)</td></tr>
+<tr class="separator:ga60a7b0a401da660869946b2b77c710c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1842004a127a9f3573764362ff639191"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P, template&lt; typename, precision &gt; class vecType&gt; </td></tr>
+<tr class="memitem:ga1842004a127a9f3573764362ff639191"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00202.html#ga1842004a127a9f3573764362ff639191">sign</a> (vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;base)</td></tr>
+<tr class="separator:ga1842004a127a9f3573764362ff639191"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00202.html">GLM_GTX_log_base</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00049_source.html">log_base.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00049_source.html b/src/third_party/glm/doc/api/a00049_source.html
new file mode 100644
index 0000000..7fc658b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00049_source.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: log_base.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">log_base.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00049.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_log_base extension included&quot;)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;{</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00202.html#ga60a7b0a401da660869946b2b77c710c9">log</a>(</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                genType <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                genType <span class="keyword">const</span> &amp; base);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> &lt;<span class="keyword">typename</span>, precision&gt; <span class="keyword">class </span>vecType&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        GLM_FUNC_DECL vecType&lt;T, P&gt; <a class="code" href="a00202.html#ga1842004a127a9f3573764362ff639191">sign</a>(</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; x,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                vecType&lt;T, P&gt; <span class="keyword">const</span> &amp; base);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &quot;log_base.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00202_html_ga60a7b0a401da660869946b2b77c710c9"><div class="ttname"><a href="a00202.html#ga60a7b0a401da660869946b2b77c710c9">glm::log</a></div><div class="ttdeci">GLM_FUNC_DECL genType log(genType const &amp;x, genType const &amp;base)</div><div class="ttdoc">Logarithm for any base. </div></div>
+<div class="ttc" id="a00202_html_ga1842004a127a9f3573764362ff639191"><div class="ttname"><a href="a00202.html#ga1842004a127a9f3573764362ff639191">glm::sign</a></div><div class="ttdeci">GLM_FUNC_DECL vecType&lt; T, P &gt; sign(vecType&lt; T, P &gt; const &amp;x, vecType&lt; T, P &gt; const &amp;base)</div><div class="ttdoc">Logarithm for any base. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00050_source.html b/src/third_party/glm/doc/api/a00050_source.html
new file mode 100644
index 0000000..45269db
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00050_source.html
@@ -0,0 +1,2457 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: man.doxy Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_577c788b67d63fb3b3b5752bd495d0f2.html">doc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">man.doxy</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor"># Doxyfile 1.8.10</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"># This file describes the settings to be used by the documentation system</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor"># doxygen (www.doxygen.org) for a project.</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"># All text after a double hash (##) is considered a comment and is placed in</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor"># front of the TAG it is preceding.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"># All text after a single hash (#) is considered a comment and will be ignored.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor"># The format is:</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"># TAG = value [value, ...]</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"># For lists, items can also be appended using:</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor"># TAG += value [value, ...]</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor"># Values that contain spaces should be placed between quotes (\&quot; \&quot;).</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor"># Project related configuration options</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"># This tag specifies the encoding used for all characters in the config file</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"># that follow. The default is UTF-8 which is also the encoding used for all text</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor"># before the first occurrence of this tag. Doxygen uses libiconv (or the iconv</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor"># built into libc) for the transcoding. See http://www.gnu.org/software/libiconv</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor"># for the list of possible encodings.</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"># The default value is: UTF-8.</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;DOXYFILE_ENCODING      = UTF-8</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor"># The PROJECT_NAME tag is a single word (or a sequence of words surrounded by</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"># double-quotes, unless you are using Doxywizard) that should identify the</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"># project for which the documentation is generated. This name is used in the</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"># title of most generated pages and in a few other places.</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"># The default value is: My Project.</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;PROJECT_NAME           = 0.9.7</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"># The PROJECT_NUMBER tag can be used to enter a project or revision number. This</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"># could be handy for archiving the generated documentation or if some version</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"># control system is used.</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;PROJECT_NUMBER         = </div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"># Using the PROJECT_BRIEF tag one can provide an optional one line description</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"># for a project that appears at the top of each page and should give viewer a</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"># quick idea about the purpose of the project. Keep the description short.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;PROJECT_BRIEF          = </div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"># With the PROJECT_LOGO tag one can specify a logo or an icon that is included</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"># in the documentation. The maximum height of the logo should not exceed 55</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"># pixels and the maximum width should not exceed 200 pixels. Doxygen will copy</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"># the logo to the output directory.</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;PROJECT_LOGO           = D:/Source/G-Truc/<a class="code" href="a00141.html">glm</a>/doc/logo.png</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"># The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"># into which the generated documentation will be written. If a relative path is</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"># entered, it will be relative to the location where doxygen was started. If</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"># left blank the current directory will be used.</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;OUTPUT_DIRECTORY       = .</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"># directories (in 2 levels) under the output directory of each output format and</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor"># will distribute the generated files over these directories. Enabling this</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"># option can be useful when feeding doxygen a huge amount of source files, where</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"># putting all generated files in the same directory would otherwise causes</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"># performance problems for the file system.</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;CREATE_SUBDIRS         = NO</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"># If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"># characters to appear in the names of generated files. If set to NO, non-ASCII</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor"># characters will be escaped, for example _xE3_x81_x84 will be used for Unicode</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"># U+3044.</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;ALLOW_UNICODE_NAMES    = NO</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor"># The OUTPUT_LANGUAGE tag is used to specify the language in which all</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"># documentation generated by doxygen is written. Doxygen will use this</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor"># information to generate all constant output in the proper language.</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor"># Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor"># Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor"># Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor"># Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"># Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor"># Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor"># Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"># Ukrainian and Vietnamese.</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor"># The default value is: English.</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;OUTPUT_LANGUAGE        = English</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor"># If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor"># descriptions after the members that are listed in the file and class</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor"># documentation (similar to Javadoc). Set to NO to disable this.</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;BRIEF_MEMBER_DESC      = NO</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor"># If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"># description of a member or function before the detailed description</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor"># Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor"># brief descriptions will be completely suppressed.</span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;REPEAT_BRIEF           = YES</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor"># This tag implements a quasi-intelligent brief description abbreviator that is</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor"># used to form the text in various listings. Each string in this list, if found</span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor"># as the leading text of the brief description, will be stripped from the text</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor"># and the result, after processing the whole list, is used as the annotated</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor"># text. Otherwise, the brief description is used as-is. If left blank, the</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor"># following values are used ($name is automatically replaced with the name of</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor"># the entity):The $name class, The $name widget, The $name file, is, provides,</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor"># specifies, contains, represents, a, an and the.</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;ABBREVIATE_BRIEF       = <span class="stringliteral">&quot;The $name class       &quot;</span> \</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;                         <span class="stringliteral">&quot;The $name widget       &quot;</span> \</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;                         <span class="stringliteral">&quot;The $name file       &quot;</span> \</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;                         is \</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;                         provides \</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;                         specifies \</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;                         contains \</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                         represents \</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                         a \</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                         an \</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;                         the</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor"># If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"># doxygen will generate a detailed section even if there is only a brief</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor"># description.</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;ALWAYS_DETAILED_SEC    = NO</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor"># If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor"># inherited members of a class in the documentation of that class as if those</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor"># members were ordinary class members. Constructors, destructors and assignment</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor"># operators of the base classes will not be shown.</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;INLINE_INHERITED_MEMB  = NO</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor"># If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor"># before files name in the file list and in the header files. If set to NO the</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor"># shortest path that makes the file name unique will be used</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;FULL_PATH_NAMES        = NO</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"># The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor"># Stripping is only done if one of the specified strings matches the left-hand</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor"># part of the path. The tag can be used to show relative paths in the file list.</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor"># If left blank the directory from which doxygen is run is used as the path to</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor"># strip.</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor"># Note that you can specify absolute paths here, but also relative paths, which</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor"># will be relative from the directory where doxygen is started.</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor"># This tag requires that the tag FULL_PATH_NAMES is set to YES.</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;STRIP_FROM_PATH        = <span class="stringliteral">&quot;C:/Documents and Settings/Groove/       &quot;</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor"># The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor"># path mentioned in the documentation of a class, which tells the reader which</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor"># header file to include in order to use a class. If left blank only the name of</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor"># the header file containing the class definition is used. Otherwise one should</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor"># specify the list of include paths that are normally passed to the compiler</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor"># using the -I flag.</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;STRIP_FROM_INC_PATH    = </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor"># If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor"># less readable) file names. This can be useful is your file systems doesn&#39;t</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor"># support long names like on DOS, Mac, or CD-ROM.</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;SHORT_NAMES            = YES</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="preprocessor"># If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor"># first line (until the first dot) of a Javadoc-style comment as the brief</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor"># description. If set to NO, the Javadoc-style will behave just like regular Qt-</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor"># style comments (thus requiring an explicit @brief command for a brief</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor"># description.)</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;JAVADOC_AUTOBRIEF      = YES</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor"># If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor"># line (until the first dot) of a Qt-style comment as the brief description. If</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor"># set to NO, the Qt-style will behave just like regular Qt-style comments (thus</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor"># requiring an explicit \brief command for a brief description.)</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;QT_AUTOBRIEF           = NO</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor"># The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor"># multi-line C++ special comment block (i.e. a block of </span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor"># a brief description. This used to be the default behavior. The new default is</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor"># to treat a multi-line C++ comment block as a detailed description. Set this</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor"># tag to YES if you prefer the old behavior instead.</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor"># Note that setting this tag to YES also means that rational rose comments are</span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="preprocessor"># not recognized any more.</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;MULTILINE_CPP_IS_BRIEF = NO</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor"># If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="preprocessor"># documentation from any documented member that it re-implements.</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;INHERIT_DOCS           = YES</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor"># If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor"># page for each member. If set to NO, the documentation of a member will be part</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor"># of the file/class/namespace that contains it.</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;SEPARATE_MEMBER_PAGES  = NO</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor"># The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor"># uses this value to replace tabs by spaces in code fragments.</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor"># Minimum value: 1, maximum value: 16, default value: 4.</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;TAB_SIZE               = 8</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor"># This tag can be used to specify a number of aliases that act as commands in</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor"># the documentation. An alias has the form:</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor"># name=value</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor"># For example adding</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor"># &quot;sideeffect=@par Side Effects:\n&quot;</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor"># will allow you to put the command \sideeffect (or @sideeffect) in the</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor"># documentation, which will result in a user-defined paragraph with heading</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor"># &quot;Side Effects:&quot;. You can put \n&#39;s in the value part of an alias to insert</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor"># newlines.</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;ALIASES                = </div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor"># This tag can be used to specify a number of word-keyword mappings (TCL only).</span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="preprocessor"># A mapping has the form &quot;name=value&quot;. For example adding &quot;class=itcl::class&quot;</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor"># will allow you to use the command class in the itcl::class meaning.</span></div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;TCL_SUBST              = </div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;<span class="preprocessor"># Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources</span></div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="preprocessor"># only. Doxygen will then generate output that is more tailored for C. For</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="preprocessor"># instance, some of the names that are used will be different. The list of all</span></div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;<span class="preprocessor"># members will be omitted, etc.</span></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;OPTIMIZE_OUTPUT_FOR_C  = NO</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor"># Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or</span></div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="preprocessor"># Python sources only. Doxygen will then generate output that is more tailored</span></div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="preprocessor"># for that language. For instance, namespaces will be presented as packages,</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="preprocessor"># qualified scopes will look different, etc.</span></div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;OPTIMIZE_OUTPUT_JAVA   = NO</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="preprocessor"># Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran</span></div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;<span class="preprocessor"># sources. Doxygen will then generate output that is tailored for Fortran.</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;OPTIMIZE_FOR_FORTRAN   = NO</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="preprocessor"># Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL</span></div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<span class="preprocessor"># sources. Doxygen will then generate output that is tailored for VHDL.</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;OPTIMIZE_OUTPUT_VHDL   = NO</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor"># Doxygen selects the parser to use depending on the extension of the files it</span></div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor"># parses. With this tag you can assign which parser to use for a given</span></div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="preprocessor"># extension. Doxygen has a built-in mapping, but you can override or extend it</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor"># using this tag. The format is ext=language, where ext is a file extension, and</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="preprocessor"># language is one of the parsers supported by doxygen: IDL, Java, Javascript,</span></div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;<span class="preprocessor"># C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:</span></div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="preprocessor"># FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:</span></div>
+<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor"># Fortran. In the later case the parser tries to guess whether the code is fixed</span></div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<span class="preprocessor"># or free formatted code, this is the default for Fortran type files), VHDL. For</span></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor"># instance to make doxygen treat .inc files as Fortran files (default is PHP),</span></div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="preprocessor"># and .f files as C (default is Fortran), use: inc=Fortran f=C.</span></div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="preprocessor"># Note: For files without extension you can use no_extension as a placeholder.</span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;<span class="preprocessor"># Note that for custom extensions you also need to set FILE_PATTERNS otherwise</span></div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="preprocessor"># the files are not read by doxygen.</span></div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;EXTENSION_MAPPING      = </div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="preprocessor"># If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments</span></div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="preprocessor"># according to the Markdown format, which allows for more readable</span></div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor"># documentation. See http://daringfireball.net/projects/markdown/ for details.</span></div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="preprocessor"># The output of markdown processing is further processed by doxygen, so you can</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="preprocessor"># mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="preprocessor"># case of backward compatibilities issues.</span></div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;MARKDOWN_SUPPORT       = YES</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;<span class="preprocessor"># When enabled doxygen tries to link words that correspond to documented</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor"># classes, or namespaces to their corresponding documentation. Such a link can</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="preprocessor"># be prevented in individual cases by putting a % sign in front of the word or</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;<span class="preprocessor"># globally by setting AUTOLINK_SUPPORT to NO.</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;AUTOLINK_SUPPORT       = YES</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor"># If you use STL classes (i.e. std::string, std::vector, etc.) but do not want</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor"># to include (a tag file for) the STL sources as input, then you should set this</span></div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="preprocessor"># tag to YES in order to let doxygen match functions declarations and</span></div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor"># definitions whose arguments contain STL classes (e.g. func(std::string);</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;<span class="preprocessor"># versus func(std::string) {}). This also make the inheritance and collaboration</span></div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor"># diagrams that involve STL classes more complete and accurate.</span></div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;BUILTIN_STL_SUPPORT    = NO</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="preprocessor"># If you use Microsoft&#39;s C++/CLI language, you should set this option to YES to</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="preprocessor"># enable parsing support.</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;CPP_CLI_SUPPORT        = NO</div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="preprocessor"># Set the SIP_SUPPORT tag to YES if your project consists of sip (see:</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor"># http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="preprocessor"># will parse them like normal C++ but will assume all classes use public instead</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="preprocessor"># of private inheritance when no explicit protection keyword is present.</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;SIP_SUPPORT            = NO</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor"># For Microsoft&#39;s IDL there are propget and propput attributes to indicate</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="preprocessor"># getter and setter methods for a property. Setting this option to YES will make</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor"># doxygen to replace the get and set methods by a property in the documentation.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="preprocessor"># This will only work if the methods are indeed getting or setting a simple</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="preprocessor"># type. If this is not the case, or you want to show the methods anyway, you</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor"># should set this option to NO.</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;IDL_PROPERTY_SUPPORT   = YES</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="preprocessor"># If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor"># tag is set to YES then doxygen will reuse the documentation of the first</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="preprocessor"># member in the group (if any) for the other members of the group. By default</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor"># all members of a group must be documented explicitly.</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;DISTRIBUTE_GROUP_DOC   = NO</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;<span class="preprocessor"># If one adds a struct or class to a group and this option is enabled, then also</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor"># any nested class or struct is added to the same group. By default this option</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor"># is disabled and one has to add nested compounds explicitly via \ingroup.</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;GROUP_NESTED_COMPOUNDS = NO</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="preprocessor"># Set the SUBGROUPING tag to YES to allow class member groups of the same type</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor"># (for instance a group of public functions) to be put as a subgroup of that</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor"># type (e.g. under the Public Functions section). Set it to NO to prevent</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor"># subgrouping. Alternatively, this can be done per class using the</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;<span class="preprocessor"># \nosubgrouping command.</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;SUBGROUPING            = NO</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
+<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;<span class="preprocessor"># When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor"># are shown inside the group in which they are included (e.g. using \ingroup)</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor"># instead of on a separate page (for HTML and Man pages) or section (for LaTeX</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor"># and RTF).</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor"># Note that this feature does not work in combination with</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor"># SEPARATE_MEMBER_PAGES.</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;INLINE_GROUPED_CLASSES = NO</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="preprocessor"># When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions</span></div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor"># with only public data fields or simple typedef fields will be shown inline in</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor"># the documentation of the scope in which they are defined (i.e. file,</span></div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor"># namespace, or group documentation), provided this scope is documented. If set</span></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor"># to NO, structs, classes, and unions are shown on a separate page (for HTML and</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor"># Man pages) or section (for LaTeX and RTF).</span></div>
+<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;INLINE_SIMPLE_STRUCTS  = NO</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="preprocessor"># When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or</span></div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="preprocessor"># enum is documented as struct, union, or enum with the name of the typedef. So</span></div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<span class="preprocessor"># typedef struct TypeS {} TypeT, will appear in the documentation as a struct</span></div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<span class="preprocessor"># with name TypeT. When disabled the typedef will appear as a member of a file,</span></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="preprocessor"># namespace, or class. And the struct will be named TypeS. This can typically be</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="preprocessor"># useful for C code in case the coding convention dictates that all compound</span></div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="preprocessor"># types are typedef&#39;ed and only the typedef is referenced, never the tag name.</span></div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;TYPEDEF_HIDES_STRUCT   = NO</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="preprocessor"># The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<span class="preprocessor"># cache is used to resolve symbols given their name and scope. Since this can be</span></div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor"># an expensive process and often the same symbol appears multiple times in the</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;<span class="preprocessor"># code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor"># doxygen will become slower. If the cache is too large, memory is wasted. The</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="preprocessor"># cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="preprocessor"># is 0..9, the default is 0, corresponding to a cache size of 2^16=65536</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="preprocessor"># symbols. At the end of a run doxygen will report the cache usage and suggest</span></div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="preprocessor"># the optimal cache size from a speed point of view.</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor"># Minimum value: 0, maximum value: 9, default value: 0.</span></div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;LOOKUP_CACHE_SIZE      = 0</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor"># Build related configuration options</span></div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor"># If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor"># documentation are documented, even if no documentation was available. Private</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;<span class="preprocessor"># class members and static file members will be hidden unless the</span></div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor"># EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.</span></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;<span class="preprocessor"># Note: This will also disable the warnings about undocumented members that are</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="preprocessor"># normally produced when WARNINGS is set to YES.</span></div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;EXTRACT_ALL            = NO</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor"># If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will</span></div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="preprocessor"># be included in the documentation.</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;EXTRACT_PRIVATE        = NO</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor"># If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;<span class="preprocessor"># scope will be included in the documentation.</span></div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;EXTRACT_PACKAGE        = NO</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor"># If the EXTRACT_STATIC tag is set to YES, all static members of a file will be</span></div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor"># included in the documentation.</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;EXTRACT_STATIC         = YES</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="preprocessor"># If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="preprocessor"># locally in source files will be included in the documentation. If set to NO,</span></div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="preprocessor"># only classes defined in header files are included. Does not have any effect</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="preprocessor"># for Java sources.</span></div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;EXTRACT_LOCAL_CLASSES  = NO</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor"># This flag is only useful for Objective-C code. If set to YES, local methods,</span></div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor"># which are defined in the implementation section but not in the interface are</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor"># included in the documentation. If set to NO, only methods in the interface are</span></div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="preprocessor"># included.</span></div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;EXTRACT_LOCAL_METHODS  = NO</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="preprocessor"># If this flag is set to YES, the members of anonymous namespaces will be</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;<span class="preprocessor"># extracted and appear in the documentation as a namespace called</span></div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor"># &#39;anonymous_namespace{file}&#39;, where file will be replaced with the base name of</span></div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="preprocessor"># the file that contains the anonymous namespace. By default anonymous namespace</span></div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="preprocessor"># are hidden.</span></div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;EXTRACT_ANON_NSPACES   = NO</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;<span class="preprocessor"># If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all</span></div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="preprocessor"># undocumented members inside documented classes or files. If set to NO these</span></div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="preprocessor"># members will be included in the various overviews, but no documentation</span></div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="preprocessor"># section is generated. This option has no effect if EXTRACT_ALL is enabled.</span></div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;HIDE_UNDOC_MEMBERS     = YES</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="preprocessor"># If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all</span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor"># undocumented classes that are normally visible in the class hierarchy. If set</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor"># to NO, these classes will be included in the various overviews. This option</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor"># has no effect if EXTRACT_ALL is enabled.</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;HIDE_UNDOC_CLASSES     = YES</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="preprocessor"># If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<span class="preprocessor"># (class|struct|union) declarations. If set to NO, these declarations will be</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;<span class="preprocessor"># included in the documentation.</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;HIDE_FRIEND_COMPOUNDS  = YES</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor"># If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor"># documentation blocks found inside the body of a function. If set to NO, these</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;<span class="preprocessor"># blocks will be appended to the function&#39;s detailed documentation block.</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;HIDE_IN_BODY_DOCS      = YES</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;<span class="preprocessor"># The INTERNAL_DOCS tag determines if documentation that is typed after a</span></div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;<span class="preprocessor"># \internal command is included. If the tag is set to NO then the documentation</span></div>
+<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;<span class="preprocessor"># will be excluded. Set it to YES to include the internal documentation.</span></div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;INTERNAL_DOCS          = NO</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;<span class="preprocessor"># If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file</span></div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<span class="preprocessor"># names in lower-case letters. If set to YES, upper-case letters are also</span></div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;<span class="preprocessor"># allowed. This is useful if you have classes or files whose names only differ</span></div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="preprocessor"># in case and if your file system supports case sensitive file names. Windows</span></div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="preprocessor"># and Mac users are advised to set this option to NO.</span></div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;<span class="preprocessor"># The default value is: system dependent.</span></div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;CASE_SENSE_NAMES       = YES</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="preprocessor"># If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with</span></div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="preprocessor"># their full class and namespace scopes in the documentation. If set to YES, the</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor"># scope will be hidden.</span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;HIDE_SCOPE_NAMES       = YES</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="preprocessor"># If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="preprocessor"># append additional text to a page&#39;s title, such as Class Reference. If set to</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="preprocessor"># YES the compound reference will be hidden.</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;</div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;HIDE_COMPOUND_REFERENCE= NO</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;</div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="preprocessor"># If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;<span class="preprocessor"># the files that are included by a file in the documentation of that file.</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;SHOW_INCLUDE_FILES     = NO</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;</div>
+<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;<span class="preprocessor"># If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;<span class="preprocessor"># grouped member an include statement to the documentation, telling the reader</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="preprocessor"># which file to include in order to use the member.</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;SHOW_GROUPED_MEMB_INC  = NO</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;<span class="preprocessor"># If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;<span class="preprocessor"># files with double quotes in the documentation rather than with sharp brackets.</span></div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;FORCE_LOCAL_INCLUDES   = NO</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<span class="preprocessor"># If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the</span></div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;<span class="preprocessor"># documentation for inline members.</span></div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;INLINE_INFO            = NO</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;<span class="preprocessor"># If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the</span></div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;<span class="preprocessor"># (detailed) documentation of file and class members alphabetically by member</span></div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;<span class="preprocessor"># name. If set to NO, the members will appear in declaration order.</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;SORT_MEMBER_DOCS       = YES</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="preprocessor"># If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="preprocessor"># descriptions of file, namespace and class members alphabetically by member</span></div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor"># name. If set to NO, the members will appear in declaration order. Note that</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor"># this will also influence the order of the classes in the class list.</span></div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;SORT_BRIEF_DOCS        = YES</div>
+<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;</div>
+<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;<span class="preprocessor"># If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the</span></div>
+<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;<span class="preprocessor"># (brief and detailed) documentation of class members so that constructors and</span></div>
+<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;<span class="preprocessor"># destructors are listed first. If set to NO the constructors will appear in the</span></div>
+<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor"># respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="preprocessor"># Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief</span></div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;<span class="preprocessor"># member documentation.</span></div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor"># Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor"># detailed member documentation.</span></div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;SORT_MEMBERS_CTORS_1ST = NO</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor"># If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="preprocessor"># of group names into alphabetical order. If set to NO the group names will</span></div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="preprocessor"># appear in their defined order.</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;SORT_GROUP_NAMES       = NO</div>
+<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="preprocessor"># If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by</span></div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="preprocessor"># fully-qualified names, including namespaces. If set to NO, the class list will</span></div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="preprocessor"># be sorted only by class name, not including the namespace part.</span></div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="preprocessor"># Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="preprocessor"># Note: This option applies only to the class list, not to the alphabetical</span></div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="preprocessor"># list.</span></div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;SORT_BY_SCOPE_NAME     = YES</div>
+<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;<span class="preprocessor"># If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper</span></div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;<span class="preprocessor"># type resolution of all parameters of a function it will reject a match between</span></div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;<span class="preprocessor"># the prototype and the implementation of a member function even if there is</span></div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="preprocessor"># only one candidate or it is obvious which candidate to choose by doing a</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="preprocessor"># simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="preprocessor"># accept a match between prototype and implementation in such cases.</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;STRICT_PROTO_MATCHING  = NO</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="preprocessor"># The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo</span></div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="preprocessor"># list. This list is created by putting \todo commands in the documentation.</span></div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;GENERATE_TODOLIST      = YES</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="preprocessor"># The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;<span class="preprocessor"># list. This list is created by putting \test commands in the documentation.</span></div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;GENERATE_TESTLIST      = YES</div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="preprocessor"># The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="preprocessor"># list. This list is created by putting \bug commands in the documentation.</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;GENERATE_BUGLIST       = YES</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;<span class="preprocessor"># The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)</span></div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;<span class="preprocessor"># the deprecated list. This list is created by putting \deprecated commands in</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;<span class="preprocessor"># the documentation.</span></div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;GENERATE_DEPRECATEDLIST= YES</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;<span class="preprocessor"># The ENABLED_SECTIONS tag can be used to enable conditional documentation</span></div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;<span class="preprocessor"># sections, marked by \if &lt;section_label&gt; ... \endif and \cond &lt;section_label&gt;</span></div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;<span class="preprocessor"># ... \endcond blocks.</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;ENABLED_SECTIONS       = </div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="preprocessor"># The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="preprocessor"># initial value of a variable or macro / define can have for it to appear in the</span></div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="preprocessor"># documentation. If the initializer consists of more lines than specified here</span></div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;<span class="preprocessor"># it will be hidden. Use a value of 0 to hide initializers completely. The</span></div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;<span class="preprocessor"># appearance of the value of individual variables and macros / defines can be</span></div>
+<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;<span class="preprocessor"># controlled using \showinitializer or \hideinitializer command in the</span></div>
+<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;<span class="preprocessor"># documentation regardless of this setting.</span></div>
+<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;<span class="preprocessor"># Minimum value: 0, maximum value: 10000, default value: 30.</span></div>
+<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;MAX_INITIALIZER_LINES  = 30</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div>
+<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="preprocessor"># Set the SHOW_USED_FILES tag to NO to disable the list of files generated at</span></div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;<span class="preprocessor"># the bottom of the documentation of classes and structs. If set to YES, the</span></div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;<span class="preprocessor"># list will mention the files that were used to generate the documentation.</span></div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;SHOW_USED_FILES        = NO</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="preprocessor"># Set the SHOW_FILES tag to NO to disable the generation of the Files page. This</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="preprocessor"># will remove the Files entry from the Quick Index and from the Folder Tree View</span></div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="preprocessor"># (if specified).</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;</div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;SHOW_FILES             = YES</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="preprocessor"># Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="preprocessor"># page. This will remove the Namespaces entry from the Quick Index and from the</span></div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="preprocessor"># Folder Tree View (if specified).</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;</div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;SHOW_NAMESPACES        = YES</div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="preprocessor"># The FILE_VERSION_FILTER tag can be used to specify a program or script that</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="preprocessor"># doxygen should invoke to get the current version for each file (typically from</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;<span class="preprocessor"># the version control system). Doxygen will invoke the program by executing (via</span></div>
+<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor"># popen()) the command command input-file, where command is the value of the</span></div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="preprocessor"># FILE_VERSION_FILTER tag, and input-file is the name of an input file provided</span></div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="preprocessor"># by doxygen. Whatever the program writes to standard output is used as the file</span></div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;<span class="preprocessor"># version. For an example see the documentation.</span></div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;FILE_VERSION_FILTER    = </div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="preprocessor"># The LAYOUT_FILE tag can be used to specify a layout file which will be parsed</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="preprocessor"># by doxygen. The layout file controls the global structure of the generated</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="preprocessor"># output files in an output format independent way. To create the layout file</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="preprocessor"># that represents doxygen&#39;s defaults, run doxygen with the -l option. You can</span></div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;<span class="preprocessor"># optionally specify a file name after the option, if omitted DoxygenLayout.xml</span></div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;<span class="preprocessor"># will be used as the name of the layout file.</span></div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="preprocessor"># Note that if you run doxygen from a directory containing a file called</span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;<span class="preprocessor"># DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="preprocessor"># tag is left empty.</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;LAYOUT_FILE            = </div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;<span class="preprocessor"># The CITE_BIB_FILES tag can be used to specify one or more bib files containing</span></div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;<span class="preprocessor"># the reference definitions. This must be a list of .bib files. The .bib</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;<span class="preprocessor"># extension is automatically appended if omitted. This requires the bibtex tool</span></div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="preprocessor"># to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.</span></div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;<span class="preprocessor"># For LaTeX the style of the bibliography can be controlled using</span></div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;<span class="preprocessor"># LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the</span></div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;<span class="preprocessor"># search path. See also \cite for info how to create references.</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;CITE_BIB_FILES         = </div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="preprocessor"># Configuration options related to warning and progress messages</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;<span class="preprocessor"># The QUIET tag can be used to turn on/off the messages that are generated to</span></div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;<span class="preprocessor"># standard output by doxygen. If QUIET is set to YES this implies that the</span></div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;<span class="preprocessor"># messages are off.</span></div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;QUIET                  = NO</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;<span class="preprocessor"># The WARNINGS tag can be used to turn on/off the warning messages that are</span></div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;<span class="preprocessor"># generated to standard error (stderr) by doxygen. If WARNINGS is set to YES</span></div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;<span class="preprocessor"># this implies that the warnings are on.</span></div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor"># Tip: Turn warnings on while writing the documentation.</span></div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;WARNINGS               = YES</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="preprocessor"># If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="preprocessor"># warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag</span></div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="preprocessor"># will automatically be disabled.</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;WARN_IF_UNDOCUMENTED   = YES</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;<span class="preprocessor"># If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for</span></div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<span class="preprocessor"># potential errors in the documentation, such as not documenting some parameters</span></div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;<span class="preprocessor"># in a documented function, or documenting parameters that don&#39;t exist or using</span></div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;<span class="preprocessor"># markup commands wrongly.</span></div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="preprocessor"># The default value is: YES.</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;</div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;WARN_IF_DOC_ERROR      = YES</div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;</div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="preprocessor"># This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="preprocessor"># are documented, but have no documentation for their parameters or return</span></div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="preprocessor"># value. If set to NO, doxygen will only warn about wrong or incomplete</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="preprocessor"># parameter documentation, but not about the absence of documentation.</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;</div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;WARN_NO_PARAMDOC       = NO</div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="preprocessor"># The WARN_FORMAT tag determines the format of the warning messages that doxygen</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="preprocessor"># can produce. The string should contain the $file, $line, and $text tags, which</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="preprocessor"># will be replaced by the file and line number from which the warning originated</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="preprocessor"># and the warning text. Optionally the format may contain $version, which will</span></div>
+<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="preprocessor"># be replaced by the version of the file (if it could be obtained via</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="preprocessor"># FILE_VERSION_FILTER)</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="preprocessor"># The default value is: $file:$line: $text.</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;WARN_FORMAT            = <span class="stringliteral">&quot;$file:$line: $text&quot;</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;</div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="preprocessor"># The WARN_LOGFILE tag can be used to specify a file to which warning and error</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="preprocessor"># messages should be written. If left blank the output is written to standard</span></div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor"># error (stderr).</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;</div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;WARN_LOGFILE           = </div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;</div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="preprocessor"># Configuration options related to the input files</span></div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;<span class="preprocessor">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;</div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="preprocessor"># The INPUT tag is used to specify the files and/or directories that contain</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="preprocessor"># documented source files. You may enter file names like myfile.cpp or</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="preprocessor"># directories like /usr/src/myproject. Separate the files or directories with</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="preprocessor"># spaces. See also FILE_PATTERNS and EXTENSION_MAPPING</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="preprocessor"># Note: If this tag is empty the current directory is searched.</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;</div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;INPUT                  = ../<a class="code" href="a00141.html">glm</a> \</div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;                         .</div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;# This tag can be used to specify the character encoding of the source files</div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="preprocessor"># that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses</span></div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="preprocessor"># libiconv (or the iconv built into libc) for the transcoding. See the libiconv</span></div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="preprocessor"># documentation (see: http://www.gnu.org/software/libiconv) for the list of</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;<span class="preprocessor"># possible encodings.</span></div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;<span class="preprocessor"># The default value is: UTF-8.</span></div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;</div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;INPUT_ENCODING         = UTF-8</div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div>
+<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="preprocessor"># If the value of the INPUT tag contains directories, you can use the</span></div>
+<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;<span class="preprocessor"># FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and</span></div>
+<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor"># *.h) to filter out the source-files in the directories.</span></div>
+<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor"># Note that for custom extensions or not directly supported extensions you also</span></div>
+<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;<span class="preprocessor"># need to set EXTENSION_MAPPING for the extension otherwise the files are not</span></div>
+<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;<span class="preprocessor"># read by doxygen.</span></div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;<span class="preprocessor"># If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,</span></div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;<span class="preprocessor"># *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,</span></div>
+<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<span class="preprocessor"># *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,</span></div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;<span class="preprocessor"># *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd,</span></div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;<span class="preprocessor"># *.vhdl, *.ucf, *.qsf, *.as and *.js.</span></div>
+<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;FILE_PATTERNS          = *.hpp \</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;                         *.doxy</div>
+<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;<span class="preprocessor"># The RECURSIVE tag can be used to specify whether or not subdirectories should</span></div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;<span class="preprocessor"># be searched for input files as well.</span></div>
+<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;RECURSIVE              = YES</div>
+<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;<span class="preprocessor"># The EXCLUDE tag can be used to specify files and/or directories that should be</span></div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;<span class="preprocessor"># excluded from the INPUT source files. This way you can easily exclude a</span></div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;<span class="preprocessor"># subdirectory from a directory tree whose root is specified with the INPUT tag.</span></div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;<span class="preprocessor"># Note that relative paths are relative to the directory from which doxygen is</span></div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;<span class="preprocessor"># run.</span></div>
+<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;EXCLUDE                = </div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;<span class="preprocessor"># The EXCLUDE_SYMLINKS tag can be used to select whether or not files or</span></div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;<span class="preprocessor"># directories that are symbolic links (a Unix file system feature) are excluded</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;<span class="preprocessor"># from the input.</span></div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;<span class="preprocessor"># The default value is: NO.</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;EXCLUDE_SYMLINKS       = NO</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;<span class="preprocessor"># If the value of the INPUT tag contains directories, you can use the</span></div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;<span class="preprocessor"># EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude</span></div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;<span class="preprocessor"># certain files from those directories.</span></div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;<span class="preprocessor">#</span></div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;<span class="preprocessor"># Note that the wildcards are matched against the file with absolute path, so to</span></div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;<span class="preprocessor"># exclude all test directories for example use the pattern */test</span><span class="comment">/*</span></div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;<span class="comment">EXCLUDE_PATTERNS       = </span></div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;<span class="comment"># The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names</span></div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;<span class="comment"># (namespaces, classes, functions, etc.) that should be excluded from the</span></div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;<span class="comment"># output. The symbol name can be a fully qualified name, a word, or if the</span></div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;<span class="comment"># wildcard * is used, a substring. Examples: ANamespace, AClass,</span></div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;<span class="comment"># AClass::ANamespace, ANamespace::*Test</span></div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;<span class="comment"># Note that the wildcards are matched against the file with absolute path, so to</span></div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;<span class="comment"># exclude all test directories use the pattern */</span><span class="preprocessor">test</span><span class="comment">/*</span></div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="comment">EXCLUDE_SYMBOLS        = </span></div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;<span class="comment"># The EXAMPLE_PATH tag can be used to specify one or more files or directories</span></div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;<span class="comment"># that contain example code fragments that are included (see the \include</span></div>
+<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;<span class="comment"># command).</span></div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;<span class="comment">EXAMPLE_PATH           = </span></div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;<span class="comment"># If the value of the EXAMPLE_PATH tag contains directories, you can use the</span></div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;<span class="comment"># EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and</span></div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;<span class="comment"># *.h) to filter out the source-files in the directories. If left blank all</span></div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;<span class="comment"># files are included.</span></div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="comment">EXAMPLE_PATTERNS       = *</span></div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;<span class="comment"># If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be</span></div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;<span class="comment"># searched for input files to be used with the \include or \dontinclude commands</span></div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;<span class="comment"># irrespective of the value of the RECURSIVE tag.</span></div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;<span class="comment">EXAMPLE_RECURSIVE      = NO</span></div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;<span class="comment"># The IMAGE_PATH tag can be used to specify one or more files or directories</span></div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;<span class="comment"># that contain images that are to be included in the documentation (see the</span></div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;<span class="comment"># \image command).</span></div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;<span class="comment">IMAGE_PATH             = </span></div>
+<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;<span class="comment"># The INPUT_FILTER tag can be used to specify a program that doxygen should</span></div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;<span class="comment"># invoke to filter for each input file. Doxygen will invoke the filter program</span></div>
+<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;<span class="comment"># by executing (via popen()) the command:</span></div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="comment"># &lt;filter&gt; &lt;input-file&gt;</span></div>
+<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;<span class="comment"># where &lt;filter&gt; is the value of the INPUT_FILTER tag, and &lt;input-file&gt; is the</span></div>
+<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="comment"># name of an input file. Doxygen will then use the output that the filter</span></div>
+<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;<span class="comment"># program writes to standard output. If FILTER_PATTERNS is specified, this tag</span></div>
+<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;<span class="comment"># will be ignored.</span></div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;<span class="comment"># Note that the filter must not add or remove lines; it is applied before the</span></div>
+<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;<span class="comment"># code is scanned, but not when the output code is generated. If lines are added</span></div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;<span class="comment"># or removed, the anchors will not be placed correctly.</span></div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<span class="comment">INPUT_FILTER           = </span></div>
+<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;<span class="comment"># The FILTER_PATTERNS tag can be used to specify filters on a per file pattern</span></div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;<span class="comment"># basis. Doxygen will compare the file name with each pattern and apply the</span></div>
+<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;<span class="comment"># filter if there is a match. The filters are a list of the form: pattern=filter</span></div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;<span class="comment"># (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how</span></div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;<span class="comment"># filters are used. If the FILTER_PATTERNS tag is empty or if none of the</span></div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;<span class="comment"># patterns match the file name, INPUT_FILTER is applied.</span></div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="comment">FILTER_PATTERNS        = </span></div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;<span class="comment"># If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using</span></div>
+<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;<span class="comment"># INPUT_FILTER) will also be used to filter the input files that are used for</span></div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;<span class="comment"># producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).</span></div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;<span class="comment">FILTER_SOURCE_FILES    = NO</span></div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;<span class="comment"># The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file</span></div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;<span class="comment"># pattern. A pattern will override the setting for FILTER_PATTERN (if any) and</span></div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;<span class="comment"># it is also possible to disable source filtering for a specific pattern using</span></div>
+<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;<span class="comment"># *.ext= (so without naming a filter).</span></div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;<span class="comment"># This tag requires that the tag FILTER_SOURCE_FILES is set to YES.</span></div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;<span class="comment">FILTER_SOURCE_PATTERNS = </span></div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;<span class="comment"># If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that</span></div>
+<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;<span class="comment"># is part of the input, its contents will be placed on the main page</span></div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;<span class="comment"># (index.html). This can be useful if you have a project on for instance GitHub</span></div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;<span class="comment"># and want to reuse the introduction page also for the doxygen output.</span></div>
+<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;<span class="comment">USE_MDFILE_AS_MAINPAGE = </span></div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;<span class="comment"># Configuration options related to source browsing</span></div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;<span class="comment"># If the SOURCE_BROWSER tag is set to YES then a list of source files will be</span></div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;<span class="comment"># generated. Documented entities will be cross-referenced with these sources.</span></div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;<span class="comment"># Note: To get rid of all source code in the generated output, make sure that</span></div>
+<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;<span class="comment"># also VERBATIM_HEADERS is set to NO.</span></div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;<span class="comment">SOURCE_BROWSER         = YES</span></div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;<span class="comment"># Setting the INLINE_SOURCES tag to YES will include the body of functions,</span></div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;<span class="comment"># classes and enums directly into the documentation.</span></div>
+<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;<span class="comment">INLINE_SOURCES         = NO</span></div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;<span class="comment"># Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any</span></div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;<span class="comment"># special comment blocks from generated source code fragments. Normal C, C++ and</span></div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;<span class="comment"># Fortran comments will always remain visible.</span></div>
+<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;<span class="comment">STRIP_CODE_COMMENTS    = YES</span></div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;<span class="comment"># If the REFERENCED_BY_RELATION tag is set to YES then for each documented</span></div>
+<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;<span class="comment"># function all documented functions referencing it will be listed.</span></div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;<span class="comment">REFERENCED_BY_RELATION = YES</span></div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;<span class="comment"># If the REFERENCES_RELATION tag is set to YES then for each documented function</span></div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;<span class="comment"># all documented entities called/used by that function will be listed.</span></div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;<span class="comment">REFERENCES_RELATION    = YES</span></div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;<span class="comment"># If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set</span></div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;<span class="comment"># to YES then the hyperlinks from functions in REFERENCES_RELATION and</span></div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;<span class="comment"># REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will</span></div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;<span class="comment"># link to the documentation.</span></div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;<span class="comment">REFERENCES_LINK_SOURCE = YES</span></div>
+<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;<span class="comment"># If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the</span></div>
+<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;<span class="comment"># source code will show a tooltip with additional information such as prototype,</span></div>
+<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;<span class="comment"># brief description and links to the definition and documentation. Since this</span></div>
+<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;<span class="comment"># will make the HTML file larger and loading of large files a bit slower, you</span></div>
+<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;<span class="comment"># can opt to disable this feature.</span></div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;<span class="comment"># This tag requires that the tag SOURCE_BROWSER is set to YES.</span></div>
+<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;<span class="comment">SOURCE_TOOLTIPS        = YES</span></div>
+<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;<span class="comment"># If the USE_HTAGS tag is set to YES then the references to source code will</span></div>
+<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;<span class="comment"># point to the HTML generated by the htags(1) tool instead of doxygen built-in</span></div>
+<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;<span class="comment"># source browser. The htags tool is part of GNU&#39;s global source tagging system</span></div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;<span class="comment"># (see http://www.gnu.org/software/global/global.html). You will need version</span></div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;<span class="comment"># 4.8.6 or higher.</span></div>
+<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;<span class="comment"># To use it do the following:</span></div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;<span class="comment"># - Install the latest version of global</span></div>
+<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;<span class="comment"># - Enable SOURCE_BROWSER and USE_HTAGS in the config file</span></div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;<span class="comment"># - Make sure the INPUT points to the root of the source tree</span></div>
+<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;<span class="comment"># - Run doxygen as normal</span></div>
+<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;<span class="comment"># Doxygen will invoke htags (and that will in turn invoke gtags), so these</span></div>
+<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;<span class="comment"># tools must be available from the command line (i.e. in the search path).</span></div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;<span class="comment"># The result: instead of the source browser generated by doxygen, the links to</span></div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;<span class="comment"># source code will now point to the output of htags.</span></div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;<span class="comment"># This tag requires that the tag SOURCE_BROWSER is set to YES.</span></div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;<span class="comment">USE_HTAGS              = NO</span></div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="comment"># If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a</span></div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<span class="comment"># verbatim copy of the header file for each class for which an include is</span></div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;<span class="comment"># specified. Set to NO to disable this.</span></div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;<span class="comment"># See also: Section \class.</span></div>
+<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;<span class="comment">VERBATIM_HEADERS       = YES</span></div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;<span class="comment"># Configuration options related to the alphabetical class index</span></div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;<span class="comment"># If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all</span></div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;<span class="comment"># compounds will be generated. Enable this if the project contains a lot of</span></div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="comment"># classes, structs, unions or interfaces.</span></div>
+<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;<span class="comment">ALPHABETICAL_INDEX     = NO</span></div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;<span class="comment"># The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in</span></div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;<span class="comment"># which the alphabetical index list will be split.</span></div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;<span class="comment"># Minimum value: 1, maximum value: 20, default value: 5.</span></div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;<span class="comment"># This tag requires that the tag ALPHABETICAL_INDEX is set to YES.</span></div>
+<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;<span class="comment">COLS_IN_ALPHA_INDEX    = 5</span></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;<span class="comment"># In case all classes in a project start with a common prefix, all classes will</span></div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;<span class="comment"># be put under the same header in the alphabetical index. The IGNORE_PREFIX tag</span></div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;<span class="comment"># can be used to specify a prefix (or a list of prefixes) that should be ignored</span></div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;<span class="comment"># while generating the index headers.</span></div>
+<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;<span class="comment"># This tag requires that the tag ALPHABETICAL_INDEX is set to YES.</span></div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="comment">IGNORE_PREFIX          = </span></div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;<span class="comment"># Configuration options related to the HTML output</span></div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;<span class="comment"># If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output</span></div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="comment">GENERATE_HTML          = YES</span></div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;<span class="comment"># The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a</span></div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="comment"># relative path is entered the value of OUTPUT_DIRECTORY will be put in front of</span></div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;<span class="comment"># it.</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;<span class="comment"># The default directory is: html.</span></div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;<span class="comment">HTML_OUTPUT            = html</span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;<span class="comment"># The HTML_FILE_EXTENSION tag can be used to specify the file extension for each</span></div>
+<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;<span class="comment"># generated HTML page (for example: .htm, .php, .asp).</span></div>
+<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;<span class="comment"># The default value is: .html.</span></div>
+<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;<span class="comment">HTML_FILE_EXTENSION    = .html</span></div>
+<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;<span class="comment"># The HTML_HEADER tag can be used to specify a user-defined HTML header file for</span></div>
+<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;<span class="comment"># each generated HTML page. If the tag is left blank doxygen will generate a</span></div>
+<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;<span class="comment"># standard header.</span></div>
+<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="comment"># To get valid HTML the header file that includes any scripts and style sheets</span></div>
+<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;<span class="comment"># that doxygen needs, which is dependent on the configuration options used (e.g.</span></div>
+<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;<span class="comment"># the setting GENERATE_TREEVIEW). It is highly recommended to start with a</span></div>
+<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="comment"># default header using</span></div>
+<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;<span class="comment"># doxygen -w html new_header.html new_footer.html new_stylesheet.css</span></div>
+<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;<span class="comment"># YourConfigFile</span></div>
+<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="comment"># and then modify the file new_header.html. See also section &quot;Doxygen usage&quot;</span></div>
+<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;<span class="comment"># for information on how to generate the default header that doxygen normally</span></div>
+<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;<span class="comment"># uses.</span></div>
+<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;<span class="comment"># Note: The header is subject to change so you typically have to regenerate the</span></div>
+<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;<span class="comment"># default header when upgrading to a newer version of doxygen. For a description</span></div>
+<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;<span class="comment"># of the possible markers and block names see the documentation.</span></div>
+<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="comment">HTML_HEADER            = </span></div>
+<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;<span class="comment"># The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each</span></div>
+<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="comment"># generated HTML page. If the tag is left blank doxygen will generate a standard</span></div>
+<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;<span class="comment"># footer. See HTML_HEADER for more information on how to generate a default</span></div>
+<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="comment"># footer and what special commands can be used inside the footer. See also</span></div>
+<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;<span class="comment"># section &quot;Doxygen usage&quot; for information on how to generate the default footer</span></div>
+<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;<span class="comment"># that doxygen normally uses.</span></div>
+<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;<span class="comment">HTML_FOOTER            = </span></div>
+<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;<span class="comment"># The HTML_STYLESHEET tag can be used to specify a user-defined cascading style</span></div>
+<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;<span class="comment"># sheet that is used by each HTML page. It can be used to fine-tune the look of</span></div>
+<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;<span class="comment"># the HTML output. If left blank doxygen will generate a default style sheet.</span></div>
+<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;<span class="comment"># See also section &quot;Doxygen usage&quot; for information on how to generate the style</span></div>
+<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;<span class="comment"># sheet that doxygen normally uses.</span></div>
+<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;<span class="comment"># Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as</span></div>
+<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;<span class="comment"># it is more robust and this tag (HTML_STYLESHEET) will in the future become</span></div>
+<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;<span class="comment"># obsolete.</span></div>
+<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;<span class="comment">HTML_STYLESHEET        = </span></div>
+<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;<span class="comment"># The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined</span></div>
+<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;<span class="comment"># cascading style sheets that are included after the standard style sheets</span></div>
+<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;<span class="comment"># created by doxygen. Using this option one can overrule certain style aspects.</span></div>
+<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;<span class="comment"># This is preferred over using HTML_STYLESHEET since it does not replace the</span></div>
+<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;<span class="comment"># standard style sheet and is therefore more robust against future updates.</span></div>
+<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;<span class="comment"># Doxygen will copy the style sheet files to the output directory.</span></div>
+<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;<span class="comment"># Note: The order of the extra style sheet files is of importance (e.g. the last</span></div>
+<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;<span class="comment"># style sheet in the list overrules the setting of the previous ones in the</span></div>
+<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;<span class="comment"># list). For an example see the documentation.</span></div>
+<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;<span class="comment">HTML_EXTRA_STYLESHEET  = </span></div>
+<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;<span class="comment"># The HTML_EXTRA_FILES tag can be used to specify one or more extra images or</span></div>
+<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;<span class="comment"># other source files which should be copied to the HTML output directory. Note</span></div>
+<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;<span class="comment"># that these files will be copied to the base HTML output directory. Use the</span></div>
+<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;<span class="comment"># $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these</span></div>
+<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;<span class="comment"># files. In the HTML_STYLESHEET file, use the file name only. Also note that the</span></div>
+<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;<span class="comment"># files will be copied as-is; there are no commands or markers available.</span></div>
+<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;<span class="comment">HTML_EXTRA_FILES       = </span></div>
+<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;<span class="comment"># The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen</span></div>
+<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;<span class="comment"># will adjust the colors in the style sheet and background images according to</span></div>
+<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;<span class="comment"># this color. Hue is specified as an angle on a colorwheel, see</span></div>
+<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;<span class="comment"># http://en.wikipedia.org/wiki/Hue for more information. For instance the value</span></div>
+<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;<span class="comment"># 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300</span></div>
+<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="comment"># purple, and 360 is red again.</span></div>
+<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 359, default value: 220.</span></div>
+<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;<span class="comment">HTML_COLORSTYLE_HUE    = 220</span></div>
+<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;<span class="comment"># The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors</span></div>
+<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;<span class="comment"># in the HTML output. For a value of 0 the output will use grayscales only. A</span></div>
+<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;<span class="comment"># value of 255 will produce the most vivid colors.</span></div>
+<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 255, default value: 100.</span></div>
+<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;<span class="comment">HTML_COLORSTYLE_SAT    = 100</span></div>
+<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;<span class="comment"># The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the</span></div>
+<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;<span class="comment"># luminance component of the colors in the HTML output. Values below 100</span></div>
+<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;<span class="comment"># gradually make the output lighter, whereas values above 100 make the output</span></div>
+<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;<span class="comment"># darker. The value divided by 100 is the actual gamma applied, so 80 represents</span></div>
+<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;<span class="comment"># a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not</span></div>
+<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;<span class="comment"># change the gamma.</span></div>
+<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;<span class="comment"># Minimum value: 40, maximum value: 240, default value: 80.</span></div>
+<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;<span class="comment">HTML_COLORSTYLE_GAMMA  = 80</span></div>
+<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;<span class="comment"># If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML</span></div>
+<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;<span class="comment"># page will contain the date and time when the page was generated. Setting this</span></div>
+<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;<span class="comment"># to YES can help to show when doxygen was last run and thus if the</span></div>
+<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;<span class="comment"># documentation is up to date.</span></div>
+<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;<span class="comment">HTML_TIMESTAMP         = NO</span></div>
+<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;<span class="comment"># If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML</span></div>
+<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;<span class="comment"># documentation will contain sections that can be hidden and shown after the</span></div>
+<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;<span class="comment"># page has loaded.</span></div>
+<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;<span class="comment">HTML_DYNAMIC_SECTIONS  = NO</span></div>
+<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;<span class="comment"># With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries</span></div>
+<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;<span class="comment"># shown in the various tree structured indices initially; the user can expand</span></div>
+<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;<span class="comment"># and collapse entries dynamically later on. Doxygen will expand the tree to</span></div>
+<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;<span class="comment"># such a level that at most the specified number of entries are visible (unless</span></div>
+<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;<span class="comment"># a fully collapsed tree already exceeds this amount). So setting the number of</span></div>
+<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;<span class="comment"># entries 1 will produce a full collapsed tree by default. 0 is a special value</span></div>
+<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;<span class="comment"># representing an infinite number of entries and will result in a full expanded</span></div>
+<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;<span class="comment"># tree by default.</span></div>
+<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 9999, default value: 100.</span></div>
+<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;<span class="comment">HTML_INDEX_NUM_ENTRIES = 100</span></div>
+<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;<span class="comment"># If the GENERATE_DOCSET tag is set to YES, additional index files will be</span></div>
+<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;<span class="comment"># generated that can be used as input for Apple&#39;s Xcode 3 integrated development</span></div>
+<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;<span class="comment"># environment (see: http://developer.apple.com/tools/xcode/), introduced with</span></div>
+<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;<span class="comment"># OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a</span></div>
+<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;<span class="comment"># Makefile in the HTML output directory. Running make will produce the docset in</span></div>
+<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;<span class="comment"># that directory and running make install will install the docset in</span></div>
+<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;<span class="comment"># ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at</span></div>
+<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;<span class="comment"># startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html</span></div>
+<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;<span class="comment"># for more information.</span></div>
+<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;<span class="comment">GENERATE_DOCSET        = NO</span></div>
+<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;<span class="comment"># This tag determines the name of the docset feed. A documentation feed provides</span></div>
+<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;<span class="comment"># an umbrella under which multiple documentation sets from a single provider</span></div>
+<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;<span class="comment"># (such as a company or product suite) can be grouped.</span></div>
+<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;<span class="comment"># The default value is: Doxygen generated docs.</span></div>
+<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_DOCSET is set to YES.</span></div>
+<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;<span class="comment">DOCSET_FEEDNAME        = &quot;Doxygen generated docs&quot;</span></div>
+<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;<span class="comment"># This tag specifies a string that should uniquely identify the documentation</span></div>
+<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;<span class="comment"># set bundle. This should be a reverse domain-name style string, e.g.</span></div>
+<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;<span class="comment"># com.mycompany.MyDocSet. Doxygen will append .docset to the name.</span></div>
+<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;<span class="comment"># The default value is: org.doxygen.Project.</span></div>
+<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_DOCSET is set to YES.</span></div>
+<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;<span class="comment">DOCSET_BUNDLE_ID       = org.doxygen.Project</span></div>
+<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;<span class="comment"># The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify</span></div>
+<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;<span class="comment"># the documentation publisher. This should be a reverse domain-name style</span></div>
+<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;<span class="comment"># string, e.g. com.mycompany.MyDocSet.documentation.</span></div>
+<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;<span class="comment"># The default value is: org.doxygen.Publisher.</span></div>
+<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_DOCSET is set to YES.</span></div>
+<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;<span class="comment">DOCSET_PUBLISHER_ID    = org.doxygen.Publisher</span></div>
+<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;<span class="comment"># The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.</span></div>
+<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;<span class="comment"># The default value is: Publisher.</span></div>
+<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_DOCSET is set to YES.</span></div>
+<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;<span class="comment">DOCSET_PUBLISHER_NAME  = Publisher</span></div>
+<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;<span class="comment"># If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three</span></div>
+<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;<span class="comment"># additional HTML index files: index.hhp, index.hhc, and index.hhk. The</span></div>
+<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;<span class="comment"># index.hhp is a project file that can be read by Microsoft&#39;s HTML Help Workshop</span></div>
+<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;<span class="comment"># (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on</span></div>
+<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;<span class="comment"># Windows.</span></div>
+<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;<span class="comment"># The HTML Help Workshop contains a compiler that can convert all HTML output</span></div>
+<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;<span class="comment"># generated by doxygen into a single compiled HTML file (.chm). Compiled HTML</span></div>
+<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;<span class="comment"># files are now used as the Windows 98 help format, and will replace the old</span></div>
+<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;<span class="comment"># Windows help format (.hlp) on all Windows platforms in the future. Compressed</span></div>
+<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;<span class="comment"># HTML files also contain an index, a table of contents, and you can search for</span></div>
+<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;<span class="comment"># words in the documentation. The HTML workshop also contains a viewer for</span></div>
+<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;<span class="comment"># compressed HTML files.</span></div>
+<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;<span class="comment">GENERATE_HTMLHELP      = NO</span></div>
+<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;<span class="comment"># The CHM_FILE tag can be used to specify the file name of the resulting .chm</span></div>
+<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;<span class="comment"># file. You can add a path in front of the file if the result should not be</span></div>
+<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;<span class="comment"># written to the html output directory.</span></div>
+<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTMLHELP is set to YES.</span></div>
+<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;<span class="comment">CHM_FILE               = </span></div>
+<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;<span class="comment"># The HHC_LOCATION tag can be used to specify the location (absolute path</span></div>
+<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;<span class="comment"># including file name) of the HTML help compiler (hhc.exe). If non-empty,</span></div>
+<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;<span class="comment"># doxygen will try to run the HTML help compiler on the generated index.hhp.</span></div>
+<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;<span class="comment"># The file has to be specified with full path.</span></div>
+<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTMLHELP is set to YES.</span></div>
+<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;<span class="comment">HHC_LOCATION           = </span></div>
+<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;<span class="comment"># The GENERATE_CHI flag controls if a separate .chi index file is generated</span></div>
+<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;<span class="comment"># (YES) or that it should be included in the master .chm file (NO).</span></div>
+<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTMLHELP is set to YES.</span></div>
+<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;<span class="comment">GENERATE_CHI           = NO</span></div>
+<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;<span class="comment"># The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)</span></div>
+<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;<span class="comment"># and project file content.</span></div>
+<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTMLHELP is set to YES.</span></div>
+<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;<span class="comment">CHM_INDEX_ENCODING     = </span></div>
+<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;<span class="comment"># The BINARY_TOC flag controls whether a binary table of contents is generated</span></div>
+<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;<span class="comment"># (YES) or a normal table of contents (NO) in the .chm file. Furthermore it</span></div>
+<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;<span class="comment"># enables the Previous and Next buttons.</span></div>
+<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTMLHELP is set to YES.</span></div>
+<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;<span class="comment">BINARY_TOC             = NO</span></div>
+<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;<span class="comment"># The TOC_EXPAND flag can be set to YES to add extra items for group members to</span></div>
+<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;<span class="comment"># the table of contents of the HTML help documentation and to the tree view.</span></div>
+<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTMLHELP is set to YES.</span></div>
+<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;<span class="comment">TOC_EXPAND             = NO</span></div>
+<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;<span class="comment"># If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and</span></div>
+<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;<span class="comment"># QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that</span></div>
+<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;<span class="comment"># can be used as input for Qt&#39;s qhelpgenerator to generate a Qt Compressed Help</span></div>
+<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;<span class="comment"># (.qch) of the generated HTML documentation.</span></div>
+<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<span class="comment">GENERATE_QHP           = NO</span></div>
+<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;<span class="comment"># If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify</span></div>
+<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;<span class="comment"># the file name of the resulting .qch file. The path specified is relative to</span></div>
+<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;<span class="comment"># the HTML output folder.</span></div>
+<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;<span class="comment">QCH_FILE               = </span></div>
+<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;<span class="comment"># The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help</span></div>
+<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;<span class="comment"># Project output. For more information please see Qt Help Project / Namespace</span></div>
+<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;<span class="comment"># (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).</span></div>
+<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;<span class="comment"># The default value is: org.doxygen.Project.</span></div>
+<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;<span class="comment">QHP_NAMESPACE          = org.doxygen.Project</span></div>
+<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;<span class="comment"># The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt</span></div>
+<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;<span class="comment"># Help Project output. For more information please see Qt Help Project / Virtual</span></div>
+<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;<span class="comment"># Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-</span></div>
+<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;<span class="comment"># folders).</span></div>
+<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;<span class="comment"># The default value is: doc.</span></div>
+<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;<span class="comment">QHP_VIRTUAL_FOLDER     = doc</span></div>
+<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;<span class="comment"># If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom</span></div>
+<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;<span class="comment"># filter to add. For more information please see Qt Help Project / Custom</span></div>
+<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;<span class="comment"># Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-</span></div>
+<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;<span class="comment"># filters).</span></div>
+<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;<span class="comment">QHP_CUST_FILTER_NAME   = </span></div>
+<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;<span class="comment"># The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the</span></div>
+<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;<span class="comment"># custom filter to add. For more information please see Qt Help Project / Custom</span></div>
+<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;<span class="comment"># Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-</span></div>
+<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;<span class="comment"># filters).</span></div>
+<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;<span class="comment">QHP_CUST_FILTER_ATTRS  = </span></div>
+<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;<span class="comment"># The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this</span></div>
+<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;<span class="comment"># project&#39;s filter section matches. Qt Help Project / Filter Attributes (see:</span></div>
+<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;<span class="comment"># http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).</span></div>
+<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;<span class="comment">QHP_SECT_FILTER_ATTRS  = </span></div>
+<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;<span class="comment"># The QHG_LOCATION tag can be used to specify the location of Qt&#39;s</span></div>
+<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;<span class="comment"># qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the</span></div>
+<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;<span class="comment"># generated .qhp file.</span></div>
+<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_QHP is set to YES.</span></div>
+<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;<span class="comment">QHG_LOCATION           = </span></div>
+<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;<span class="comment"># If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be</span></div>
+<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;<span class="comment"># generated, together with the HTML files, they form an Eclipse help plugin. To</span></div>
+<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;<span class="comment"># install this plugin and make it available under the help contents menu in</span></div>
+<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;<span class="comment"># Eclipse, the contents of the directory containing the HTML and XML files needs</span></div>
+<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;<span class="comment"># to be copied into the plugins directory of eclipse. The name of the directory</span></div>
+<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;<span class="comment"># within the plugins directory should be the same as the ECLIPSE_DOC_ID value.</span></div>
+<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;<span class="comment"># After copying Eclipse needs to be restarted before the help appears.</span></div>
+<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;<span class="comment">GENERATE_ECLIPSEHELP   = NO</span></div>
+<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;<span class="comment"># A unique identifier for the Eclipse help plugin. When installing the plugin</span></div>
+<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;<span class="comment"># the directory name containing the HTML and XML files should also have this</span></div>
+<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;<span class="comment"># name. Each documentation set should have its own identifier.</span></div>
+<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;<span class="comment"># The default value is: org.doxygen.Project.</span></div>
+<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.</span></div>
+<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;<span class="comment">ECLIPSE_DOC_ID         = org.doxygen.Project</span></div>
+<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;<span class="comment"># If you want full control over the layout of the generated HTML pages it might</span></div>
+<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;<span class="comment"># be necessary to disable the index and replace it with your own. The</span></div>
+<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;<span class="comment"># DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top</span></div>
+<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;<span class="comment"># of each HTML page. A value of NO enables the index and the value YES disables</span></div>
+<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;<span class="comment"># it. Since the tabs in the index contain the same information as the navigation</span></div>
+<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;<span class="comment"># tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.</span></div>
+<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;<span class="comment">DISABLE_INDEX          = NO</span></div>
+<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;<span class="comment"># The GENERATE_TREEVIEW tag is used to specify whether a tree-like index</span></div>
+<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;<span class="comment"># structure should be generated to display hierarchical information. If the tag</span></div>
+<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;<span class="comment"># value is set to YES, a side panel will be generated containing a tree-like</span></div>
+<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;<span class="comment"># index structure (just like the one that is generated for HTML Help). For this</span></div>
+<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;<span class="comment"># to work a browser that supports JavaScript, DHTML, CSS and frames is required</span></div>
+<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;<span class="comment"># (i.e. any modern browser). Windows users are probably better off using the</span></div>
+<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="comment"># HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can</span></div>
+<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;<span class="comment"># further fine-tune the look of the index. As an example, the default style</span></div>
+<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;<span class="comment"># sheet generated by doxygen has an example that shows how to put an image at</span></div>
+<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;<span class="comment"># the root of the tree instead of the PROJECT_NAME. Since the tree basically has</span></div>
+<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;<span class="comment"># the same information as the tab index, you could consider setting</span></div>
+<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;<span class="comment"># DISABLE_INDEX to YES when enabling this option.</span></div>
+<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;<span class="comment">GENERATE_TREEVIEW      = NO</span></div>
+<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;<span class="comment"># The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that</span></div>
+<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;<span class="comment"># doxygen will group on one line in the generated HTML documentation.</span></div>
+<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;<span class="comment"># Note that a value of 0 will completely suppress the enum values from appearing</span></div>
+<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;<span class="comment"># in the overview section.</span></div>
+<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 20, default value: 4.</span></div>
+<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;<span class="comment">ENUM_VALUES_PER_LINE   = 4</span></div>
+<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;<span class="comment"># If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used</span></div>
+<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;<span class="comment"># to set the initial width (in pixels) of the frame in which the tree is shown.</span></div>
+<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 1500, default value: 250.</span></div>
+<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;<span class="comment">TREEVIEW_WIDTH         = 250</span></div>
+<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;<span class="comment"># If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to</span></div>
+<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;<span class="comment"># external symbols imported via tag files in a separate window.</span></div>
+<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;<span class="comment">EXT_LINKS_IN_WINDOW    = NO</span></div>
+<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;<span class="comment"># Use this tag to change the font size of LaTeX formulas included as images in</span></div>
+<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;<span class="comment"># the HTML documentation. When you change the font size after a successful</span></div>
+<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;<span class="comment"># doxygen run you need to manually remove any form_*.png images from the HTML</span></div>
+<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;<span class="comment"># output directory to force them to be regenerated.</span></div>
+<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;<span class="comment"># Minimum value: 8, maximum value: 50, default value: 10.</span></div>
+<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;<span class="comment">FORMULA_FONTSIZE       = 10</span></div>
+<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;<span class="comment"># Use the FORMULA_TRANPARENT tag to determine whether or not the images</span></div>
+<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;<span class="comment"># generated for formulas are transparent PNGs. Transparent PNGs are not</span></div>
+<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;<span class="comment"># supported properly for IE 6.0, but are supported on all modern browsers.</span></div>
+<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;<span class="comment"># Note that when changing this option you need to delete any form_*.png files in</span></div>
+<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;<span class="comment"># the HTML output directory before the changes have effect.</span></div>
+<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;<span class="comment">FORMULA_TRANSPARENT    = YES</span></div>
+<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;<span class="comment"># Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see</span></div>
+<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;<span class="comment"># http://www.mathjax.org) which uses client side Javascript for the rendering</span></div>
+<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;<span class="comment"># instead of using pre-rendered bitmaps. Use this if you do not have LaTeX</span></div>
+<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;<span class="comment"># installed or if you want to formulas look prettier in the HTML output. When</span></div>
+<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;<span class="comment"># enabled you may also need to install MathJax separately and configure the path</span></div>
+<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;<span class="comment"># to it using the MATHJAX_RELPATH option.</span></div>
+<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;<span class="comment">USE_MATHJAX            = NO</span></div>
+<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;<span class="comment"># When MathJax is enabled you can set the default output format to be used for</span></div>
+<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;<span class="comment"># the MathJax output. See the MathJax site (see:</span></div>
+<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;<span class="comment"># http://docs.mathjax.org/en/latest/output.html) for more details.</span></div>
+<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;<span class="comment"># Possible values are: HTML-CSS (which is slower, but has the best</span></div>
+<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;<span class="comment"># compatibility), NativeMML (i.e. MathML) and SVG.</span></div>
+<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;<span class="comment"># The default value is: HTML-CSS.</span></div>
+<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;<span class="comment"># This tag requires that the tag USE_MATHJAX is set to YES.</span></div>
+<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;<span class="comment">MATHJAX_FORMAT         = HTML-CSS</span></div>
+<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;<span class="comment"># When MathJax is enabled you need to specify the location relative to the HTML</span></div>
+<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;<span class="comment"># output directory using the MATHJAX_RELPATH option. The destination directory</span></div>
+<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;<span class="comment"># should contain the MathJax.js script. For instance, if the mathjax directory</span></div>
+<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;<span class="comment"># is located at the same level as the HTML output directory, then</span></div>
+<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;<span class="comment"># MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax</span></div>
+<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;<span class="comment"># Content Delivery Network so you can quickly see the result without installing</span></div>
+<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;<span class="comment"># MathJax. However, it is strongly recommended to install a local copy of</span></div>
+<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;<span class="comment"># MathJax from http://www.mathjax.org before deployment.</span></div>
+<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;<span class="comment"># The default value is: http://cdn.mathjax.org/mathjax/latest.</span></div>
+<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;<span class="comment"># This tag requires that the tag USE_MATHJAX is set to YES.</span></div>
+<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;<span class="comment">MATHJAX_RELPATH        = http://www.mathjax.org/mathjax</span></div>
+<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;<span class="comment"># The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax</span></div>
+<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;<span class="comment"># extension names that should be enabled during MathJax rendering. For example</span></div>
+<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;<span class="comment"># MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols</span></div>
+<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;<span class="comment"># This tag requires that the tag USE_MATHJAX is set to YES.</span></div>
+<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;<span class="comment">MATHJAX_EXTENSIONS     = </span></div>
+<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;<span class="comment"># The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces</span></div>
+<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;<span class="comment"># of code that will be used on startup of the MathJax code. See the MathJax site</span></div>
+<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;<span class="comment"># (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an</span></div>
+<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;<span class="comment"># example see the documentation.</span></div>
+<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;<span class="comment"># This tag requires that the tag USE_MATHJAX is set to YES.</span></div>
+<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;<span class="comment">MATHJAX_CODEFILE       = </span></div>
+<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;<span class="comment"># When the SEARCHENGINE tag is enabled doxygen will generate a search box for</span></div>
+<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;<span class="comment"># the HTML output. The underlying search engine uses javascript and DHTML and</span></div>
+<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;<span class="comment"># should work on any modern browser. Note that when using HTML help</span></div>
+<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;<span class="comment"># (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)</span></div>
+<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;<span class="comment"># there is already a search function so this one should typically be disabled.</span></div>
+<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160;<span class="comment"># For large projects the javascript based search engine can be slow, then</span></div>
+<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;<span class="comment"># enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to</span></div>
+<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;<span class="comment"># search using the keyboard; to jump to the search box use &lt;access key&gt; + S</span></div>
+<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;<span class="comment"># (what the &lt;access key&gt; is depends on the OS and browser, but it is typically</span></div>
+<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;<span class="comment"># &lt;CTRL&gt;, &lt;ALT&gt;/&lt;option&gt;, or both). Inside the search box use the &lt;cursor down</span></div>
+<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;<span class="comment"># key&gt; to jump into the search results window, the results can be navigated</span></div>
+<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;<span class="comment"># using the &lt;cursor keys&gt;. Press &lt;Enter&gt; to select an item or &lt;escape&gt; to cancel</span></div>
+<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;<span class="comment"># the search. The filter options can be selected when the cursor is inside the</span></div>
+<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;<span class="comment"># search box by pressing &lt;Shift&gt;+&lt;cursor down&gt;. Also here use the &lt;cursor keys&gt;</span></div>
+<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;<span class="comment"># to select a filter and &lt;Enter&gt; or &lt;escape&gt; to activate or cancel the filter</span></div>
+<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;<span class="comment"># option.</span></div>
+<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_HTML is set to YES.</span></div>
+<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;<span class="comment">SEARCHENGINE           = NO</span></div>
+<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;<span class="comment"># When the SERVER_BASED_SEARCH tag is enabled the search engine will be</span></div>
+<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;<span class="comment"># implemented using a web server instead of a web client using Javascript. There</span></div>
+<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;<span class="comment"># are two flavors of web server based searching depending on the EXTERNAL_SEARCH</span></div>
+<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;<span class="comment"># setting. When disabled, doxygen will generate a PHP script for searching and</span></div>
+<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;<span class="comment"># an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing</span></div>
+<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;<span class="comment"># and searching needs to be provided by external tools. See the section</span></div>
+<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;<span class="comment"># &quot;External Indexing and Searching&quot; for details.</span></div>
+<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;<span class="comment"># This tag requires that the tag SEARCHENGINE is set to YES.</span></div>
+<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;<span class="comment">SERVER_BASED_SEARCH    = NO</span></div>
+<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;<span class="comment"># When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP</span></div>
+<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;<span class="comment"># script for searching. Instead the search results are written to an XML file</span></div>
+<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160;<span class="comment"># which needs to be processed by an external indexer. Doxygen will invoke an</span></div>
+<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;<span class="comment"># external search engine pointed to by the SEARCHENGINE_URL option to obtain the</span></div>
+<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;<span class="comment"># search results.</span></div>
+<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;<span class="comment"># Doxygen ships with an example indexer (doxyindexer) and search engine</span></div>
+<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;<span class="comment"># (doxysearch.cgi) which are based on the open source search engine library</span></div>
+<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;<span class="comment"># Xapian (see: http://xapian.org/).</span></div>
+<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;<span class="comment"># See the section &quot;External Indexing and Searching&quot; for details.</span></div>
+<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;<span class="comment"># This tag requires that the tag SEARCHENGINE is set to YES.</span></div>
+<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;<span class="comment">EXTERNAL_SEARCH        = NO</span></div>
+<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;<span class="comment"># The SEARCHENGINE_URL should point to a search engine hosted by a web server</span></div>
+<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;<span class="comment"># which will return the search results when EXTERNAL_SEARCH is enabled.</span></div>
+<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;<span class="comment"># Doxygen ships with an example indexer (doxyindexer) and search engine</span></div>
+<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;<span class="comment"># (doxysearch.cgi) which are based on the open source search engine library</span></div>
+<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;<span class="comment"># Xapian (see: http://xapian.org/). See the section &quot;External Indexing and</span></div>
+<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;<span class="comment"># Searching&quot; for details.</span></div>
+<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;<span class="comment"># This tag requires that the tag SEARCHENGINE is set to YES.</span></div>
+<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;<span class="comment">SEARCHENGINE_URL       = </span></div>
+<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;<span class="comment"># When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed</span></div>
+<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;<span class="comment"># search data is written to a file for indexing by an external tool. With the</span></div>
+<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;<span class="comment"># SEARCHDATA_FILE tag the name of this file can be specified.</span></div>
+<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;<span class="comment"># The default file is: searchdata.xml.</span></div>
+<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;<span class="comment"># This tag requires that the tag SEARCHENGINE is set to YES.</span></div>
+<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;<span class="comment">SEARCHDATA_FILE        = searchdata.xml</span></div>
+<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;<span class="comment"># When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the</span></div>
+<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;<span class="comment"># EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is</span></div>
+<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;<span class="comment"># useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple</span></div>
+<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;<span class="comment"># projects and redirect the results back to the right project.</span></div>
+<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;<span class="comment"># This tag requires that the tag SEARCHENGINE is set to YES.</span></div>
+<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;<span class="comment">EXTERNAL_SEARCH_ID     = </span></div>
+<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;<span class="comment"># The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen</span></div>
+<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;<span class="comment"># projects other than the one defined by this configuration file, but that are</span></div>
+<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;<span class="comment"># all added to the same external search index. Each project needs to have a</span></div>
+<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;<span class="comment"># unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of</span></div>
+<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;<span class="comment"># to a relative location where the documentation can be found. The format is:</span></div>
+<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;<span class="comment"># EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...</span></div>
+<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;<span class="comment"># This tag requires that the tag SEARCHENGINE is set to YES.</span></div>
+<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;<span class="comment">EXTRA_SEARCH_MAPPINGS  = </span></div>
+<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;<span class="comment"># Configuration options related to the LaTeX output</span></div>
+<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;<span class="comment"># If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.</span></div>
+<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;<span class="comment">GENERATE_LATEX         = NO</span></div>
+<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;<span class="comment"># The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a</span></div>
+<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;<span class="comment"># relative path is entered the value of OUTPUT_DIRECTORY will be put in front of</span></div>
+<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;<span class="comment"># it.</span></div>
+<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;<span class="comment"># The default directory is: latex.</span></div>
+<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;<span class="comment">LATEX_OUTPUT           = latex</span></div>
+<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;<span class="comment"># The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be</span></div>
+<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;<span class="comment"># invoked.</span></div>
+<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;<span class="comment"># Note that when enabling USE_PDFLATEX this option is only used for generating</span></div>
+<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;<span class="comment"># bitmaps for formulas in the HTML output, but not in the Makefile that is</span></div>
+<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;<span class="comment"># written to the output directory.</span></div>
+<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;<span class="comment"># The default file is: latex.</span></div>
+<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;<span class="comment">LATEX_CMD_NAME         = latex</span></div>
+<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;<span class="comment"># The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate</span></div>
+<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;<span class="comment"># index for LaTeX.</span></div>
+<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;<span class="comment"># The default file is: makeindex.</span></div>
+<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;<span class="comment">MAKEINDEX_CMD_NAME     = makeindex</span></div>
+<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;<span class="comment"># If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX</span></div>
+<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;<span class="comment"># documents. This may be useful for small projects and may help to save some</span></div>
+<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;<span class="comment"># trees in general.</span></div>
+<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;<span class="comment">COMPACT_LATEX          = NO</span></div>
+<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;<span class="comment"># The PAPER_TYPE tag can be used to set the paper type that is used by the</span></div>
+<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;<span class="comment"># printer.</span></div>
+<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;<span class="comment"># Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x</span></div>
+<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;<span class="comment"># 14 inches) and executive (7.25 x 10.5 inches).</span></div>
+<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;<span class="comment"># The default value is: a4.</span></div>
+<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;<span class="comment">PAPER_TYPE             = a4wide</span></div>
+<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;<span class="comment"># The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names</span></div>
+<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;<span class="comment"># that should be included in the LaTeX output. The package can be specified just</span></div>
+<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;<span class="comment"># by its name or with the correct syntax as to be used with the LaTeX</span></div>
+<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;<span class="comment"># \usepackage command. To get the times font for instance you can specify :</span></div>
+<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;<span class="comment"># EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}</span></div>
+<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;<span class="comment"># To use the option intlimits with the amsmath package you can specify:</span></div>
+<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;<span class="comment"># EXTRA_PACKAGES=[intlimits]{amsmath}</span></div>
+<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;<span class="comment"># If left blank no extra packages will be included.</span></div>
+<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;<span class="comment">EXTRA_PACKAGES         = </span></div>
+<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;<span class="comment"># The LATEX_HEADER tag can be used to specify a personal LaTeX header for the</span></div>
+<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;<span class="comment"># generated LaTeX document. The header should contain everything until the first</span></div>
+<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;<span class="comment"># chapter. If it is left blank doxygen will generate a standard header. See</span></div>
+<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;<span class="comment"># section &quot;Doxygen usage&quot; for information on how to let doxygen write the</span></div>
+<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;<span class="comment"># default header to a separate file.</span></div>
+<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;<span class="comment"># Note: Only use a user-defined header if you know what you are doing! The</span></div>
+<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;<span class="comment"># following commands have a special meaning inside the header: $title,</span></div>
+<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;<span class="comment"># $datetime, $date, $doxygenversion, $projectname, $projectnumber,</span></div>
+<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;<span class="comment"># $projectbrief, $projectlogo. Doxygen will replace $title with the empty</span></div>
+<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;<span class="comment"># string, for the replacement values of the other commands the user is referred</span></div>
+<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;<span class="comment"># to HTML_HEADER.</span></div>
+<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;<span class="comment">LATEX_HEADER           = </span></div>
+<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;<span class="comment"># The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the</span></div>
+<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;<span class="comment"># generated LaTeX document. The footer should contain everything after the last</span></div>
+<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;<span class="comment"># chapter. If it is left blank doxygen will generate a standard footer. See</span></div>
+<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;<span class="comment"># LATEX_HEADER for more information on how to generate a default footer and what</span></div>
+<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;<span class="comment"># special commands can be used inside the footer.</span></div>
+<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;<span class="comment"># Note: Only use a user-defined footer if you know what you are doing!</span></div>
+<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;<span class="comment">LATEX_FOOTER           = </span></div>
+<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;<span class="comment"># The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined</span></div>
+<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;<span class="comment"># LaTeX style sheets that are included after the standard style sheets created</span></div>
+<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;<span class="comment"># by doxygen. Using this option one can overrule certain style aspects. Doxygen</span></div>
+<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;<span class="comment"># will copy the style sheet files to the output directory.</span></div>
+<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;<span class="comment"># Note: The order of the extra style sheet files is of importance (e.g. the last</span></div>
+<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;<span class="comment"># style sheet in the list overrules the setting of the previous ones in the</span></div>
+<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;<span class="comment"># list).</span></div>
+<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;<span class="comment">LATEX_EXTRA_STYLESHEET = </span></div>
+<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;<span class="comment"># The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or</span></div>
+<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;<span class="comment"># other source files which should be copied to the LATEX_OUTPUT output</span></div>
+<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;<span class="comment"># directory. Note that the files will be copied as-is; there are no commands or</span></div>
+<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;<span class="comment"># markers available.</span></div>
+<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;<span class="comment">LATEX_EXTRA_FILES      = </span></div>
+<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;<span class="comment"># If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is</span></div>
+<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;<span class="comment"># prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will</span></div>
+<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;<span class="comment"># contain links (just like the HTML output) instead of page references. This</span></div>
+<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;<span class="comment"># makes the output suitable for online browsing using a PDF viewer.</span></div>
+<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;<span class="comment">PDF_HYPERLINKS         = NO</span></div>
+<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;<span class="comment"># If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate</span></div>
+<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;<span class="comment"># the PDF file directly from the LaTeX files. Set this option to YES, to get a</span></div>
+<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;<span class="comment"># higher quality PDF documentation.</span></div>
+<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;<span class="comment">USE_PDFLATEX           = YES</span></div>
+<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;<span class="comment"># If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode</span></div>
+<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;<span class="comment"># command to the generated LaTeX files. This will instruct LaTeX to keep running</span></div>
+<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;<span class="comment"># if errors occur, instead of asking the user for help. This option is also used</span></div>
+<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;<span class="comment"># when generating formulas in HTML.</span></div>
+<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;<span class="comment">LATEX_BATCHMODE        = NO</span></div>
+<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;<span class="comment"># If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the</span></div>
+<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;<span class="comment"># index chapters (such as File Index, Compound Index, etc.) in the output.</span></div>
+<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;<span class="comment">LATEX_HIDE_INDICES     = NO</span></div>
+<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;<span class="comment"># If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source</span></div>
+<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;<span class="comment"># code with syntax highlighting in the LaTeX output.</span></div>
+<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;<span class="comment"># Note that which sources are shown also depends on other settings such as</span></div>
+<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;<span class="comment"># SOURCE_BROWSER.</span></div>
+<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;<span class="comment">LATEX_SOURCE_CODE      = NO</span></div>
+<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;<span class="comment"># The LATEX_BIB_STYLE tag can be used to specify the style to use for the</span></div>
+<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;<span class="comment"># bibliography, e.g. plainnat, or ieeetr. See</span></div>
+<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;<span class="comment"># http://en.wikipedia.org/wiki/BibTeX and \cite for more info.</span></div>
+<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;<span class="comment"># The default value is: plain.</span></div>
+<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_LATEX is set to YES.</span></div>
+<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;<span class="comment">LATEX_BIB_STYLE        = plain</span></div>
+<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;<span class="comment"># Configuration options related to the RTF output</span></div>
+<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;<span class="comment"># If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The</span></div>
+<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;<span class="comment"># RTF output is optimized for Word 97 and may not look too pretty with other RTF</span></div>
+<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;<span class="comment"># readers/editors.</span></div>
+<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;<span class="comment">GENERATE_RTF           = NO</span></div>
+<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;<span class="comment"># The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a</span></div>
+<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;<span class="comment"># relative path is entered the value of OUTPUT_DIRECTORY will be put in front of</span></div>
+<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;<span class="comment"># it.</span></div>
+<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;<span class="comment"># The default directory is: rtf.</span></div>
+<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_RTF is set to YES.</span></div>
+<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;<span class="comment">RTF_OUTPUT             = glm.rtf</span></div>
+<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;<span class="comment"># If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF</span></div>
+<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;<span class="comment"># documents. This may be useful for small projects and may help to save some</span></div>
+<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;<span class="comment"># trees in general.</span></div>
+<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_RTF is set to YES.</span></div>
+<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;<span class="comment">COMPACT_RTF            = NO</span></div>
+<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;<span class="comment"># If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will</span></div>
+<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;<span class="comment"># contain hyperlink fields. The RTF file will contain links (just like the HTML</span></div>
+<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;<span class="comment"># output) instead of page references. This makes the output suitable for online</span></div>
+<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;<span class="comment"># browsing using Word or some other Word compatible readers that support those</span></div>
+<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;<span class="comment"># fields.</span></div>
+<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;<span class="comment"># Note: WordPad (write) and others do not support links.</span></div>
+<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_RTF is set to YES.</span></div>
+<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;<span class="comment">RTF_HYPERLINKS         = YES</span></div>
+<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;<span class="comment"># Load stylesheet definitions from file. Syntax is similar to doxygen&#39;s config</span></div>
+<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;<span class="comment"># file, i.e. a series of assignments. You only have to provide replacements,</span></div>
+<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;<span class="comment"># missing definitions are set to their default value.</span></div>
+<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;<span class="comment"># See also section &quot;Doxygen usage&quot; for information on how to generate the</span></div>
+<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;<span class="comment"># default style sheet that doxygen normally uses.</span></div>
+<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_RTF is set to YES.</span></div>
+<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;<span class="comment">RTF_STYLESHEET_FILE    = </span></div>
+<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;<span class="comment"># Set optional variables used in the generation of an RTF document. Syntax is</span></div>
+<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;<span class="comment"># similar to doxygen&#39;s config file. A template extensions file can be generated</span></div>
+<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;<span class="comment"># using doxygen -e rtf extensionFile.</span></div>
+<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_RTF is set to YES.</span></div>
+<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;<span class="comment">RTF_EXTENSIONS_FILE    = </span></div>
+<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;<span class="comment"># If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code</span></div>
+<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;<span class="comment"># with syntax highlighting in the RTF output.</span></div>
+<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;<span class="comment"># Note that which sources are shown also depends on other settings such as</span></div>
+<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;<span class="comment"># SOURCE_BROWSER.</span></div>
+<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_RTF is set to YES.</span></div>
+<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;<span class="comment">RTF_SOURCE_CODE        = NO</span></div>
+<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;<span class="comment"># Configuration options related to the man page output</span></div>
+<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;<span class="comment"># If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for</span></div>
+<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;<span class="comment"># classes and files.</span></div>
+<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;<span class="comment">GENERATE_MAN           = NO</span></div>
+<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;<span class="comment"># The MAN_OUTPUT tag is used to specify where the man pages will be put. If a</span></div>
+<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;<span class="comment"># relative path is entered the value of OUTPUT_DIRECTORY will be put in front of</span></div>
+<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;<span class="comment"># it. A directory man3 will be created inside the directory specified by</span></div>
+<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;<span class="comment"># MAN_OUTPUT.</span></div>
+<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;<span class="comment"># The default directory is: man.</span></div>
+<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_MAN is set to YES.</span></div>
+<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;<span class="comment">MAN_OUTPUT             = man</span></div>
+<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;<span class="comment"># The MAN_EXTENSION tag determines the extension that is added to the generated</span></div>
+<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;<span class="comment"># man pages. In case the manual section does not start with a number, the number</span></div>
+<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;<span class="comment"># 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is</span></div>
+<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;<span class="comment"># optional.</span></div>
+<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;<span class="comment"># The default value is: .3.</span></div>
+<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_MAN is set to YES.</span></div>
+<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;<span class="comment">MAN_EXTENSION          = .3</span></div>
+<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160;<span class="comment"># The MAN_SUBDIR tag determines the name of the directory created within</span></div>
+<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;<span class="comment"># MAN_OUTPUT in which the man pages are placed. If defaults to man followed by</span></div>
+<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;<span class="comment"># MAN_EXTENSION with the initial . removed.</span></div>
+<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_MAN is set to YES.</span></div>
+<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;<span class="comment">MAN_SUBDIR             = </span></div>
+<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;<span class="comment"># If the MAN_LINKS tag is set to YES and doxygen generates man output, then it</span></div>
+<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;<span class="comment"># will generate one additional man file for each entity documented in the real</span></div>
+<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;<span class="comment"># man page(s). These additional files only source the real man page, but without</span></div>
+<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;<span class="comment"># them the man command would be unable to find the correct page.</span></div>
+<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_MAN is set to YES.</span></div>
+<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160;<span class="comment">MAN_LINKS              = NO</span></div>
+<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;<span class="comment"># Configuration options related to the XML output</span></div>
+<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;<span class="comment"># If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that</span></div>
+<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160;<span class="comment"># captures the structure of the code including all documentation.</span></div>
+<div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;<span class="comment">GENERATE_XML           = NO</span></div>
+<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;<span class="comment"># The XML_OUTPUT tag is used to specify where the XML pages will be put. If a</span></div>
+<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;<span class="comment"># relative path is entered the value of OUTPUT_DIRECTORY will be put in front of</span></div>
+<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;<span class="comment"># it.</span></div>
+<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;<span class="comment"># The default directory is: xml.</span></div>
+<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_XML is set to YES.</span></div>
+<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;<span class="comment">XML_OUTPUT             = xml</span></div>
+<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;<span class="comment"># If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program</span></div>
+<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;<span class="comment"># listings (including syntax highlighting and cross-referencing information) to</span></div>
+<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;<span class="comment"># the XML output. Note that enabling this will significantly increase the size</span></div>
+<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;<span class="comment"># of the XML output.</span></div>
+<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_XML is set to YES.</span></div>
+<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;<span class="comment">XML_PROGRAMLISTING     = YES</span></div>
+<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;<span class="comment"># Configuration options related to the DOCBOOK output</span></div>
+<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;<span class="comment"># If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files</span></div>
+<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;<span class="comment"># that can be used to generate PDF.</span></div>
+<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;<span class="comment">GENERATE_DOCBOOK       = NO</span></div>
+<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;<span class="comment"># The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.</span></div>
+<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;<span class="comment"># If a relative path is entered the value of OUTPUT_DIRECTORY will be put in</span></div>
+<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;<span class="comment"># front of it.</span></div>
+<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;<span class="comment"># The default directory is: docbook.</span></div>
+<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_DOCBOOK is set to YES.</span></div>
+<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160;<span class="comment">DOCBOOK_OUTPUT         = docbook</span></div>
+<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;<span class="comment"># If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the</span></div>
+<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;<span class="comment"># program listings (including syntax highlighting and cross-referencing</span></div>
+<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;<span class="comment"># information) to the DOCBOOK output. Note that enabling this will significantly</span></div>
+<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;<span class="comment"># increase the size of the DOCBOOK output.</span></div>
+<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_DOCBOOK is set to YES.</span></div>
+<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;<span class="comment">DOCBOOK_PROGRAMLISTING = NO</span></div>
+<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;<span class="comment"># Configuration options for the AutoGen Definitions output</span></div>
+<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;<span class="comment"># If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an</span></div>
+<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;<span class="comment"># AutoGen Definitions (see http://autogen.sf.net) file that captures the</span></div>
+<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;<span class="comment"># structure of the code including all documentation. Note that this feature is</span></div>
+<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;<span class="comment"># still experimental and incomplete at the moment.</span></div>
+<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;<span class="comment">GENERATE_AUTOGEN_DEF   = NO</span></div>
+<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;<span class="comment"># Configuration options related to the Perl module output</span></div>
+<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;<span class="comment"># If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module</span></div>
+<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;<span class="comment"># file that captures the structure of the code including all documentation.</span></div>
+<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;<span class="comment"># Note that this feature is still experimental and incomplete at the moment.</span></div>
+<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;<span class="comment">GENERATE_PERLMOD       = NO</span></div>
+<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;<span class="comment"># If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary</span></div>
+<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;<span class="comment"># Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI</span></div>
+<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;<span class="comment"># output from the Perl module output.</span></div>
+<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_PERLMOD is set to YES.</span></div>
+<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;<span class="comment">PERLMOD_LATEX          = NO</span></div>
+<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;<span class="comment"># If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely</span></div>
+<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;<span class="comment"># formatted so it can be parsed by a human reader. This is useful if you want to</span></div>
+<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;<span class="comment"># understand what is going on. On the other hand, if this tag is set to NO, the</span></div>
+<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;<span class="comment"># size of the Perl module output will be much smaller and Perl will parse it</span></div>
+<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;<span class="comment"># just the same.</span></div>
+<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_PERLMOD is set to YES.</span></div>
+<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;<span class="comment">PERLMOD_PRETTY         = YES</span></div>
+<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;<span class="comment"># The names of the make variables in the generated doxyrules.make file are</span></div>
+<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;<span class="comment"># prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful</span></div>
+<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;<span class="comment"># so different doxyrules.make files included by the same Makefile don&#39;t</span></div>
+<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;<span class="comment"># overwrite each other&#39;s variables.</span></div>
+<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;<span class="comment"># This tag requires that the tag GENERATE_PERLMOD is set to YES.</span></div>
+<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;<span class="comment">PERLMOD_MAKEVAR_PREFIX = </span></div>
+<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;<span class="comment"># Configuration options related to the preprocessor</span></div>
+<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;<span class="comment"># If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all</span></div>
+<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;<span class="comment"># C-preprocessor directives found in the sources and include files.</span></div>
+<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;<span class="comment">ENABLE_PREPROCESSING   = YES</span></div>
+<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;<span class="comment"># If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names</span></div>
+<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;<span class="comment"># in the source code. If set to NO, only conditional compilation will be</span></div>
+<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;<span class="comment"># performed. Macro expansion can be done in a controlled way by setting</span></div>
+<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;<span class="comment"># EXPAND_ONLY_PREDEF to YES.</span></div>
+<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;<span class="comment">MACRO_EXPANSION        = NO</span></div>
+<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;<span class="comment"># If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then</span></div>
+<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;<span class="comment"># the macro expansion is limited to the macros specified with the PREDEFINED and</span></div>
+<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;<span class="comment"># EXPAND_AS_DEFINED tags.</span></div>
+<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;<span class="comment">EXPAND_ONLY_PREDEF     = NO</span></div>
+<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;<span class="comment"># If the SEARCH_INCLUDES tag is set to YES, the include files in the</span></div>
+<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;<span class="comment"># INCLUDE_PATH will be searched if a #include is found.</span></div>
+<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;<span class="comment">SEARCH_INCLUDES        = YES</span></div>
+<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;<span class="comment"># The INCLUDE_PATH tag can be used to specify one or more directories that</span></div>
+<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;<span class="comment"># contain include files that are not input files but should be processed by the</span></div>
+<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;<span class="comment"># preprocessor.</span></div>
+<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;<span class="comment"># This tag requires that the tag SEARCH_INCLUDES is set to YES.</span></div>
+<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;<span class="comment">INCLUDE_PATH           = </span></div>
+<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;<span class="comment"># You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard</span></div>
+<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;<span class="comment"># patterns (like *.h and *.hpp) to filter out the header-files in the</span></div>
+<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;<span class="comment"># directories. If left blank, the patterns specified with FILE_PATTERNS will be</span></div>
+<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;<span class="comment"># used.</span></div>
+<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;<span class="comment">INCLUDE_FILE_PATTERNS  = </span></div>
+<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;<span class="comment"># The PREDEFINED tag can be used to specify one or more macro names that are</span></div>
+<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;<span class="comment"># defined before the preprocessor is started (similar to the -D option of e.g.</span></div>
+<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;<span class="comment"># gcc). The argument of the tag is a list of macros of the form: name or</span></div>
+<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;<span class="comment"># name=definition (no spaces). If the definition and the &quot;=&quot; are omitted, &quot;=1&quot;</span></div>
+<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;<span class="comment"># is assumed. To prevent a macro definition from being undefined via #undef or</span></div>
+<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;<span class="comment"># recursively expanded use the := operator instead of the = operator.</span></div>
+<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;<span class="comment">PREDEFINED             = </span></div>
+<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;<span class="comment"># If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this</span></div>
+<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;<span class="comment"># tag can be used to specify a list of macro names that should be expanded. The</span></div>
+<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;<span class="comment"># macro definition that is found in the sources will be used. Use the PREDEFINED</span></div>
+<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;<span class="comment"># tag if you want to use a different macro definition that overrules the</span></div>
+<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;<span class="comment"># definition found in the source code.</span></div>
+<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;<span class="comment">EXPAND_AS_DEFINED      = </span></div>
+<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;<span class="comment"># If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen&#39;s preprocessor will</span></div>
+<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;<span class="comment"># remove all references to function-like macros that are alone on a line, have</span></div>
+<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;<span class="comment"># an all uppercase name, and do not end with a semicolon. Such function macros</span></div>
+<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;<span class="comment"># are typically used for boiler-plate code, and will confuse the parser if not</span></div>
+<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;<span class="comment"># removed.</span></div>
+<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;<span class="comment"># This tag requires that the tag ENABLE_PREPROCESSING is set to YES.</span></div>
+<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;<span class="comment">SKIP_FUNCTION_MACROS   = YES</span></div>
+<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;<span class="comment"># Configuration options related to external references</span></div>
+<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;<span class="comment"># The TAGFILES tag can be used to specify one or more tag files. For each tag</span></div>
+<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;<span class="comment"># file the location of the external documentation should be added. The format of</span></div>
+<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;<span class="comment"># a tag file without this location is as follows:</span></div>
+<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;<span class="comment"># TAGFILES = file1 file2 ...</span></div>
+<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;<span class="comment"># Adding location for the tag files is done as follows:</span></div>
+<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;<span class="comment"># TAGFILES = file1=loc1 &quot;file2 = loc2&quot; ...</span></div>
+<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;<span class="comment"># where loc1 and loc2 can be relative or absolute paths or URLs. See the</span></div>
+<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;<span class="comment"># section &quot;Linking to external documentation&quot; for more information about the use</span></div>
+<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;<span class="comment"># of tag files.</span></div>
+<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;<span class="comment"># Note: Each tag file must have a unique name (where the name does NOT include</span></div>
+<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;<span class="comment"># the path). If a tag file is not located in the directory in which doxygen is</span></div>
+<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;<span class="comment"># run, you must also specify the path to the tagfile here.</span></div>
+<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;<span class="comment">TAGFILES               = </span></div>
+<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;<span class="comment"># When a file name is specified after GENERATE_TAGFILE, doxygen will create a</span></div>
+<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;<span class="comment"># tag file that is based on the input files it reads. See section &quot;Linking to</span></div>
+<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;<span class="comment"># external documentation&quot; for more information about the usage of tag files.</span></div>
+<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;<span class="comment">GENERATE_TAGFILE       = </span></div>
+<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;<span class="comment"># If the ALLEXTERNALS tag is set to YES, all external class will be listed in</span></div>
+<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;<span class="comment"># the class index. If set to NO, only the inherited external classes will be</span></div>
+<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;<span class="comment"># listed.</span></div>
+<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;<span class="comment">ALLEXTERNALS           = NO</span></div>
+<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;<span class="comment"># If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed</span></div>
+<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;<span class="comment"># in the modules index. If set to NO, only the current project&#39;s groups will be</span></div>
+<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;<span class="comment"># listed.</span></div>
+<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;<span class="comment">EXTERNAL_GROUPS        = YES</span></div>
+<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;<span class="comment"># If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in</span></div>
+<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;<span class="comment"># the related pages index. If set to NO, only the current project&#39;s pages will</span></div>
+<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;<span class="comment"># be listed.</span></div>
+<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;<span class="comment">EXTERNAL_PAGES         = YES</span></div>
+<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;<span class="comment"># The PERL_PATH should be the absolute path and name of the perl script</span></div>
+<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;<span class="comment"># interpreter (i.e. the result of &#39;which perl&#39;).</span></div>
+<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;<span class="comment"># The default file (with absolute path) is: /usr/bin/perl.</span></div>
+<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;<span class="comment">PERL_PATH              = /usr/bin/perl</span></div>
+<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;<span class="comment"># Configuration options related to the dot tool</span></div>
+<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;<span class="comment">#---------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;<span class="comment"># If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram</span></div>
+<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;<span class="comment"># (in HTML and LaTeX) for classes with base or super classes. Setting the tag to</span></div>
+<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;<span class="comment"># NO turns the diagrams off. Note that this option also works with HAVE_DOT</span></div>
+<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;<span class="comment"># disabled, but it is recommended to install and use dot, since it yields more</span></div>
+<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;<span class="comment"># powerful graphs.</span></div>
+<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;<span class="comment">CLASS_DIAGRAMS         = YES</span></div>
+<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;<span class="comment"># You can define message sequence charts within doxygen comments using the \msc</span></div>
+<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;<span class="comment"># command. Doxygen will then run the mscgen tool (see:</span></div>
+<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;<span class="comment"># http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the</span></div>
+<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;<span class="comment"># documentation. The MSCGEN_PATH tag allows you to specify the directory where</span></div>
+<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;<span class="comment"># the mscgen tool resides. If left empty the tool is assumed to be found in the</span></div>
+<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;<span class="comment"># default search path.</span></div>
+<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;<span class="comment">MSCGEN_PATH            = </span></div>
+<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;<span class="comment"># You can include diagrams made with dia in doxygen documentation. Doxygen will</span></div>
+<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;<span class="comment"># then run dia to produce the diagram and insert it in the documentation. The</span></div>
+<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;<span class="comment"># DIA_PATH tag allows you to specify the directory where the dia binary resides.</span></div>
+<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;<span class="comment"># If left empty dia is assumed to be found in the default search path.</span></div>
+<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;<span class="comment">DIA_PATH               = </span></div>
+<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;<span class="comment"># If set to YES the inheritance and collaboration graphs will hide inheritance</span></div>
+<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;<span class="comment"># and usage relations if the target is undocumented or is not a class.</span></div>
+<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;<span class="comment">HIDE_UNDOC_RELATIONS   = YES</span></div>
+<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;<span class="comment"># If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is</span></div>
+<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;<span class="comment"># available from the path. This tool is part of Graphviz (see:</span></div>
+<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;<span class="comment"># http://www.graphviz.org/), a graph visualization toolkit from AT&amp;T and Lucent</span></div>
+<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;<span class="comment"># Bell Labs. The other options in this section have no effect if this option is</span></div>
+<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;<span class="comment"># set to NO</span></div>
+<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;<span class="comment">HAVE_DOT               = NO</span></div>
+<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;<span class="comment"># The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed</span></div>
+<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;<span class="comment"># to run in parallel. When set to 0 doxygen will base this on the number of</span></div>
+<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;<span class="comment"># processors available in the system. You can set it explicitly to a value</span></div>
+<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;<span class="comment"># larger than 0 to get control over the balance between CPU load and processing</span></div>
+<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;<span class="comment"># speed.</span></div>
+<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 32, default value: 0.</span></div>
+<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;<span class="comment">DOT_NUM_THREADS        = 0</span></div>
+<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;<span class="comment"># When you want a differently looking font in the dot files that doxygen</span></div>
+<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;<span class="comment"># generates you can specify the font name using DOT_FONTNAME. You need to make</span></div>
+<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;<span class="comment"># sure dot is able to find the font, which can be done by putting it in a</span></div>
+<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;<span class="comment"># standard location or by setting the DOTFONTPATH environment variable or by</span></div>
+<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;<span class="comment"># setting DOT_FONTPATH to the directory containing the font.</span></div>
+<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;<span class="comment"># The default value is: Helvetica.</span></div>
+<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;<span class="comment">DOT_FONTNAME           = Helvetica</span></div>
+<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;<span class="comment"># The DOT_FONTSIZE tag can be used to set the size (in points) of the font of</span></div>
+<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;<span class="comment"># dot graphs.</span></div>
+<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;<span class="comment"># Minimum value: 4, maximum value: 24, default value: 10.</span></div>
+<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;<span class="comment">DOT_FONTSIZE           = 10</span></div>
+<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;<span class="comment"># By default doxygen will tell dot to use the default font as specified with</span></div>
+<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;<span class="comment"># DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set</span></div>
+<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;<span class="comment"># the path where dot can find it using this tag.</span></div>
+<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;<span class="comment">DOT_FONTPATH           = </span></div>
+<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;<span class="comment"># If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for</span></div>
+<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;<span class="comment"># each documented class showing the direct and indirect inheritance relations.</span></div>
+<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;<span class="comment"># Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.</span></div>
+<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;<span class="comment">CLASS_GRAPH            = YES</span></div>
+<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;<span class="comment"># If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a</span></div>
+<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;<span class="comment"># graph for each documented class showing the direct and indirect implementation</span></div>
+<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160;<span class="comment"># dependencies (inheritance, containment, and class references variables) of the</span></div>
+<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160;<span class="comment"># class with other documented classes.</span></div>
+<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160;<span class="comment">COLLABORATION_GRAPH    = YES</span></div>
+<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160;<span class="comment"># If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for</span></div>
+<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;<span class="comment"># groups, showing the direct groups dependencies.</span></div>
+<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;<span class="comment">GROUP_GRAPHS           = YES</span></div>
+<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;<span class="comment"># If the UML_LOOK tag is set to YES, doxygen will generate inheritance and</span></div>
+<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;<span class="comment"># collaboration diagrams in a style similar to the OMG&#39;s Unified Modeling</span></div>
+<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;<span class="comment"># Language.</span></div>
+<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;<span class="comment">UML_LOOK               = NO</span></div>
+<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;<span class="comment"># If the UML_LOOK tag is enabled, the fields and methods are shown inside the</span></div>
+<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;<span class="comment"># class node. If there are many fields or methods and many nodes the graph may</span></div>
+<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>&#160;<span class="comment"># become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the</span></div>
+<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;<span class="comment"># number of items for each type to make the size more manageable. Set this to 0</span></div>
+<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;<span class="comment"># for no limit. Note that the threshold may be exceeded by 50% before the limit</span></div>
+<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;<span class="comment"># is enforced. So when you set the threshold to 10, up to 15 fields may appear,</span></div>
+<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;<span class="comment"># but if the number exceeds 15, the total amount of fields shown is limited to</span></div>
+<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;<span class="comment"># 10.</span></div>
+<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 100, default value: 10.</span></div>
+<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160;<span class="comment">UML_LIMIT_NUM_FIELDS   = 10</span></div>
+<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160;<span class="comment"># If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and</span></div>
+<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160;<span class="comment"># collaboration graphs will show the relations between templates and their</span></div>
+<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160;<span class="comment"># instances.</span></div>
+<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;<span class="comment">TEMPLATE_RELATIONS     = NO</span></div>
+<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;<span class="comment"># If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to</span></div>
+<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;<span class="comment"># YES then doxygen will generate a graph for each documented file showing the</span></div>
+<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;<span class="comment"># direct and indirect include dependencies of the file with other documented</span></div>
+<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;<span class="comment"># files.</span></div>
+<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;<span class="comment">INCLUDE_GRAPH          = YES</span></div>
+<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;<span class="comment"># If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are</span></div>
+<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;<span class="comment"># set to YES then doxygen will generate a graph for each documented file showing</span></div>
+<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;<span class="comment"># the direct and indirect include dependencies of the file with other documented</span></div>
+<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;<span class="comment"># files.</span></div>
+<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;<span class="comment">INCLUDED_BY_GRAPH      = YES</span></div>
+<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;<span class="comment"># If the CALL_GRAPH tag is set to YES then doxygen will generate a call</span></div>
+<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;<span class="comment"># dependency graph for every global function or class method.</span></div>
+<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;<span class="comment"># Note that enabling this option will significantly increase the time of a run.</span></div>
+<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;<span class="comment"># So in most cases it will be better to enable call graphs for selected</span></div>
+<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;<span class="comment"># functions only using the \callgraph command. Disabling a call graph can be</span></div>
+<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;<span class="comment"># accomplished by means of the command \hidecallgraph.</span></div>
+<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;<span class="comment">CALL_GRAPH             = YES</span></div>
+<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;<span class="comment"># If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller</span></div>
+<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;<span class="comment"># dependency graph for every global function or class method.</span></div>
+<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;<span class="comment"># Note that enabling this option will significantly increase the time of a run.</span></div>
+<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;<span class="comment"># So in most cases it will be better to enable caller graphs for selected</span></div>
+<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;<span class="comment"># functions only using the \callergraph command. Disabling a caller graph can be</span></div>
+<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;<span class="comment"># accomplished by means of the command \hidecallergraph.</span></div>
+<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160;<span class="comment">CALLER_GRAPH           = YES</span></div>
+<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;<span class="comment"># If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical</span></div>
+<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;<span class="comment"># hierarchy of all classes instead of a textual one.</span></div>
+<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>&#160;<span class="comment">GRAPHICAL_HIERARCHY    = YES</span></div>
+<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span>&#160;<span class="comment"># If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the</span></div>
+<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span>&#160;<span class="comment"># dependencies a directory has on other directories in a graphical way. The</span></div>
+<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span>&#160;<span class="comment"># dependency relations are determined by the #include relations between the</span></div>
+<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;<span class="comment"># files in the directories.</span></div>
+<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span>&#160;<span class="comment">DIRECTORY_GRAPH        = YES</span></div>
+<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>&#160;<span class="comment"># The DOT_IMAGE_FORMAT tag can be used to set the image format of the images</span></div>
+<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span>&#160;<span class="comment"># generated by dot. For an explanation of the image formats see the section</span></div>
+<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span>&#160;<span class="comment"># output formats in the documentation of the dot tool (Graphviz (see:</span></div>
+<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160;<span class="comment"># http://www.graphviz.org/)).</span></div>
+<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span>&#160;<span class="comment"># Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order</span></div>
+<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160;<span class="comment"># to make the SVG files visible in IE 9+ (other browsers do not have this</span></div>
+<div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160;<span class="comment"># requirement).</span></div>
+<div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;<span class="comment"># Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,</span></div>
+<div class="line"><a name="l02281"></a><span class="lineno"> 2281</span>&#160;<span class="comment"># png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and</span></div>
+<div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160;<span class="comment"># png:gdiplus:gdiplus.</span></div>
+<div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160;<span class="comment"># The default value is: png.</span></div>
+<div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;<span class="comment">DOT_IMAGE_FORMAT       = png</span></div>
+<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span>&#160;<span class="comment"># If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to</span></div>
+<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span>&#160;<span class="comment"># enable generation of interactive SVG images that allow zooming and panning.</span></div>
+<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span>&#160;<span class="comment"># Note that this requires a modern browser other than Internet Explorer. Tested</span></div>
+<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;<span class="comment"># and working are Firefox, Chrome, Safari, and Opera.</span></div>
+<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;<span class="comment"># Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make</span></div>
+<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;<span class="comment"># the SVG files visible. Older versions of IE do not have SVG support.</span></div>
+<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;<span class="comment">INTERACTIVE_SVG        = NO</span></div>
+<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;<span class="comment"># The DOT_PATH tag can be used to specify the path where the dot tool can be</span></div>
+<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160;<span class="comment"># found. If left blank, it is assumed the dot tool can be found in the path.</span></div>
+<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;<span class="comment">DOT_PATH               = </span></div>
+<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;<span class="comment"># The DOTFILE_DIRS tag can be used to specify one or more directories that</span></div>
+<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160;<span class="comment"># contain dot files that are included in the documentation (see the \dotfile</span></div>
+<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span>&#160;<span class="comment"># command).</span></div>
+<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>&#160;<span class="comment">DOTFILE_DIRS           = </span></div>
+<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>&#160;<span class="comment"># The MSCFILE_DIRS tag can be used to specify one or more directories that</span></div>
+<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>&#160;<span class="comment"># contain msc files that are included in the documentation (see the \mscfile</span></div>
+<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160;<span class="comment"># command).</span></div>
+<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;<span class="comment">MSCFILE_DIRS           = </span></div>
+<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;<span class="comment"># The DIAFILE_DIRS tag can be used to specify one or more directories that</span></div>
+<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160;<span class="comment"># contain dia files that are included in the documentation (see the \diafile</span></div>
+<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160;<span class="comment"># command).</span></div>
+<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;<span class="comment">DIAFILE_DIRS           = </span></div>
+<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>&#160;<span class="comment"># When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the</span></div>
+<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span>&#160;<span class="comment"># path where java can find the plantuml.jar file. If left blank, it is assumed</span></div>
+<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span>&#160;<span class="comment"># PlantUML is not used or called during a preprocessing step. Doxygen will</span></div>
+<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span>&#160;<span class="comment"># generate a warning when it encounters a \startuml command in this case and</span></div>
+<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span>&#160;<span class="comment"># will not generate output for the diagram.</span></div>
+<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;<span class="comment">PLANTUML_JAR_PATH      = </span></div>
+<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160;<span class="comment"># When using plantuml, the specified paths are searched for files specified by</span></div>
+<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>&#160;<span class="comment"># the !include statement in a plantuml block.</span></div>
+<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span>&#160;<span class="comment">PLANTUML_INCLUDE_PATH  = </span></div>
+<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160;<span class="comment"># The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes</span></div>
+<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span>&#160;<span class="comment"># that will be shown in the graph. If the number of nodes in a graph becomes</span></div>
+<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;<span class="comment"># larger than this value, doxygen will truncate the graph, which is visualized</span></div>
+<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;<span class="comment"># by representing a node as a red box. Note that doxygen if the number of direct</span></div>
+<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160;<span class="comment"># children of the root node in a graph is already larger than</span></div>
+<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;<span class="comment"># DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that</span></div>
+<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;<span class="comment"># the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.</span></div>
+<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 10000, default value: 50.</span></div>
+<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160;<span class="comment">DOT_GRAPH_MAX_NODES    = 50</span></div>
+<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;<span class="comment"># The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs</span></div>
+<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160;<span class="comment"># generated by dot. A depth value of 3 means that only nodes reachable from the</span></div>
+<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;<span class="comment"># root by following a path via at most 3 edges will be shown. Nodes that lay</span></div>
+<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;<span class="comment"># further from the root node will be omitted. Note that setting this option to 1</span></div>
+<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;<span class="comment"># or 2 may greatly reduce the computation time needed for large code bases. Also</span></div>
+<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;<span class="comment"># note that the size of a graph can be further restricted by</span></div>
+<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;<span class="comment"># DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.</span></div>
+<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160;<span class="comment"># Minimum value: 0, maximum value: 1000, default value: 0.</span></div>
+<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160;<span class="comment">MAX_DOT_GRAPH_DEPTH    = 1000</span></div>
+<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160;<span class="comment"># Set the DOT_TRANSPARENT tag to YES to generate images with a transparent</span></div>
+<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160;<span class="comment"># background. This is disabled by default, because dot on Windows does not seem</span></div>
+<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;<span class="comment"># to support this out of the box.</span></div>
+<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160;<span class="comment">#</span></div>
+<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160;<span class="comment"># Warning: Depending on the platform used, enabling this option may lead to</span></div>
+<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span>&#160;<span class="comment"># badly anti-aliased labels on the edges of a graph (i.e. they become hard to</span></div>
+<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160;<span class="comment"># read).</span></div>
+<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160;<span class="comment">DOT_TRANSPARENT        = NO</span></div>
+<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160;<span class="comment"># Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output</span></div>
+<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;<span class="comment"># files in one run (i.e. multiple -o and -T options on the command line). This</span></div>
+<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;<span class="comment"># makes dot run faster, but since only newer versions of dot (&gt;1.8.10) support</span></div>
+<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;<span class="comment"># this, this feature is disabled by default.</span></div>
+<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span>&#160;<span class="comment"># The default value is: NO.</span></div>
+<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;<span class="comment">DOT_MULTI_TARGETS      = NO</span></div>
+<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;<span class="comment"># If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page</span></div>
+<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;<span class="comment"># explaining the meaning of the various boxes and arrows in the dot generated</span></div>
+<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160;<span class="comment"># graphs.</span></div>
+<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160;<span class="comment">GENERATE_LEGEND        = YES</span></div>
+<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160;<span class="comment"># If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot</span></div>
+<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;<span class="comment"># files that are used to generate the various graphs.</span></div>
+<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;<span class="comment"># The default value is: YES.</span></div>
+<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;<span class="comment"># This tag requires that the tag HAVE_DOT is set to YES.</span></div>
+<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;<span class="comment">DOT_CLEANUP            = YES</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00051.html b/src/third_party/glm/doc/api/a00051.html
new file mode 100644
index 0000000..5dc17c1
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00051.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat2x2.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat2x2.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00051_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00051_source.html">mat2x2.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00051_source.html b/src/third_party/glm/doc/api/a00051_source.html
new file mode 100644
index 0000000..8147043
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00051_source.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat2x2.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat2x2.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00051.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00115.html">detail/type_mat2x2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, lowp&gt;            <a class="code" href="a00158.html#ga8ed94bfb5f4e0b2c3b0d49c5be478c85">lowp_mat2</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga57b1e6c49a1432cefa518f13a56c5d47">mediump_mat2</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, highp&gt;           <a class="code" href="a00158.html#ga11c1eb1d307846d5bee7d7c0d8c386f0">highp_mat2</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, lowp&gt;            <a class="code" href="a00158.html#gab1a0d4d8fd3bb85f6616dac9dbef2981">lowp_mat2x2</a>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga1b77963ca2812ac2653624fa0f81ba74">mediump_mat2x2</a>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;float, highp&gt;           <a class="code" href="a00158.html#gae6a747cfc33928652abcb1347712b231">highp_mat2x2</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00158_html_ga57b1e6c49a1432cefa518f13a56c5d47"><div class="ttname"><a href="a00158.html#ga57b1e6c49a1432cefa518f13a56c5d47">glm::mediump_mat2</a></div><div class="ttdeci">tmat2x2&lt; float, mediump &gt; mediump_mat2</div><div class="ttdoc">2 columns of 2 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00046">type_mat.hpp:46</a></div></div>
+<div class="ttc" id="a00115_html"><div class="ttname"><a href="a00115.html">type_mat2x2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_ga8ed94bfb5f4e0b2c3b0d49c5be478c85"><div class="ttname"><a href="a00158.html#ga8ed94bfb5f4e0b2c3b0d49c5be478c85">glm::lowp_mat2</a></div><div class="ttdeci">tmat2x2&lt; float, lowp &gt; lowp_mat2</div><div class="ttdoc">2 columns of 2 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00039">type_mat.hpp:39</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_gae6a747cfc33928652abcb1347712b231"><div class="ttname"><a href="a00158.html#gae6a747cfc33928652abcb1347712b231">glm::highp_mat2x2</a></div><div class="ttdeci">tmat2x2&lt; float, highp &gt; highp_mat2x2</div><div class="ttdoc">2 columns of 2 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00074">type_mat.hpp:74</a></div></div>
+<div class="ttc" id="a00158_html_ga1b77963ca2812ac2653624fa0f81ba74"><div class="ttname"><a href="a00158.html#ga1b77963ca2812ac2653624fa0f81ba74">glm::mediump_mat2x2</a></div><div class="ttdeci">tmat2x2&lt; float, mediump &gt; mediump_mat2x2</div><div class="ttdoc">2 columns of 2 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00067">type_mat.hpp:67</a></div></div>
+<div class="ttc" id="a00158_html_gab1a0d4d8fd3bb85f6616dac9dbef2981"><div class="ttname"><a href="a00158.html#gab1a0d4d8fd3bb85f6616dac9dbef2981">glm::lowp_mat2x2</a></div><div class="ttdeci">tmat2x2&lt; float, lowp &gt; lowp_mat2x2</div><div class="ttdoc">2 columns of 2 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00060">type_mat.hpp:60</a></div></div>
+<div class="ttc" id="a00158_html_ga11c1eb1d307846d5bee7d7c0d8c386f0"><div class="ttname"><a href="a00158.html#ga11c1eb1d307846d5bee7d7c0d8c386f0">glm::highp_mat2</a></div><div class="ttdeci">tmat2x2&lt; float, highp &gt; highp_mat2</div><div class="ttdoc">2 columns of 2 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00053">type_mat.hpp:53</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00052.html b/src/third_party/glm/doc/api/a00052.html
new file mode 100644
index 0000000..b2bd9f5
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00052.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat2x3.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat2x3.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00052_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00052_source.html">mat2x3.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00052_source.html b/src/third_party/glm/doc/api/a00052_source.html
new file mode 100644
index 0000000..bfc7dcd
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00052_source.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat2x3.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat2x3.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00052.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00116.html">detail/type_mat2x3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;float, lowp&gt;            <a class="code" href="a00158.html#gae8fe30d421bc141fa84ad414b803947d">lowp_mat2x3</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga8c17198123baf6bfb59582ec42a3ca09">mediump_mat2x3</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;float, highp&gt;           <a class="code" href="a00158.html#ga9dfd75b5b17b89ccbecbdd6201efc74b">highp_mat2x3</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_gae8fe30d421bc141fa84ad414b803947d"><div class="ttname"><a href="a00158.html#gae8fe30d421bc141fa84ad414b803947d">glm::lowp_mat2x3</a></div><div class="ttdeci">tmat2x3&lt; float, lowp &gt; lowp_mat2x3</div><div class="ttdoc">2 columns of 3 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00086">type_mat.hpp:86</a></div></div>
+<div class="ttc" id="a00158_html_ga8c17198123baf6bfb59582ec42a3ca09"><div class="ttname"><a href="a00158.html#ga8c17198123baf6bfb59582ec42a3ca09">glm::mediump_mat2x3</a></div><div class="ttdeci">tmat2x3&lt; float, mediump &gt; mediump_mat2x3</div><div class="ttdoc">2 columns of 3 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00093">type_mat.hpp:93</a></div></div>
+<div class="ttc" id="a00116_html"><div class="ttname"><a href="a00116.html">type_mat2x3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_ga9dfd75b5b17b89ccbecbdd6201efc74b"><div class="ttname"><a href="a00158.html#ga9dfd75b5b17b89ccbecbdd6201efc74b">glm::highp_mat2x3</a></div><div class="ttdeci">tmat2x3&lt; float, highp &gt; highp_mat2x3</div><div class="ttdoc">2 columns of 3 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00100">type_mat.hpp:100</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00053.html b/src/third_party/glm/doc/api/a00053.html
new file mode 100644
index 0000000..53bcc06
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00053.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat2x4.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat2x4.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00053_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00053_source.html">mat2x4.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00053_source.html b/src/third_party/glm/doc/api/a00053_source.html
new file mode 100644
index 0000000..8eef9f5
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00053_source.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat2x4.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat2x4.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00053.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00117.html">detail/type_mat2x4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;float, lowp&gt;            <a class="code" href="a00158.html#gad64a0179b75508142a72917854034b9b">lowp_mat2x4</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga7e95e348c99ef3d56b87ede14bc90bfe">mediump_mat2x4</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;float, highp&gt;           <a class="code" href="a00158.html#ga03fe2f9a84c61cc0f08b324a27d9b493">highp_mat2x4</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_gad64a0179b75508142a72917854034b9b"><div class="ttname"><a href="a00158.html#gad64a0179b75508142a72917854034b9b">glm::lowp_mat2x4</a></div><div class="ttdeci">tmat2x4&lt; float, lowp &gt; lowp_mat2x4</div><div class="ttdoc">2 columns of 4 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00112">type_mat.hpp:112</a></div></div>
+<div class="ttc" id="a00117_html"><div class="ttname"><a href="a00117.html">type_mat2x4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_ga03fe2f9a84c61cc0f08b324a27d9b493"><div class="ttname"><a href="a00158.html#ga03fe2f9a84c61cc0f08b324a27d9b493">glm::highp_mat2x4</a></div><div class="ttdeci">tmat2x4&lt; float, highp &gt; highp_mat2x4</div><div class="ttdoc">2 columns of 4 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00126">type_mat.hpp:126</a></div></div>
+<div class="ttc" id="a00158_html_ga7e95e348c99ef3d56b87ede14bc90bfe"><div class="ttname"><a href="a00158.html#ga7e95e348c99ef3d56b87ede14bc90bfe">glm::mediump_mat2x4</a></div><div class="ttdeci">tmat2x4&lt; float, mediump &gt; mediump_mat2x4</div><div class="ttdoc">2 columns of 4 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00119">type_mat.hpp:119</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00054.html b/src/third_party/glm/doc/api/a00054.html
new file mode 100644
index 0000000..0777a27
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00054.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat3x2.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat3x2.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00054_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00054_source.html">mat3x2.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00054_source.html b/src/third_party/glm/doc/api/a00054_source.html
new file mode 100644
index 0000000..e56e553
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00054_source.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat3x2.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat3x2.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00054.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00118.html">detail/type_mat3x2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;float, lowp&gt;            <a class="code" href="a00158.html#gaa2542e884ac7d05ada8ebb078b721924">lowp_mat3x2</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga9fa569295a9bd6ce0825ccb832c8aac9">mediump_mat3x2</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;float, highp&gt;           <a class="code" href="a00158.html#ga6b00cd7956ac2ee3d4f3ab3b549b564a">highp_mat3x2</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;}<span class="comment">//namespace</span></div>
+<div class="ttc" id="a00118_html"><div class="ttname"><a href="a00118.html">type_mat3x2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_ga9fa569295a9bd6ce0825ccb832c8aac9"><div class="ttname"><a href="a00158.html#ga9fa569295a9bd6ce0825ccb832c8aac9">glm::mediump_mat3x2</a></div><div class="ttdeci">tmat3x2&lt; float, mediump &gt; mediump_mat3x2</div><div class="ttdoc">3 columns of 2 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00145">type_mat.hpp:145</a></div></div>
+<div class="ttc" id="a00158_html_ga6b00cd7956ac2ee3d4f3ab3b549b564a"><div class="ttname"><a href="a00158.html#ga6b00cd7956ac2ee3d4f3ab3b549b564a">glm::highp_mat3x2</a></div><div class="ttdeci">tmat3x2&lt; float, highp &gt; highp_mat3x2</div><div class="ttdoc">3 columns of 2 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00152">type_mat.hpp:152</a></div></div>
+<div class="ttc" id="a00158_html_gaa2542e884ac7d05ada8ebb078b721924"><div class="ttname"><a href="a00158.html#gaa2542e884ac7d05ada8ebb078b721924">glm::lowp_mat3x2</a></div><div class="ttdeci">tmat3x2&lt; float, lowp &gt; lowp_mat3x2</div><div class="ttdoc">3 columns of 2 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00138">type_mat.hpp:138</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00055.html b/src/third_party/glm/doc/api/a00055.html
new file mode 100644
index 0000000..8df165f
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00055.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat3x3.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat3x3.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00055_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00055_source.html">mat3x3.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00055_source.html b/src/third_party/glm/doc/api/a00055_source.html
new file mode 100644
index 0000000..ef15c8b
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00055_source.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat3x3.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat3x3.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00055.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00119.html">detail/type_mat3x3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, lowp&gt;            <a class="code" href="a00158.html#ga6a66118df7e2398a36ca4a8e98ce6783">lowp_mat3</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga29d313adfc82fd4179d29a9fd98b1b5b">mediump_mat3</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, highp&gt;           <a class="code" href="a00158.html#gaac1bde847d053902c27bad811b76e9fd">highp_mat3</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, lowp&gt;            <a class="code" href="a00158.html#gab7ca36023fa56d8006341a192ee09260">lowp_mat3x3</a>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga2f02cb49e386f65817c10ead9bbe7dec">mediump_mat3x3</a>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;float, highp&gt;           <a class="code" href="a00158.html#ga223de5d0549b215566dfb977d4bb45bd">highp_mat3x3</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00158_html_gab7ca36023fa56d8006341a192ee09260"><div class="ttname"><a href="a00158.html#gab7ca36023fa56d8006341a192ee09260">glm::lowp_mat3x3</a></div><div class="ttdeci">tmat3x3&lt; float, lowp &gt; lowp_mat3x3</div><div class="ttdoc">3 columns of 3 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00185">type_mat.hpp:185</a></div></div>
+<div class="ttc" id="a00158_html_gaac1bde847d053902c27bad811b76e9fd"><div class="ttname"><a href="a00158.html#gaac1bde847d053902c27bad811b76e9fd">glm::highp_mat3</a></div><div class="ttdeci">tmat3x3&lt; float, highp &gt; highp_mat3</div><div class="ttdoc">3 columns of 3 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00178">type_mat.hpp:178</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_ga29d313adfc82fd4179d29a9fd98b1b5b"><div class="ttname"><a href="a00158.html#ga29d313adfc82fd4179d29a9fd98b1b5b">glm::mediump_mat3</a></div><div class="ttdeci">tmat3x3&lt; float, mediump &gt; mediump_mat3</div><div class="ttdoc">3 columns of 3 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00171">type_mat.hpp:171</a></div></div>
+<div class="ttc" id="a00158_html_ga223de5d0549b215566dfb977d4bb45bd"><div class="ttname"><a href="a00158.html#ga223de5d0549b215566dfb977d4bb45bd">glm::highp_mat3x3</a></div><div class="ttdeci">tmat3x3&lt; float, highp &gt; highp_mat3x3</div><div class="ttdoc">3 columns of 3 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00199">type_mat.hpp:199</a></div></div>
+<div class="ttc" id="a00158_html_ga2f02cb49e386f65817c10ead9bbe7dec"><div class="ttname"><a href="a00158.html#ga2f02cb49e386f65817c10ead9bbe7dec">glm::mediump_mat3x3</a></div><div class="ttdeci">tmat3x3&lt; float, mediump &gt; mediump_mat3x3</div><div class="ttdoc">3 columns of 3 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00192">type_mat.hpp:192</a></div></div>
+<div class="ttc" id="a00158_html_ga6a66118df7e2398a36ca4a8e98ce6783"><div class="ttname"><a href="a00158.html#ga6a66118df7e2398a36ca4a8e98ce6783">glm::lowp_mat3</a></div><div class="ttdeci">tmat3x3&lt; float, lowp &gt; lowp_mat3</div><div class="ttdoc">3 columns of 3 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00164">type_mat.hpp:164</a></div></div>
+<div class="ttc" id="a00119_html"><div class="ttname"><a href="a00119.html">type_mat3x3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00056.html b/src/third_party/glm/doc/api/a00056.html
new file mode 100644
index 0000000..f3b8cd1
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00056.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat3x4.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat3x4.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00056_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00056_source.html">mat3x4.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00056_source.html b/src/third_party/glm/doc/api/a00056_source.html
new file mode 100644
index 0000000..468f247
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00056_source.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat3x4.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat3x4.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00056.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00120.html">detail/type_mat3x4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;float, lowp&gt;            <a class="code" href="a00158.html#ga2938621d14e70bc3dc576b4fc1547a7e">lowp_mat3x4</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;float, mediump&gt;         <a class="code" href="a00158.html#gac7afc5b81d320dbd7bd6a6f07d587e24">mediump_mat3x4</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;float, highp&gt;           <a class="code" href="a00158.html#ga117d8a040e738396a3d60368605623d2">highp_mat3x4</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00158_html_ga117d8a040e738396a3d60368605623d2"><div class="ttname"><a href="a00158.html#ga117d8a040e738396a3d60368605623d2">glm::highp_mat3x4</a></div><div class="ttdeci">tmat3x4&lt; float, highp &gt; highp_mat3x4</div><div class="ttdoc">3 columns of 4 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00225">type_mat.hpp:225</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_ga2938621d14e70bc3dc576b4fc1547a7e"><div class="ttname"><a href="a00158.html#ga2938621d14e70bc3dc576b4fc1547a7e">glm::lowp_mat3x4</a></div><div class="ttdeci">tmat3x4&lt; float, lowp &gt; lowp_mat3x4</div><div class="ttdoc">3 columns of 4 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00211">type_mat.hpp:211</a></div></div>
+<div class="ttc" id="a00158_html_gac7afc5b81d320dbd7bd6a6f07d587e24"><div class="ttname"><a href="a00158.html#gac7afc5b81d320dbd7bd6a6f07d587e24">glm::mediump_mat3x4</a></div><div class="ttdeci">tmat3x4&lt; float, mediump &gt; mediump_mat3x4</div><div class="ttdoc">3 columns of 4 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00218">type_mat.hpp:218</a></div></div>
+<div class="ttc" id="a00120_html"><div class="ttname"><a href="a00120.html">type_mat3x4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00057.html b/src/third_party/glm/doc/api/a00057.html
new file mode 100644
index 0000000..dd2a847
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00057.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat4x2.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat4x2.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00057_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00057_source.html">mat4x2.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00057_source.html b/src/third_party/glm/doc/api/a00057_source.html
new file mode 100644
index 0000000..937bd88
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00057_source.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat4x2.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat4x2.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00057.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00121.html">detail/type_mat4x2.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;float, lowp&gt;            <a class="code" href="a00158.html#gac6d04a9590cb7ab62cbe29203dbb9b93">lowp_mat4x2</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga22194c68bc3d798bb68a22f635558c8d">mediump_mat4x2</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;float, highp&gt;           <a class="code" href="a00158.html#gaeea75c96b308be4114e0badf49f58075">highp_mat4x2</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00158_html_gac6d04a9590cb7ab62cbe29203dbb9b93"><div class="ttname"><a href="a00158.html#gac6d04a9590cb7ab62cbe29203dbb9b93">glm::lowp_mat4x2</a></div><div class="ttdeci">tmat4x2&lt; float, lowp &gt; lowp_mat4x2</div><div class="ttdoc">4 columns of 2 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00237">type_mat.hpp:237</a></div></div>
+<div class="ttc" id="a00158_html_gaeea75c96b308be4114e0badf49f58075"><div class="ttname"><a href="a00158.html#gaeea75c96b308be4114e0badf49f58075">glm::highp_mat4x2</a></div><div class="ttdeci">tmat4x2&lt; float, highp &gt; highp_mat4x2</div><div class="ttdoc">4 columns of 2 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00251">type_mat.hpp:251</a></div></div>
+<div class="ttc" id="a00121_html"><div class="ttname"><a href="a00121.html">type_mat4x2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_ga22194c68bc3d798bb68a22f635558c8d"><div class="ttname"><a href="a00158.html#ga22194c68bc3d798bb68a22f635558c8d">glm::mediump_mat4x2</a></div><div class="ttdeci">tmat4x2&lt; float, mediump &gt; mediump_mat4x2</div><div class="ttdoc">4 columns of 2 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00244">type_mat.hpp:244</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00058_source.html b/src/third_party/glm/doc/api/a00058_source.html
new file mode 100644
index 0000000..5e355e6
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00058_source.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat4x3.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat4x3.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00122.html">detail/type_mat4x3.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;float, lowp&gt;            <a class="code" href="a00158.html#gafb3dbbc82f8b166867fd21c76eb8db4f">lowp_mat4x3</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga38a01cba69e3db9b1a1056b362519acb">mediump_mat4x3</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;float, highp&gt;           <a class="code" href="a00158.html#ga046e59c57aaa185a8b0b012164ce707f">highp_mat4x3</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00158_html_ga046e59c57aaa185a8b0b012164ce707f"><div class="ttname"><a href="a00158.html#ga046e59c57aaa185a8b0b012164ce707f">glm::highp_mat4x3</a></div><div class="ttdeci">tmat4x3&lt; float, highp &gt; highp_mat4x3</div><div class="ttdoc">4 columns of 3 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00277">type_mat.hpp:277</a></div></div>
+<div class="ttc" id="a00122_html"><div class="ttname"><a href="a00122.html">type_mat4x3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_ga38a01cba69e3db9b1a1056b362519acb"><div class="ttname"><a href="a00158.html#ga38a01cba69e3db9b1a1056b362519acb">glm::mediump_mat4x3</a></div><div class="ttdeci">tmat4x3&lt; float, mediump &gt; mediump_mat4x3</div><div class="ttdoc">4 columns of 3 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00270">type_mat.hpp:270</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_gafb3dbbc82f8b166867fd21c76eb8db4f"><div class="ttname"><a href="a00158.html#gafb3dbbc82f8b166867fd21c76eb8db4f">glm::lowp_mat4x3</a></div><div class="ttdeci">tmat4x3&lt; float, lowp &gt; lowp_mat4x3</div><div class="ttdoc">4 columns of 3 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00263">type_mat.hpp:263</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00059.html b/src/third_party/glm/doc/api/a00059.html
new file mode 100644
index 0000000..16837da
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00059.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat4x4.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat4x4.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00059_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00059_source.html">mat4x4.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00059_source.html b/src/third_party/glm/doc/api/a00059_source.html
new file mode 100644
index 0000000..aa441e5
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00059_source.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: mat4x4.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">mat4x4.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00059.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00123.html">detail/type_mat4x4.hpp</a>&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;{</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, lowp&gt;            <a class="code" href="a00158.html#gabb754302a1ff8736ec7814d860c9a3c0">lowp_mat4</a>;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga6259813853e4253f80c2a08672e9fb6a">mediump_mat4</a>;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;        </div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, highp&gt;           <a class="code" href="a00158.html#gabace1eeb2fac7d73a7faaecf33f352d0">highp_mat4</a>;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, lowp&gt;            <a class="code" href="a00158.html#gafff11cbd0abc762e8a340870a31d5bfa">lowp_mat4x4</a>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        </div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, mediump&gt;         <a class="code" href="a00158.html#ga535614d97234065ab44b2513667c8563">mediump_mat4x4</a>;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;float, highp&gt;           <a class="code" href="a00158.html#gaa72822d91f0dceb4dcaaec550cbfeead">highp_mat4x4</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00158_html_ga535614d97234065ab44b2513667c8563"><div class="ttname"><a href="a00158.html#ga535614d97234065ab44b2513667c8563">glm::mediump_mat4x4</a></div><div class="ttdeci">tmat4x4&lt; float, mediump &gt; mediump_mat4x4</div><div class="ttdoc">4 columns of 4 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00318">type_mat.hpp:318</a></div></div>
+<div class="ttc" id="a00158_html_gafff11cbd0abc762e8a340870a31d5bfa"><div class="ttname"><a href="a00158.html#gafff11cbd0abc762e8a340870a31d5bfa">glm::lowp_mat4x4</a></div><div class="ttdeci">tmat4x4&lt; float, lowp &gt; lowp_mat4x4</div><div class="ttdoc">4 columns of 4 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00311">type_mat.hpp:311</a></div></div>
+<div class="ttc" id="a00123_html"><div class="ttname"><a href="a00123.html">type_mat4x4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+<div class="ttc" id="a00158_html_gabace1eeb2fac7d73a7faaecf33f352d0"><div class="ttname"><a href="a00158.html#gabace1eeb2fac7d73a7faaecf33f352d0">glm::highp_mat4</a></div><div class="ttdeci">tmat4x4&lt; float, highp &gt; highp_mat4</div><div class="ttdoc">4 columns of 4 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00304">type_mat.hpp:304</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00158_html_gabb754302a1ff8736ec7814d860c9a3c0"><div class="ttname"><a href="a00158.html#gabb754302a1ff8736ec7814d860c9a3c0">glm::lowp_mat4</a></div><div class="ttdeci">tmat4x4&lt; float, lowp &gt; lowp_mat4</div><div class="ttdoc">4 columns of 4 components matrix of low precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00290">type_mat.hpp:290</a></div></div>
+<div class="ttc" id="a00158_html_gaa72822d91f0dceb4dcaaec550cbfeead"><div class="ttname"><a href="a00158.html#gaa72822d91f0dceb4dcaaec550cbfeead">glm::highp_mat4x4</a></div><div class="ttdeci">tmat4x4&lt; float, highp &gt; highp_mat4x4</div><div class="ttdoc">4 columns of 4 components matrix of high precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00325">type_mat.hpp:325</a></div></div>
+<div class="ttc" id="a00158_html_ga6259813853e4253f80c2a08672e9fb6a"><div class="ttname"><a href="a00158.html#ga6259813853e4253f80c2a08672e9fb6a">glm::mediump_mat4</a></div><div class="ttdeci">tmat4x4&lt; float, mediump &gt; mediump_mat4</div><div class="ttdoc">4 columns of 4 components matrix of medium precision floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00114_source.html#l00297">type_mat.hpp:297</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00060.html b/src/third_party/glm/doc/api/a00060.html
new file mode 100644
index 0000000..f0f7c58
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00060.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00060_source.html">Go to the source code of this file.</a></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
+
+<p>Definition in file <a class="el" href="a00060_source.html">matrix.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00060_source.html b/src/third_party/glm/doc/api/a00060_source.html
new file mode 100644
index 0000000..b2112bc
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00060_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00060.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00033.html">detail/func_matrix.hpp</a>&quot;</span></div>
+<div class="ttc" id="a00033_html"><div class="ttname"><a href="a00033.html">func_matrix.hpp</a></div><div class="ttdoc">GLM Core </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00061.html b/src/third_party/glm/doc/api/a00061.html
new file mode 100644
index 0000000..bba35e9
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00061.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_access.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_access.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00061_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga96022eb0d3fae39d89fc7a954e59b374"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga96022eb0d3fae39d89fc7a954e59b374"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::col_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#ga96022eb0d3fae39d89fc7a954e59b374">column</a> (genType const &amp;m, length_t index)</td></tr>
+<tr class="separator:ga96022eb0d3fae39d89fc7a954e59b374"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9e757377523890e8b80c5843dbe4dd15"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga9e757377523890e8b80c5843dbe4dd15"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#ga9e757377523890e8b80c5843dbe4dd15">column</a> (genType const &amp;m, length_t index, typename genType::col_type const &amp;x)</td></tr>
+<tr class="separator:ga9e757377523890e8b80c5843dbe4dd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga259e5ebd0f31ec3f83440f8cae7f5dba"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:ga259e5ebd0f31ec3f83440f8cae7f5dba"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::row_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#ga259e5ebd0f31ec3f83440f8cae7f5dba">row</a> (genType const &amp;m, length_t index)</td></tr>
+<tr class="separator:ga259e5ebd0f31ec3f83440f8cae7f5dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaadcc64829aadf4103477679e48c7594f"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gaadcc64829aadf4103477679e48c7594f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00166.html#gaadcc64829aadf4103477679e48c7594f">row</a> (genType const &amp;m, length_t index, typename genType::row_type const &amp;x)</td></tr>
+<tr class="separator:gaadcc64829aadf4103477679e48c7594f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00166.html">GLM_GTC_matrix_access</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00061_source.html">matrix_access.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00061_source.html b/src/third_party/glm/doc/api/a00061_source.html
new file mode 100644
index 0000000..251cdea
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00061_source.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_access.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix_access.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00061.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_matrix_access extension included&quot;)</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;{</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::row_type <a class="code" href="a00166.html#gaadcc64829aadf4103477679e48c7594f">row</a>(</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                genType <span class="keyword">const</span> &amp; m,</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                length_t index);</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00166.html#gaadcc64829aadf4103477679e48c7594f">row</a>(</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                genType <span class="keyword">const</span> &amp; m,</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                length_t index,</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                <span class="keyword">typename</span> genType::row_type <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        GLM_FUNC_DECL <span class="keyword">typename</span> genType::col_type <a class="code" href="a00166.html#ga9e757377523890e8b80c5843dbe4dd15">column</a>(</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;                genType <span class="keyword">const</span> &amp; m,</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;                length_t index);</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00166.html#ga9e757377523890e8b80c5843dbe4dd15">column</a>(</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;                genType <span class="keyword">const</span> &amp; m,</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;                length_t index,</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                <span class="keyword">typename</span> genType::col_type <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#include &quot;matrix_access.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00166_html_gaadcc64829aadf4103477679e48c7594f"><div class="ttname"><a href="a00166.html#gaadcc64829aadf4103477679e48c7594f">glm::row</a></div><div class="ttdeci">GLM_FUNC_DECL genType row(genType const &amp;m, length_t index, typename genType::row_type const &amp;x)</div><div class="ttdoc">Set a specific row to a matrix. </div></div>
+<div class="ttc" id="a00166_html_ga9e757377523890e8b80c5843dbe4dd15"><div class="ttname"><a href="a00166.html#ga9e757377523890e8b80c5843dbe4dd15">glm::column</a></div><div class="ttdeci">GLM_FUNC_DECL genType column(genType const &amp;m, length_t index, typename genType::col_type const &amp;x)</div><div class="ttdoc">Set a specific column to a matrix. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00062.html b/src/third_party/glm/doc/api/a00062.html
new file mode 100644
index 0000000..4cefc76
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00062.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_cross_product.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_cross_product.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00062_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga04385b2e3a93c78d116b51af2d8d708e"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga04385b2e3a93c78d116b51af2d8d708e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat3x3&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00203.html#ga04385b2e3a93c78d116b51af2d8d708e">matrixCross3</a> (tvec3&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga04385b2e3a93c78d116b51af2d8d708e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2d46cc5253761c214aa5c782865156b1"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga2d46cc5253761c214aa5c782865156b1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00203.html#ga2d46cc5253761c214aa5c782865156b1">matrixCross4</a> (tvec3&lt; T, P &gt; const &amp;x)</td></tr>
+<tr class="separator:ga2d46cc5253761c214aa5c782865156b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00203.html">GLM_GTX_matrix_cross_product</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
+<dd>
+<a class="el" href="a00192.html" title="Min and max functions for 3 to 4 parameters. ">GLM_GTX_extented_min_max</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00062_source.html">matrix_cross_product.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00062_source.html b/src/third_party/glm/doc/api/a00062_source.html
new file mode 100644
index 0000000..8585573
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00062_source.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_cross_product.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix_cross_product.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00062.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_matrix_cross_product extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL tmat3x3&lt;T, P&gt; <a class="code" href="a00203.html#ga04385b2e3a93c78d116b51af2d8d708e">matrixCross3</a>(</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, P&gt; <a class="code" href="a00203.html#ga2d46cc5253761c214aa5c782865156b1">matrixCross4</a>(</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; x);</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &quot;matrix_cross_product.inl&quot;</span></div>
+<div class="ttc" id="a00203_html_ga2d46cc5253761c214aa5c782865156b1"><div class="ttname"><a href="a00203.html#ga2d46cc5253761c214aa5c782865156b1">glm::matrixCross4</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; matrixCross4(tvec3&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Build a cross product matrix. </div></div>
+<div class="ttc" id="a00203_html_ga04385b2e3a93c78d116b51af2d8d708e"><div class="ttname"><a href="a00203.html#ga04385b2e3a93c78d116b51af2d8d708e">glm::matrixCross3</a></div><div class="ttdeci">GLM_FUNC_DECL tmat3x3&lt; T, P &gt; matrixCross3(tvec3&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Build a cross product matrix. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00063.html b/src/third_party/glm/doc/api/a00063.html
new file mode 100644
index 0000000..e462dc9
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00063.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_decompose.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_decompose.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00063_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga0f1245817507156b337798a253577c8b"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga0f1245817507156b337798a253577c8b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00204.html#ga0f1245817507156b337798a253577c8b">decompose</a> (tmat4x4&lt; T, P &gt; const &amp;modelMatrix, tvec3&lt; T, P &gt; &amp;scale, tquat&lt; T, P &gt; &amp;orientation, tvec3&lt; T, P &gt; &amp;translation, tvec3&lt; T, P &gt; &amp;skew, tvec4&lt; T, P &gt; &amp;perspective)</td></tr>
+<tr class="separator:ga0f1245817507156b337798a253577c8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00204.html">GLM_GTX_matrix_decompose</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00063_source.html">matrix_decompose.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00063_source.html b/src/third_party/glm/doc/api/a00063_source.html
new file mode 100644
index 0000000..2881a52
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00063_source.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_decompose.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix_decompose.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00063.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../mat4x4.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../vec3.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../vec4.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../geometric.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../gtc/matrix_transform.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_matrix_decompose extension included&quot;)</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00204.html#ga0f1245817507156b337798a253577c8b">decompose</a>(</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;                tmat4x4&lt;T, P&gt; <span class="keyword">const</span> &amp; modelMatrix,</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;                tvec3&lt;T, P&gt; &amp; <a class="code" href="a00169.html#ga8f062fcc07e2445500793f2803afebb0">scale</a>, tquat&lt;T, P&gt; &amp; <a class="code" href="a00224.html#ga49b4d082305cdfcfe0a5c184f684a902">orientation</a>, tvec3&lt;T, P&gt; &amp; translation, tvec3&lt;T, P&gt; &amp; skew, tvec4&lt;T, P&gt; &amp; <a class="code" href="a00169.html#gac3613dcb6c6916465ad5b7ad5a786175">perspective</a>);</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &quot;matrix_decompose.inl&quot;</span></div>
+<div class="ttc" id="a00224_html_ga49b4d082305cdfcfe0a5c184f684a902"><div class="ttname"><a href="a00224.html#ga49b4d082305cdfcfe0a5c184f684a902">glm::orientation</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; orientation(tvec3&lt; T, P &gt; const &amp;Normal, tvec3&lt; T, P &gt; const &amp;Up)</div><div class="ttdoc">Build a rotation matrix from a normal and a up vector. </div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00169_html_ga8f062fcc07e2445500793f2803afebb0"><div class="ttname"><a href="a00169.html#ga8f062fcc07e2445500793f2803afebb0">glm::scale</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; scale(tmat4x4&lt; T, P &gt; const &amp;m, tvec3&lt; T, P &gt; const &amp;v)</div><div class="ttdoc">Builds a scale 4 * 4 matrix created from 3 scalars. </div></div>
+<div class="ttc" id="a00169_html_gac3613dcb6c6916465ad5b7ad5a786175"><div class="ttname"><a href="a00169.html#gac3613dcb6c6916465ad5b7ad5a786175">glm::perspective</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, defaultp &gt; perspective(T fovy, T aspect, T near, T far)</div><div class="ttdoc">Creates a matrix for a symetric perspective-view frustum based on the default handedness. </div></div>
+<div class="ttc" id="a00204_html_ga0f1245817507156b337798a253577c8b"><div class="ttname"><a href="a00204.html#ga0f1245817507156b337798a253577c8b">glm::decompose</a></div><div class="ttdeci">GLM_FUNC_DECL bool decompose(tmat4x4&lt; T, P &gt; const &amp;modelMatrix, tvec3&lt; T, P &gt; &amp;scale, tquat&lt; T, P &gt; &amp;orientation, tvec3&lt; T, P &gt; &amp;translation, tvec3&lt; T, P &gt; &amp;skew, tvec4&lt; T, P &gt; &amp;perspective)</div><div class="ttdoc">Decomposes a model matrix to translations, rotation and scale components. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00064.html b/src/third_party/glm/doc/api/a00064.html
new file mode 100644
index 0000000..5a85643
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00064.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_integer.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_integer.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00064_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:gaa9f8144beebdefd85e2a9ac480e7608a"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaa9f8144beebdefd85e2a9ac480e7608a">highp_imat2</a></td></tr>
+<tr class="separator:gaa9f8144beebdefd85e2a9ac480e7608a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac455e55e7cb32e31396a9d4613da046a"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gac455e55e7cb32e31396a9d4613da046a">highp_imat2x2</a></td></tr>
+<tr class="separator:gac455e55e7cb32e31396a9d4613da046a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5f5f1e6dc06b72216463a425b2f7613e"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga5f5f1e6dc06b72216463a425b2f7613e">highp_imat2x3</a></td></tr>
+<tr class="separator:ga5f5f1e6dc06b72216463a425b2f7613e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga73b855cc40e5d8202b7ab38461326d65"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga73b855cc40e5d8202b7ab38461326d65">highp_imat2x4</a></td></tr>
+<tr class="separator:ga73b855cc40e5d8202b7ab38461326d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4efd6470c0edf9704d2244fc92dbc2a9"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga4efd6470c0edf9704d2244fc92dbc2a9">highp_imat3</a></td></tr>
+<tr class="separator:ga4efd6470c0edf9704d2244fc92dbc2a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0413bf87605b9247be2533c439127a1c"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga0413bf87605b9247be2533c439127a1c">highp_imat3x2</a></td></tr>
+<tr class="separator:ga0413bf87605b9247be2533c439127a1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacce460d54216438bb577bf8c9d68299c"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gacce460d54216438bb577bf8c9d68299c">highp_imat3x3</a></td></tr>
+<tr class="separator:gacce460d54216438bb577bf8c9d68299c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad4fea24b4100e21ed7742c91e5458d49"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gad4fea24b4100e21ed7742c91e5458d49">highp_imat3x4</a></td></tr>
+<tr class="separator:gad4fea24b4100e21ed7742c91e5458d49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga159ce04cc638ff4db755542cd8f758cb"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga159ce04cc638ff4db755542cd8f758cb">highp_imat4</a></td></tr>
+<tr class="separator:ga159ce04cc638ff4db755542cd8f758cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7d43dd8332000f7f19379efa1b303599"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7d43dd8332000f7f19379efa1b303599">highp_imat4x2</a></td></tr>
+<tr class="separator:ga7d43dd8332000f7f19379efa1b303599"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0c66b9b7c10a6017a58a03489c8d4c73"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga0c66b9b7c10a6017a58a03489c8d4c73">highp_imat4x3</a></td></tr>
+<tr class="separator:ga0c66b9b7c10a6017a58a03489c8d4c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae53db595d36f49a299e180302795e3c9"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; int, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gae53db595d36f49a299e180302795e3c9">highp_imat4x4</a></td></tr>
+<tr class="separator:gae53db595d36f49a299e180302795e3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7b96c808a36fbe87f41af1c77b7941c"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gae7b96c808a36fbe87f41af1c77b7941c">highp_umat2</a></td></tr>
+<tr class="separator:gae7b96c808a36fbe87f41af1c77b7941c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4860b4b01430bdb70643808c8d3bf5cb"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga4860b4b01430bdb70643808c8d3bf5cb">highp_umat2x2</a></td></tr>
+<tr class="separator:ga4860b4b01430bdb70643808c8d3bf5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac351446661e5a8168473ff7b3b5ac3b5"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gac351446661e5a8168473ff7b3b5ac3b5">highp_umat2x3</a></td></tr>
+<tr class="separator:gac351446661e5a8168473ff7b3b5ac3b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga815eb9fdf70edc45687cbcda07e97213"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga815eb9fdf70edc45687cbcda07e97213">highp_umat2x4</a></td></tr>
+<tr class="separator:ga815eb9fdf70edc45687cbcda07e97213"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa60b19d7cadbaa56bed1e6e0047af147"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaa60b19d7cadbaa56bed1e6e0047af147">highp_umat3</a></td></tr>
+<tr class="separator:gaa60b19d7cadbaa56bed1e6e0047af147"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab1d8e627b6a0b21c9b5e599a89132d8f"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gab1d8e627b6a0b21c9b5e599a89132d8f">highp_umat3x2</a></td></tr>
+<tr class="separator:gab1d8e627b6a0b21c9b5e599a89132d8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gacf71e9abe57bcfd18b4b003421e306aa"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gacf71e9abe57bcfd18b4b003421e306aa">highp_umat3x3</a></td></tr>
+<tr class="separator:gacf71e9abe57bcfd18b4b003421e306aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6edbf193ad6c4309e31262165f2655e7"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga6edbf193ad6c4309e31262165f2655e7">highp_umat3x4</a></td></tr>
+<tr class="separator:ga6edbf193ad6c4309e31262165f2655e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8368cb49cb0bd5ac682a71d1eccc9a8c"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga8368cb49cb0bd5ac682a71d1eccc9a8c">highp_umat4</a></td></tr>
+<tr class="separator:ga8368cb49cb0bd5ac682a71d1eccc9a8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaaba8a59eac3e5c0b3aaa9b35c1f10292"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaaba8a59eac3e5c0b3aaa9b35c1f10292">highp_umat4x2</a></td></tr>
+<tr class="separator:gaaba8a59eac3e5c0b3aaa9b35c1f10292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga899a376888652fe3c03718641812bb27"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga899a376888652fe3c03718641812bb27">highp_umat4x3</a></td></tr>
+<tr class="separator:ga899a376888652fe3c03718641812bb27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab8068521c0ad6990373d27d87d333084"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; uint, highp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gab8068521c0ad6990373d27d87d333084">highp_umat4x4</a></td></tr>
+<tr class="separator:gab8068521c0ad6990373d27d87d333084"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaabe04f9948d4a213bb1c20137de03e01"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaabe04f9948d4a213bb1c20137de03e01">imat2</a></td></tr>
+<tr class="separator:gaabe04f9948d4a213bb1c20137de03e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa4732a240522ad9bc28144fda2fc14ec"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaa4732a240522ad9bc28144fda2fc14ec">imat2x2</a></td></tr>
+<tr class="separator:gaa4732a240522ad9bc28144fda2fc14ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3f42dd3d5d94a0fd5706f7ec8dd0c605"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat2x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">imat2x3</a></td></tr>
+<tr class="separator:ga3f42dd3d5d94a0fd5706f7ec8dd0c605"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9d8faafdca42583d67e792dd038fc668"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat2x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga9d8faafdca42583d67e792dd038fc668">imat2x4</a></td></tr>
+<tr class="separator:ga9d8faafdca42583d67e792dd038fc668"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga038f68437155ffa3c2583a15264a8195"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga038f68437155ffa3c2583a15264a8195">imat3</a></td></tr>
+<tr class="separator:ga038f68437155ffa3c2583a15264a8195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7b33bbe4f12c060892bd3cc8d4cd737f"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat3x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">imat3x2</a></td></tr>
+<tr class="separator:ga7b33bbe4f12c060892bd3cc8d4cd737f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6aacc960f62e8f7d2fe9d32d5050e7a4"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">imat3x3</a></td></tr>
+<tr class="separator:ga6aacc960f62e8f7d2fe9d32d5050e7a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6e9ce23496d8b08dfc302d4039694b58"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat3x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga6e9ce23496d8b08dfc302d4039694b58">imat3x4</a></td></tr>
+<tr class="separator:ga6e9ce23496d8b08dfc302d4039694b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga96b0d26a33b81bb6a60ca0f39682f7eb"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">imat4</a></td></tr>
+<tr class="separator:ga96b0d26a33b81bb6a60ca0f39682f7eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8ce7ef51d8b2c1901fa5414deccbc3fa"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat4x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">imat4x2</a></td></tr>
+<tr class="separator:ga8ce7ef51d8b2c1901fa5414deccbc3fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga705ee0bf49d6c3de4404ce2481bf0df5"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat4x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga705ee0bf49d6c3de4404ce2481bf0df5">imat4x3</a></td></tr>
+<tr class="separator:ga705ee0bf49d6c3de4404ce2481bf0df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga43ed5e4f475b6f4cad7cba78f29c405b"><td class="memItemLeft" align="right" valign="top">typedef mediump_imat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga43ed5e4f475b6f4cad7cba78f29c405b">imat4x4</a></td></tr>
+<tr class="separator:ga43ed5e4f475b6f4cad7cba78f29c405b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3c035fec7db0d671ec8f9f1f0d05bed0"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3c035fec7db0d671ec8f9f1f0d05bed0">lowp_imat2</a></td></tr>
+<tr class="separator:ga3c035fec7db0d671ec8f9f1f0d05bed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5bfe58853451fbc1f1ef6ce1f93c5e31"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga5bfe58853451fbc1f1ef6ce1f93c5e31">lowp_imat2x2</a></td></tr>
+<tr class="separator:ga5bfe58853451fbc1f1ef6ce1f93c5e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3f8fb92b62e31528886cc728d3404ecc"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3f8fb92b62e31528886cc728d3404ecc">lowp_imat2x3</a></td></tr>
+<tr class="separator:ga3f8fb92b62e31528886cc728d3404ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga892b53e26d36763f380b08a5768dee6b"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga892b53e26d36763f380b08a5768dee6b">lowp_imat2x4</a></td></tr>
+<tr class="separator:ga892b53e26d36763f380b08a5768dee6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga148f3a81d15a570b9460158e6964f41c"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga148f3a81d15a570b9460158e6964f41c">lowp_imat3</a></td></tr>
+<tr class="separator:ga148f3a81d15a570b9460158e6964f41c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7655dfee0d726e80d7a3b72f46d5fd35"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7655dfee0d726e80d7a3b72f46d5fd35">lowp_imat3x2</a></td></tr>
+<tr class="separator:ga7655dfee0d726e80d7a3b72f46d5fd35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab3d5c6aaeb5815f8f080305888f6828f"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gab3d5c6aaeb5815f8f080305888f6828f">lowp_imat3x3</a></td></tr>
+<tr class="separator:gab3d5c6aaeb5815f8f080305888f6828f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3d913d70c629aa7ad504739286328f1b"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3d913d70c629aa7ad504739286328f1b">lowp_imat3x4</a></td></tr>
+<tr class="separator:ga3d913d70c629aa7ad504739286328f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad3d7b23bdb4ed9b7d53c9db792db9bb4"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gad3d7b23bdb4ed9b7d53c9db792db9bb4">lowp_imat4</a></td></tr>
+<tr class="separator:gad3d7b23bdb4ed9b7d53c9db792db9bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fdfce509d30bdd7778b8b156cb968df"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3fdfce509d30bdd7778b8b156cb968df">lowp_imat4x2</a></td></tr>
+<tr class="separator:ga3fdfce509d30bdd7778b8b156cb968df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6a9945878f99294cfde40c6c3a867d69"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga6a9945878f99294cfde40c6c3a867d69">lowp_imat4x3</a></td></tr>
+<tr class="separator:ga6a9945878f99294cfde40c6c3a867d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga330140b22a9449caab308f2c69bf4c80"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; int, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga330140b22a9449caab308f2c69bf4c80">lowp_imat4x4</a></td></tr>
+<tr class="separator:ga330140b22a9449caab308f2c69bf4c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1406406e396b56bde3c7c0722f657064"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1406406e396b56bde3c7c0722f657064">lowp_umat2</a></td></tr>
+<tr class="separator:ga1406406e396b56bde3c7c0722f657064"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f0cea730f6c13b16e511bd2d63507a3"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1f0cea730f6c13b16e511bd2d63507a3">lowp_umat2x2</a></td></tr>
+<tr class="separator:ga1f0cea730f6c13b16e511bd2d63507a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa86bd9dc8463b46a46ee944948111676"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaa86bd9dc8463b46a46ee944948111676">lowp_umat2x3</a></td></tr>
+<tr class="separator:gaa86bd9dc8463b46a46ee944948111676"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7b6c64600bad79d735fa6bec843b2bb4"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7b6c64600bad79d735fa6bec843b2bb4">lowp_umat2x4</a></td></tr>
+<tr class="separator:ga7b6c64600bad79d735fa6bec843b2bb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7fc1f795f2abd0020c7b5204f4c83033"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7fc1f795f2abd0020c7b5204f4c83033">lowp_umat3</a></td></tr>
+<tr class="separator:ga7fc1f795f2abd0020c7b5204f4c83033"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad73943020bb49a072317ecfc52d587f0"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gad73943020bb49a072317ecfc52d587f0">lowp_umat3x2</a></td></tr>
+<tr class="separator:gad73943020bb49a072317ecfc52d587f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga402d169fc3cdca5f3ea47a358a7b7c67"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga402d169fc3cdca5f3ea47a358a7b7c67">lowp_umat3x3</a></td></tr>
+<tr class="separator:ga402d169fc3cdca5f3ea47a358a7b7c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2dce1c00ed50fd09fe349de3713d96db"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga2dce1c00ed50fd09fe349de3713d96db">lowp_umat3x4</a></td></tr>
+<tr class="separator:ga2dce1c00ed50fd09fe349de3713d96db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafe68c1cf2b379a9a11d1a11c9c2f8884"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gafe68c1cf2b379a9a11d1a11c9c2f8884">lowp_umat4</a></td></tr>
+<tr class="separator:gafe68c1cf2b379a9a11d1a11c9c2f8884"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga76cab31d492ea214c693ab9132b4de95"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga76cab31d492ea214c693ab9132b4de95">lowp_umat4x2</a></td></tr>
+<tr class="separator:ga76cab31d492ea214c693ab9132b4de95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae3ca9e28a9d2e5fce5e28593d27e370d"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gae3ca9e28a9d2e5fce5e28593d27e370d">lowp_umat4x3</a></td></tr>
+<tr class="separator:gae3ca9e28a9d2e5fce5e28593d27e370d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga742be484e56e08ef637f8ec4ab7c8bb2"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; uint, lowp &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga742be484e56e08ef637f8ec4ab7c8bb2">lowp_umat4x4</a></td></tr>
+<tr class="separator:ga742be484e56e08ef637f8ec4ab7c8bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3f8e55e14a6fc61850f8c0df9b4ff655"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3f8e55e14a6fc61850f8c0df9b4ff655">mediump_imat2</a></td></tr>
+<tr class="separator:ga3f8e55e14a6fc61850f8c0df9b4ff655"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabc572d47b60f7e595d7aad945f5d13a8"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gabc572d47b60f7e595d7aad945f5d13a8">mediump_imat2x2</a></td></tr>
+<tr class="separator:gabc572d47b60f7e595d7aad945f5d13a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5b7e9af5024e1a164db6419f67ecfc9a"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga5b7e9af5024e1a164db6419f67ecfc9a">mediump_imat2x3</a></td></tr>
+<tr class="separator:ga5b7e9af5024e1a164db6419f67ecfc9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaa08e27efc514088315ccbaf818f01880"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaa08e27efc514088315ccbaf818f01880">mediump_imat2x4</a></td></tr>
+<tr class="separator:gaa08e27efc514088315ccbaf818f01880"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac2b0985b576fe0eba47227499aed2b3c"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gac2b0985b576fe0eba47227499aed2b3c">mediump_imat3</a></td></tr>
+<tr class="separator:gac2b0985b576fe0eba47227499aed2b3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1a61c706b31aa60fd7012b2b27765983"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1a61c706b31aa60fd7012b2b27765983">mediump_imat3x2</a></td></tr>
+<tr class="separator:ga1a61c706b31aa60fd7012b2b27765983"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga05064e28b911be1af0503ddf6e6204a3"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga05064e28b911be1af0503ddf6e6204a3">mediump_imat3x3</a></td></tr>
+<tr class="separator:ga05064e28b911be1af0503ddf6e6204a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga8e0f797a57fec255f0eec7da1511bc38"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga8e0f797a57fec255f0eec7da1511bc38">mediump_imat3x4</a></td></tr>
+<tr class="separator:ga8e0f797a57fec255f0eec7da1511bc38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga551ad2e4e0304c67451ffbadeef0d615"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga551ad2e4e0304c67451ffbadeef0d615">mediump_imat4</a></td></tr>
+<tr class="separator:ga551ad2e4e0304c67451ffbadeef0d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1582c5dc83e49a7e53bb0b94bef9de54"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1582c5dc83e49a7e53bb0b94bef9de54">mediump_imat4x2</a></td></tr>
+<tr class="separator:ga1582c5dc83e49a7e53bb0b94bef9de54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1526c62951b04f5cd73f541f7b3b7d8d"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1526c62951b04f5cd73f541f7b3b7d8d">mediump_imat4x3</a></td></tr>
+<tr class="separator:ga1526c62951b04f5cd73f541f7b3b7d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga655bfcca624f422aff308dcc99688ce8"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; int, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga655bfcca624f422aff308dcc99688ce8">mediump_imat4x4</a></td></tr>
+<tr class="separator:ga655bfcca624f422aff308dcc99688ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7322b97f1be10c83290ab57ef784d493"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7322b97f1be10c83290ab57ef784d493">mediump_umat2</a></td></tr>
+<tr class="separator:ga7322b97f1be10c83290ab57ef784d493"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga0ffed083b64e4f764db0f446d2c49163"><td class="memItemLeft" align="right" valign="top">typedef tmat2x2&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga0ffed083b64e4f764db0f446d2c49163">mediump_umat2x2</a></td></tr>
+<tr class="separator:ga0ffed083b64e4f764db0f446d2c49163"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7ecc585b71766cfa96bd54a595bea1fb"><td class="memItemLeft" align="right" valign="top">typedef tmat2x3&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7ecc585b71766cfa96bd54a595bea1fb">mediump_umat2x3</a></td></tr>
+<tr class="separator:ga7ecc585b71766cfa96bd54a595bea1fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac4abd549f2e521c7f40f53b6235c450e"><td class="memItemLeft" align="right" valign="top">typedef tmat2x4&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gac4abd549f2e521c7f40f53b6235c450e">mediump_umat2x4</a></td></tr>
+<tr class="separator:gac4abd549f2e521c7f40f53b6235c450e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga93961d3aac6efa36dc3f9cfa7e9056e6"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga93961d3aac6efa36dc3f9cfa7e9056e6">mediump_umat3</a></td></tr>
+<tr class="separator:ga93961d3aac6efa36dc3f9cfa7e9056e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3fb358a947f8ceaefddd75bce22cd947"><td class="memItemLeft" align="right" valign="top">typedef tmat3x2&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga3fb358a947f8ceaefddd75bce22cd947">mediump_umat3x2</a></td></tr>
+<tr class="separator:ga3fb358a947f8ceaefddd75bce22cd947"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad4809dbfb1bfcf222d7b34a97a8eafe5"><td class="memItemLeft" align="right" valign="top">typedef tmat3x3&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gad4809dbfb1bfcf222d7b34a97a8eafe5">mediump_umat3x3</a></td></tr>
+<tr class="separator:gad4809dbfb1bfcf222d7b34a97a8eafe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5a9d62e44668ca2222f0362f9c99d9cc"><td class="memItemLeft" align="right" valign="top">typedef tmat3x4&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga5a9d62e44668ca2222f0362f9c99d9cc">mediump_umat3x4</a></td></tr>
+<tr class="separator:ga5a9d62e44668ca2222f0362f9c99d9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac23667a99ae1ec649b5e55cd5a05b833"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gac23667a99ae1ec649b5e55cd5a05b833">mediump_umat4</a></td></tr>
+<tr class="separator:gac23667a99ae1ec649b5e55cd5a05b833"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac8d1db85d62244fd90d240227c7f51ad"><td class="memItemLeft" align="right" valign="top">typedef tmat4x2&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gac8d1db85d62244fd90d240227c7f51ad">mediump_umat4x2</a></td></tr>
+<tr class="separator:gac8d1db85d62244fd90d240227c7f51ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7d332d462f2c1ad5a65dc580d3d1aa39"><td class="memItemLeft" align="right" valign="top">typedef tmat4x3&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga7d332d462f2c1ad5a65dc580d3d1aa39">mediump_umat4x3</a></td></tr>
+<tr class="separator:ga7d332d462f2c1ad5a65dc580d3d1aa39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga24716579cf155f4e042542808f83978c"><td class="memItemLeft" align="right" valign="top">typedef tmat4x4&lt; uint, mediump &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga24716579cf155f4e042542808f83978c">mediump_umat4x4</a></td></tr>
+<tr class="separator:ga24716579cf155f4e042542808f83978c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga4cae85566f900debf930c41944b64691"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga4cae85566f900debf930c41944b64691">umat2</a></td></tr>
+<tr class="separator:ga4cae85566f900debf930c41944b64691"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gabf8acdd33ce8951051edbca5200898aa"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat2x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gabf8acdd33ce8951051edbca5200898aa">umat2x2</a></td></tr>
+<tr class="separator:gabf8acdd33ce8951051edbca5200898aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1870da7578d5022b973a83155d386ab3"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat2x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1870da7578d5022b973a83155d386ab3">umat2x3</a></td></tr>
+<tr class="separator:ga1870da7578d5022b973a83155d386ab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga57936a3998e992370e59a223e0ee4fd4"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat2x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga57936a3998e992370e59a223e0ee4fd4">umat2x4</a></td></tr>
+<tr class="separator:ga57936a3998e992370e59a223e0ee4fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5085e3ff02abbac5e537eb7b89ab63b6"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga5085e3ff02abbac5e537eb7b89ab63b6">umat3</a></td></tr>
+<tr class="separator:ga5085e3ff02abbac5e537eb7b89ab63b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9cd7fa637a4a6788337f45231fad9e1a"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat3x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga9cd7fa637a4a6788337f45231fad9e1a">umat3x2</a></td></tr>
+<tr class="separator:ga9cd7fa637a4a6788337f45231fad9e1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1f2cfcf3357db0cdf31fcb15e3c6bafb"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat3x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">umat3x3</a></td></tr>
+<tr class="separator:ga1f2cfcf3357db0cdf31fcb15e3c6bafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gae7c78ff3fc4309605ab0fa186c8d48ba"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat3x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gae7c78ff3fc4309605ab0fa186c8d48ba">umat3x4</a></td></tr>
+<tr class="separator:gae7c78ff3fc4309605ab0fa186c8d48ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga38bc7bb6494e344185df596deeb4544c"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga38bc7bb6494e344185df596deeb4544c">umat4</a></td></tr>
+<tr class="separator:ga38bc7bb6494e344185df596deeb4544c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga70fa2d05896aa83cbc8c07672a429b53"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat4x2&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga70fa2d05896aa83cbc8c07672a429b53">umat4x2</a></td></tr>
+<tr class="separator:ga70fa2d05896aa83cbc8c07672a429b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga87581417945411f75cb31dd6ca1dba98"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat4x3&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#ga87581417945411f75cb31dd6ca1dba98">umat4x3</a></td></tr>
+<tr class="separator:ga87581417945411f75cb31dd6ca1dba98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaf72e6d399c42985db6872c50f53d7eb8"><td class="memItemLeft" align="right" valign="top">typedef mediump_umat4x4&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00167.html#gaf72e6d399c42985db6872c50f53d7eb8">umat4x4</a></td></tr>
+<tr class="separator:gaf72e6d399c42985db6872c50f53d7eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00167.html">GLM_GTC_matrix_integer</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00064_source.html">matrix_integer.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00064_source.html b/src/third_party/glm/doc/api/a00064_source.html
new file mode 100644
index 0000000..59a8291
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00064_source.html
@@ -0,0 +1,438 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_integer.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix_integer.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00064.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;../mat2x2.hpp&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../mat2x3.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../mat2x4.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../mat3x2.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../mat3x3.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;../mat3x4.hpp&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;../mat4x2.hpp&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;../mat4x3.hpp&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;../mat4x4.hpp&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_matrix_integer extension included&quot;)</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="a00167.html#gaa9f8144beebdefd85e2a9ac480e7608a">   36</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, highp&gt;                             <a class="code" href="a00167.html#gaa9f8144beebdefd85e2a9ac480e7608a">highp_imat2</a>;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="a00167.html#ga4efd6470c0edf9704d2244fc92dbc2a9">   40</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga4efd6470c0edf9704d2244fc92dbc2a9">highp_imat3</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a00167.html#ga159ce04cc638ff4db755542cd8f758cb">   44</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga159ce04cc638ff4db755542cd8f758cb">highp_imat4</a>;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00167.html#gac455e55e7cb32e31396a9d4613da046a">   48</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, highp&gt;                             <a class="code" href="a00167.html#gac455e55e7cb32e31396a9d4613da046a">highp_imat2x2</a>;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00167.html#ga5f5f1e6dc06b72216463a425b2f7613e">   52</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga5f5f1e6dc06b72216463a425b2f7613e">highp_imat2x3</a>;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="a00167.html#ga73b855cc40e5d8202b7ab38461326d65">   56</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga73b855cc40e5d8202b7ab38461326d65">highp_imat2x4</a>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="a00167.html#ga0413bf87605b9247be2533c439127a1c">   60</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga0413bf87605b9247be2533c439127a1c">highp_imat3x2</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="a00167.html#gacce460d54216438bb577bf8c9d68299c">   64</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, highp&gt;                             <a class="code" href="a00167.html#gacce460d54216438bb577bf8c9d68299c">highp_imat3x3</a>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="a00167.html#gad4fea24b4100e21ed7742c91e5458d49">   68</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;int, highp&gt;                             <a class="code" href="a00167.html#gad4fea24b4100e21ed7742c91e5458d49">highp_imat3x4</a>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="a00167.html#ga7d43dd8332000f7f19379efa1b303599">   72</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga7d43dd8332000f7f19379efa1b303599">highp_imat4x2</a>;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00167.html#ga0c66b9b7c10a6017a58a03489c8d4c73">   76</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;int, highp&gt;                             <a class="code" href="a00167.html#ga0c66b9b7c10a6017a58a03489c8d4c73">highp_imat4x3</a>;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="a00167.html#gae53db595d36f49a299e180302795e3c9">   80</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, highp&gt;                             <a class="code" href="a00167.html#gae53db595d36f49a299e180302795e3c9">highp_imat4x4</a>;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00167.html#ga3f8e55e14a6fc61850f8c0df9b4ff655">   85</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga3f8e55e14a6fc61850f8c0df9b4ff655">mediump_imat2</a>;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="a00167.html#gac2b0985b576fe0eba47227499aed2b3c">   89</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, mediump&gt;                   <a class="code" href="a00167.html#gac2b0985b576fe0eba47227499aed2b3c">mediump_imat3</a>;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="a00167.html#ga551ad2e4e0304c67451ffbadeef0d615">   93</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga551ad2e4e0304c67451ffbadeef0d615">mediump_imat4</a>;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a00167.html#gabc572d47b60f7e595d7aad945f5d13a8">   98</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, mediump&gt;                   <a class="code" href="a00167.html#gabc572d47b60f7e595d7aad945f5d13a8">mediump_imat2x2</a>;</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="a00167.html#ga5b7e9af5024e1a164db6419f67ecfc9a">  102</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga5b7e9af5024e1a164db6419f67ecfc9a">mediump_imat2x3</a>;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00167.html#gaa08e27efc514088315ccbaf818f01880">  106</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;int, mediump&gt;                   <a class="code" href="a00167.html#gaa08e27efc514088315ccbaf818f01880">mediump_imat2x4</a>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="a00167.html#ga1a61c706b31aa60fd7012b2b27765983">  110</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga1a61c706b31aa60fd7012b2b27765983">mediump_imat3x2</a>;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="a00167.html#ga05064e28b911be1af0503ddf6e6204a3">  114</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga05064e28b911be1af0503ddf6e6204a3">mediump_imat3x3</a>;</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="a00167.html#ga8e0f797a57fec255f0eec7da1511bc38">  118</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga8e0f797a57fec255f0eec7da1511bc38">mediump_imat3x4</a>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="a00167.html#ga1582c5dc83e49a7e53bb0b94bef9de54">  122</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga1582c5dc83e49a7e53bb0b94bef9de54">mediump_imat4x2</a>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="a00167.html#ga1526c62951b04f5cd73f541f7b3b7d8d">  126</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga1526c62951b04f5cd73f541f7b3b7d8d">mediump_imat4x3</a>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="a00167.html#ga655bfcca624f422aff308dcc99688ce8">  130</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, mediump&gt;                   <a class="code" href="a00167.html#ga655bfcca624f422aff308dcc99688ce8">mediump_imat4x4</a>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="a00167.html#ga3c035fec7db0d671ec8f9f1f0d05bed0">  135</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga3c035fec7db0d671ec8f9f1f0d05bed0">lowp_imat2</a>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        </div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="a00167.html#ga148f3a81d15a570b9460158e6964f41c">  139</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga148f3a81d15a570b9460158e6964f41c">lowp_imat3</a>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="a00167.html#gad3d7b23bdb4ed9b7d53c9db792db9bb4">  143</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, lowp&gt;                              <a class="code" href="a00167.html#gad3d7b23bdb4ed9b7d53c9db792db9bb4">lowp_imat4</a>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="a00167.html#ga5bfe58853451fbc1f1ef6ce1f93c5e31">  148</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga5bfe58853451fbc1f1ef6ce1f93c5e31">lowp_imat2x2</a>;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="a00167.html#ga3f8fb92b62e31528886cc728d3404ecc">  152</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga3f8fb92b62e31528886cc728d3404ecc">lowp_imat2x3</a>;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="a00167.html#ga892b53e26d36763f380b08a5768dee6b">  156</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga892b53e26d36763f380b08a5768dee6b">lowp_imat2x4</a>;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="a00167.html#ga7655dfee0d726e80d7a3b72f46d5fd35">  160</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga7655dfee0d726e80d7a3b72f46d5fd35">lowp_imat3x2</a>;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="a00167.html#gab3d5c6aaeb5815f8f080305888f6828f">  164</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;int, lowp&gt;                              <a class="code" href="a00167.html#gab3d5c6aaeb5815f8f080305888f6828f">lowp_imat3x3</a>;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="a00167.html#ga3d913d70c629aa7ad504739286328f1b">  168</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga3d913d70c629aa7ad504739286328f1b">lowp_imat3x4</a>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="a00167.html#ga3fdfce509d30bdd7778b8b156cb968df">  172</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga3fdfce509d30bdd7778b8b156cb968df">lowp_imat4x2</a>;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="a00167.html#ga6a9945878f99294cfde40c6c3a867d69">  176</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga6a9945878f99294cfde40c6c3a867d69">lowp_imat4x3</a>;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="a00167.html#ga330140b22a9449caab308f2c69bf4c80">  180</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;int, lowp&gt;                              <a class="code" href="a00167.html#ga330140b22a9449caab308f2c69bf4c80">lowp_imat4x4</a>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
+<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="a00167.html#gae7b96c808a36fbe87f41af1c77b7941c">  185</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gae7b96c808a36fbe87f41af1c77b7941c">highp_umat2</a>;    </div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div>
+<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="a00167.html#gaa60b19d7cadbaa56bed1e6e0047af147">  189</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gaa60b19d7cadbaa56bed1e6e0047af147">highp_umat3</a>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="a00167.html#ga8368cb49cb0bd5ac682a71d1eccc9a8c">  193</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;uint, highp&gt;                            <a class="code" href="a00167.html#ga8368cb49cb0bd5ac682a71d1eccc9a8c">highp_umat4</a>;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="a00167.html#ga4860b4b01430bdb70643808c8d3bf5cb">  197</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;uint, highp&gt;                            <a class="code" href="a00167.html#ga4860b4b01430bdb70643808c8d3bf5cb">highp_umat2x2</a>;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="a00167.html#gac351446661e5a8168473ff7b3b5ac3b5">  201</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gac351446661e5a8168473ff7b3b5ac3b5">highp_umat2x3</a>;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="a00167.html#ga815eb9fdf70edc45687cbcda07e97213">  205</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;uint, highp&gt;                            <a class="code" href="a00167.html#ga815eb9fdf70edc45687cbcda07e97213">highp_umat2x4</a>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
+<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="a00167.html#gab1d8e627b6a0b21c9b5e599a89132d8f">  209</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gab1d8e627b6a0b21c9b5e599a89132d8f">highp_umat3x2</a>;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="a00167.html#gacf71e9abe57bcfd18b4b003421e306aa">  213</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gacf71e9abe57bcfd18b4b003421e306aa">highp_umat3x3</a>;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="a00167.html#ga6edbf193ad6c4309e31262165f2655e7">  217</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;uint, highp&gt;                            <a class="code" href="a00167.html#ga6edbf193ad6c4309e31262165f2655e7">highp_umat3x4</a>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
+<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="a00167.html#gaaba8a59eac3e5c0b3aaa9b35c1f10292">  221</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gaaba8a59eac3e5c0b3aaa9b35c1f10292">highp_umat4x2</a>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="a00167.html#ga899a376888652fe3c03718641812bb27">  225</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;uint, highp&gt;                            <a class="code" href="a00167.html#ga899a376888652fe3c03718641812bb27">highp_umat4x3</a>;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div>
+<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="a00167.html#gab8068521c0ad6990373d27d87d333084">  229</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;uint, highp&gt;                            <a class="code" href="a00167.html#gab8068521c0ad6990373d27d87d333084">highp_umat4x4</a>;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="a00167.html#ga7322b97f1be10c83290ab57ef784d493">  234</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga7322b97f1be10c83290ab57ef784d493">mediump_umat2</a>;</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="a00167.html#ga93961d3aac6efa36dc3f9cfa7e9056e6">  238</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga93961d3aac6efa36dc3f9cfa7e9056e6">mediump_umat3</a>;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
+<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="a00167.html#gac23667a99ae1ec649b5e55cd5a05b833">  242</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#gac23667a99ae1ec649b5e55cd5a05b833">mediump_umat4</a>;</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div>
+<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="a00167.html#ga0ffed083b64e4f764db0f446d2c49163">  247</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga0ffed083b64e4f764db0f446d2c49163">mediump_umat2x2</a>;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
+<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="a00167.html#ga7ecc585b71766cfa96bd54a595bea1fb">  251</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga7ecc585b71766cfa96bd54a595bea1fb">mediump_umat2x3</a>;</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="a00167.html#gac4abd549f2e521c7f40f53b6235c450e">  255</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#gac4abd549f2e521c7f40f53b6235c450e">mediump_umat2x4</a>;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="a00167.html#ga3fb358a947f8ceaefddd75bce22cd947">  259</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga3fb358a947f8ceaefddd75bce22cd947">mediump_umat3x2</a>;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
+<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="a00167.html#gad4809dbfb1bfcf222d7b34a97a8eafe5">  263</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#gad4809dbfb1bfcf222d7b34a97a8eafe5">mediump_umat3x3</a>;</div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div>
+<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="a00167.html#ga5a9d62e44668ca2222f0362f9c99d9cc">  267</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga5a9d62e44668ca2222f0362f9c99d9cc">mediump_umat3x4</a>;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
+<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="a00167.html#gac8d1db85d62244fd90d240227c7f51ad">  271</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#gac8d1db85d62244fd90d240227c7f51ad">mediump_umat4x2</a>;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
+<div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="a00167.html#ga7d332d462f2c1ad5a65dc580d3d1aa39">  275</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga7d332d462f2c1ad5a65dc580d3d1aa39">mediump_umat4x3</a>;</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="a00167.html#ga24716579cf155f4e042542808f83978c">  279</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;uint, mediump&gt;                  <a class="code" href="a00167.html#ga24716579cf155f4e042542808f83978c">mediump_umat4x4</a>;</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="a00167.html#ga1406406e396b56bde3c7c0722f657064">  284</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga1406406e396b56bde3c7c0722f657064">lowp_umat2</a>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;        </div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="a00167.html#ga7fc1f795f2abd0020c7b5204f4c83033">  288</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga7fc1f795f2abd0020c7b5204f4c83033">lowp_umat3</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="a00167.html#gafe68c1cf2b379a9a11d1a11c9c2f8884">  292</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#gafe68c1cf2b379a9a11d1a11c9c2f8884">lowp_umat4</a>;</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="a00167.html#ga1f0cea730f6c13b16e511bd2d63507a3">  297</a></span>&#160;        <span class="keyword">typedef</span> tmat2x2&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga1f0cea730f6c13b16e511bd2d63507a3">lowp_umat2x2</a>;</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
+<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="a00167.html#gaa86bd9dc8463b46a46ee944948111676">  301</a></span>&#160;        <span class="keyword">typedef</span> tmat2x3&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#gaa86bd9dc8463b46a46ee944948111676">lowp_umat2x3</a>;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
+<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="a00167.html#ga7b6c64600bad79d735fa6bec843b2bb4">  305</a></span>&#160;        <span class="keyword">typedef</span> tmat2x4&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga7b6c64600bad79d735fa6bec843b2bb4">lowp_umat2x4</a>;</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div>
+<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="a00167.html#gad73943020bb49a072317ecfc52d587f0">  309</a></span>&#160;        <span class="keyword">typedef</span> tmat3x2&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#gad73943020bb49a072317ecfc52d587f0">lowp_umat3x2</a>;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div>
+<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="a00167.html#ga402d169fc3cdca5f3ea47a358a7b7c67">  313</a></span>&#160;        <span class="keyword">typedef</span> tmat3x3&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga402d169fc3cdca5f3ea47a358a7b7c67">lowp_umat3x3</a>;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div>
+<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="a00167.html#ga2dce1c00ed50fd09fe349de3713d96db">  317</a></span>&#160;        <span class="keyword">typedef</span> tmat3x4&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga2dce1c00ed50fd09fe349de3713d96db">lowp_umat3x4</a>;</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
+<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="a00167.html#ga76cab31d492ea214c693ab9132b4de95">  321</a></span>&#160;        <span class="keyword">typedef</span> tmat4x2&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga76cab31d492ea214c693ab9132b4de95">lowp_umat4x2</a>;</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div>
+<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="a00167.html#gae3ca9e28a9d2e5fce5e28593d27e370d">  325</a></span>&#160;        <span class="keyword">typedef</span> tmat4x3&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#gae3ca9e28a9d2e5fce5e28593d27e370d">lowp_umat4x3</a>;</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div>
+<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="a00167.html#ga742be484e56e08ef637f8ec4ab7c8bb2">  329</a></span>&#160;        <span class="keyword">typedef</span> tmat4x4&lt;uint, lowp&gt;                             <a class="code" href="a00167.html#ga742be484e56e08ef637f8ec4ab7c8bb2">lowp_umat4x4</a>;</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_HIGHP_INT))</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        <span class="keyword">typedef</span> highp_imat2                                                             <a class="code" href="a00167.html#gaabe04f9948d4a213bb1c20137de03e01">imat2</a>;</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keyword">typedef</span> highp_imat3                                                             <a class="code" href="a00167.html#ga038f68437155ffa3c2583a15264a8195">imat3</a>;</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="keyword">typedef</span> highp_imat4                                                             <a class="code" href="a00167.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">imat4</a>;</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        <span class="keyword">typedef</span> highp_imat2x2                                                   <a class="code" href="a00167.html#gaa4732a240522ad9bc28144fda2fc14ec">imat2x2</a>;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;        <span class="keyword">typedef</span> highp_imat2x3                                                   <a class="code" href="a00167.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">imat2x3</a>;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keyword">typedef</span> highp_imat2x4                                                   <a class="code" href="a00167.html#ga9d8faafdca42583d67e792dd038fc668">imat2x4</a>;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <span class="keyword">typedef</span> highp_imat3x2                                                   <a class="code" href="a00167.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">imat3x2</a>;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        <span class="keyword">typedef</span> highp_imat3x3                                                   <a class="code" href="a00167.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">imat3x3</a>;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <span class="keyword">typedef</span> highp_imat3x4                                                   <a class="code" href="a00167.html#ga6e9ce23496d8b08dfc302d4039694b58">imat3x4</a>;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keyword">typedef</span> highp_imat4x2                                                   <a class="code" href="a00167.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">imat4x2</a>;</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <span class="keyword">typedef</span> highp_imat4x3                                                   <a class="code" href="a00167.html#ga705ee0bf49d6c3de4404ce2481bf0df5">imat4x3</a>;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <span class="keyword">typedef</span> highp_imat4x4                                                   <a class="code" href="a00167.html#ga43ed5e4f475b6f4cad7cba78f29c405b">imat4x4</a>;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_LOWP_INT))</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="keyword">typedef</span> lowp_imat2                                                              <a class="code" href="a00167.html#gaabe04f9948d4a213bb1c20137de03e01">imat2</a>;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <span class="keyword">typedef</span> lowp_imat3                                                              <a class="code" href="a00167.html#ga038f68437155ffa3c2583a15264a8195">imat3</a>;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keyword">typedef</span> lowp_imat4                                                              <a class="code" href="a00167.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">imat4</a>;</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keyword">typedef</span> lowp_imat2x2                                                    <a class="code" href="a00167.html#gaa4732a240522ad9bc28144fda2fc14ec">imat2x2</a>;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        <span class="keyword">typedef</span> lowp_imat2x3                                                    <a class="code" href="a00167.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">imat2x3</a>;</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keyword">typedef</span> lowp_imat2x4                                                    <a class="code" href="a00167.html#ga9d8faafdca42583d67e792dd038fc668">imat2x4</a>;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keyword">typedef</span> lowp_imat3x2                                                    <a class="code" href="a00167.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">imat3x2</a>;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        <span class="keyword">typedef</span> lowp_imat3x3                                                    <a class="code" href="a00167.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">imat3x3</a>;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keyword">typedef</span> lowp_imat3x4                                                    <a class="code" href="a00167.html#ga6e9ce23496d8b08dfc302d4039694b58">imat3x4</a>;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keyword">typedef</span> lowp_imat4x2                                                    <a class="code" href="a00167.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">imat4x2</a>;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <span class="keyword">typedef</span> lowp_imat4x3                                                    <a class="code" href="a00167.html#ga705ee0bf49d6c3de4404ce2481bf0df5">imat4x3</a>;</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        <span class="keyword">typedef</span> lowp_imat4x4                                                    <a class="code" href="a00167.html#ga43ed5e4f475b6f4cad7cba78f29c405b">imat4x4</a>;</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="preprocessor">#else //if(defined(GLM_PRECISION_MEDIUMP_INT))</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="a00167.html#gaabe04f9948d4a213bb1c20137de03e01">  361</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat2                                                   <a class="code" href="a00167.html#gaabe04f9948d4a213bb1c20137de03e01">imat2</a>;</div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="a00167.html#ga038f68437155ffa3c2583a15264a8195">  365</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat3                                                   <a class="code" href="a00167.html#ga038f68437155ffa3c2583a15264a8195">imat3</a>;</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
+<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="a00167.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">  369</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat4                                                   <a class="code" href="a00167.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">imat4</a>;</div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="a00167.html#gaa4732a240522ad9bc28144fda2fc14ec">  373</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat2x2                                                 <a class="code" href="a00167.html#gaa4732a240522ad9bc28144fda2fc14ec">imat2x2</a>;</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="a00167.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">  377</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat2x3                                                 <a class="code" href="a00167.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">imat2x3</a>;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="a00167.html#ga9d8faafdca42583d67e792dd038fc668">  381</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat2x4                                                 <a class="code" href="a00167.html#ga9d8faafdca42583d67e792dd038fc668">imat2x4</a>;</div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div>
+<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="a00167.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">  385</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat3x2                                                 <a class="code" href="a00167.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">imat3x2</a>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="a00167.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">  389</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat3x3                                                 <a class="code" href="a00167.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">imat3x3</a>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;</div>
+<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="a00167.html#ga6e9ce23496d8b08dfc302d4039694b58">  393</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat3x4                                                 <a class="code" href="a00167.html#ga6e9ce23496d8b08dfc302d4039694b58">imat3x4</a>;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div>
+<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="a00167.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">  397</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat4x2                                                 <a class="code" href="a00167.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">imat4x2</a>;</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="a00167.html#ga705ee0bf49d6c3de4404ce2481bf0df5">  401</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat4x3                                                 <a class="code" href="a00167.html#ga705ee0bf49d6c3de4404ce2481bf0df5">imat4x3</a>;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div>
+<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="a00167.html#ga43ed5e4f475b6f4cad7cba78f29c405b">  405</a></span>&#160;        <span class="keyword">typedef</span> mediump_imat4x4                                                 <a class="code" href="a00167.html#ga43ed5e4f475b6f4cad7cba78f29c405b">imat4x4</a>;</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;<span class="preprocessor">#endif//GLM_PRECISION</span></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="preprocessor">#if(defined(GLM_PRECISION_HIGHP_UINT))</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        <span class="keyword">typedef</span> highp_umat2                                                             <a class="code" href="a00167.html#ga4cae85566f900debf930c41944b64691">umat2</a>;</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        <span class="keyword">typedef</span> highp_umat3                                                             <a class="code" href="a00167.html#ga5085e3ff02abbac5e537eb7b89ab63b6">umat3</a>;</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <span class="keyword">typedef</span> highp_umat4                                                             <a class="code" href="a00167.html#ga38bc7bb6494e344185df596deeb4544c">umat4</a>;</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        <span class="keyword">typedef</span> highp_umat2x2                                                   <a class="code" href="a00167.html#gabf8acdd33ce8951051edbca5200898aa">umat2x2</a>;</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;        <span class="keyword">typedef</span> highp_umat2x3                                                   <a class="code" href="a00167.html#ga1870da7578d5022b973a83155d386ab3">umat2x3</a>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;        <span class="keyword">typedef</span> highp_umat2x4                                                   <a class="code" href="a00167.html#ga57936a3998e992370e59a223e0ee4fd4">umat2x4</a>;</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;        <span class="keyword">typedef</span> highp_umat3x2                                                   <a class="code" href="a00167.html#ga9cd7fa637a4a6788337f45231fad9e1a">umat3x2</a>;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        <span class="keyword">typedef</span> highp_umat3x3                                                   <a class="code" href="a00167.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">umat3x3</a>;</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        <span class="keyword">typedef</span> highp_umat3x4                                                   <a class="code" href="a00167.html#gae7c78ff3fc4309605ab0fa186c8d48ba">umat3x4</a>;</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        <span class="keyword">typedef</span> highp_umat4x2                                                   <a class="code" href="a00167.html#ga70fa2d05896aa83cbc8c07672a429b53">umat4x2</a>;</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="keyword">typedef</span> highp_umat4x3                                                   <a class="code" href="a00167.html#ga87581417945411f75cb31dd6ca1dba98">umat4x3</a>;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="keyword">typedef</span> highp_umat4x4                                                   <a class="code" href="a00167.html#gaf72e6d399c42985db6872c50f53d7eb8">umat4x4</a>;</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor">#elif(defined(GLM_PRECISION_LOWP_UINT))</span></div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        <span class="keyword">typedef</span> lowp_umat2                                                              <a class="code" href="a00167.html#ga4cae85566f900debf930c41944b64691">umat2</a>;</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        <span class="keyword">typedef</span> lowp_umat3                                                              <a class="code" href="a00167.html#ga5085e3ff02abbac5e537eb7b89ab63b6">umat3</a>;</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="keyword">typedef</span> lowp_umat4                                                              <a class="code" href="a00167.html#ga38bc7bb6494e344185df596deeb4544c">umat4</a>;</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keyword">typedef</span> lowp_umat2x2                                                    <a class="code" href="a00167.html#gabf8acdd33ce8951051edbca5200898aa">umat2x2</a>;</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        <span class="keyword">typedef</span> lowp_umat2x3                                                    <a class="code" href="a00167.html#ga1870da7578d5022b973a83155d386ab3">umat2x3</a>;</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;        <span class="keyword">typedef</span> lowp_umat2x4                                                    <a class="code" href="a00167.html#ga57936a3998e992370e59a223e0ee4fd4">umat2x4</a>;</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;        <span class="keyword">typedef</span> lowp_umat3x2                                                    <a class="code" href="a00167.html#ga9cd7fa637a4a6788337f45231fad9e1a">umat3x2</a>;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        <span class="keyword">typedef</span> lowp_umat3x3                                                    <a class="code" href="a00167.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">umat3x3</a>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        <span class="keyword">typedef</span> lowp_umat3x4                                                    <a class="code" href="a00167.html#gae7c78ff3fc4309605ab0fa186c8d48ba">umat3x4</a>;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        <span class="keyword">typedef</span> lowp_umat4x2                                                    <a class="code" href="a00167.html#ga70fa2d05896aa83cbc8c07672a429b53">umat4x2</a>;</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;        <span class="keyword">typedef</span> lowp_umat4x3                                                    <a class="code" href="a00167.html#ga87581417945411f75cb31dd6ca1dba98">umat4x3</a>;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        <span class="keyword">typedef</span> lowp_umat4x4                                                    <a class="code" href="a00167.html#gaf72e6d399c42985db6872c50f53d7eb8">umat4x4</a>;</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor">#else //if(defined(GLM_PRECISION_MEDIUMP_UINT))</span></div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        </div>
+<div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="a00167.html#ga4cae85566f900debf930c41944b64691">  438</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat2                                                   <a class="code" href="a00167.html#ga4cae85566f900debf930c41944b64691">umat2</a>;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;</div>
+<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="a00167.html#ga5085e3ff02abbac5e537eb7b89ab63b6">  442</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat3                                                   <a class="code" href="a00167.html#ga5085e3ff02abbac5e537eb7b89ab63b6">umat3</a>;</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="a00167.html#ga38bc7bb6494e344185df596deeb4544c">  446</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat4                                                   <a class="code" href="a00167.html#ga38bc7bb6494e344185df596deeb4544c">umat4</a>;</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div>
+<div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="a00167.html#gabf8acdd33ce8951051edbca5200898aa">  450</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat2x2                                                 <a class="code" href="a00167.html#gabf8acdd33ce8951051edbca5200898aa">umat2x2</a>;</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div>
+<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="a00167.html#ga1870da7578d5022b973a83155d386ab3">  454</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat2x3                                                 <a class="code" href="a00167.html#ga1870da7578d5022b973a83155d386ab3">umat2x3</a>;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div>
+<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="a00167.html#ga57936a3998e992370e59a223e0ee4fd4">  458</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat2x4                                                 <a class="code" href="a00167.html#ga57936a3998e992370e59a223e0ee4fd4">umat2x4</a>;</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
+<div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="a00167.html#ga9cd7fa637a4a6788337f45231fad9e1a">  462</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat3x2                                                 <a class="code" href="a00167.html#ga9cd7fa637a4a6788337f45231fad9e1a">umat3x2</a>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div>
+<div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="a00167.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">  466</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat3x3                                                 <a class="code" href="a00167.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">umat3x3</a>;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div>
+<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="a00167.html#gae7c78ff3fc4309605ab0fa186c8d48ba">  470</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat3x4                                                 <a class="code" href="a00167.html#gae7c78ff3fc4309605ab0fa186c8d48ba">umat3x4</a>;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div>
+<div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="a00167.html#ga70fa2d05896aa83cbc8c07672a429b53">  474</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat4x2                                                 <a class="code" href="a00167.html#ga70fa2d05896aa83cbc8c07672a429b53">umat4x2</a>;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div>
+<div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="a00167.html#ga87581417945411f75cb31dd6ca1dba98">  478</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat4x3                                                 <a class="code" href="a00167.html#ga87581417945411f75cb31dd6ca1dba98">umat4x3</a>;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div>
+<div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="a00167.html#gaf72e6d399c42985db6872c50f53d7eb8">  482</a></span>&#160;        <span class="keyword">typedef</span> mediump_umat4x4                                                 <a class="code" href="a00167.html#gaf72e6d399c42985db6872c50f53d7eb8">umat4x4</a>;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">#endif//GLM_PRECISION</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="ttc" id="a00167_html_ga705ee0bf49d6c3de4404ce2481bf0df5"><div class="ttname"><a href="a00167.html#ga705ee0bf49d6c3de4404ce2481bf0df5">glm::imat4x3</a></div><div class="ttdeci">mediump_imat4x3 imat4x3</div><div class="ttdoc">Signed integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00401">matrix_integer.hpp:401</a></div></div>
+<div class="ttc" id="a00167_html_ga148f3a81d15a570b9460158e6964f41c"><div class="ttname"><a href="a00167.html#ga148f3a81d15a570b9460158e6964f41c">glm::lowp_imat3</a></div><div class="ttdeci">tmat3x3&lt; int, lowp &gt; lowp_imat3</div><div class="ttdoc">Low-precision signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00139">matrix_integer.hpp:139</a></div></div>
+<div class="ttc" id="a00167_html_gabc572d47b60f7e595d7aad945f5d13a8"><div class="ttname"><a href="a00167.html#gabc572d47b60f7e595d7aad945f5d13a8">glm::mediump_imat2x2</a></div><div class="ttdeci">tmat2x2&lt; int, mediump &gt; mediump_imat2x2</div><div class="ttdoc">Medium-precision signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00098">matrix_integer.hpp:98</a></div></div>
+<div class="ttc" id="a00167_html_ga8e0f797a57fec255f0eec7da1511bc38"><div class="ttname"><a href="a00167.html#ga8e0f797a57fec255f0eec7da1511bc38">glm::mediump_imat3x4</a></div><div class="ttdeci">tmat3x4&lt; int, mediump &gt; mediump_imat3x4</div><div class="ttdoc">Medium-precision signed integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00118">matrix_integer.hpp:118</a></div></div>
+<div class="ttc" id="a00167_html_ga0413bf87605b9247be2533c439127a1c"><div class="ttname"><a href="a00167.html#ga0413bf87605b9247be2533c439127a1c">glm::highp_imat3x2</a></div><div class="ttdeci">tmat3x2&lt; int, highp &gt; highp_imat3x2</div><div class="ttdoc">High-precision signed integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00060">matrix_integer.hpp:60</a></div></div>
+<div class="ttc" id="a00167_html_ga76cab31d492ea214c693ab9132b4de95"><div class="ttname"><a href="a00167.html#ga76cab31d492ea214c693ab9132b4de95">glm::lowp_umat4x2</a></div><div class="ttdeci">tmat4x2&lt; uint, lowp &gt; lowp_umat4x2</div><div class="ttdoc">Low-precision unsigned integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00321">matrix_integer.hpp:321</a></div></div>
+<div class="ttc" id="a00167_html_ga3fb358a947f8ceaefddd75bce22cd947"><div class="ttname"><a href="a00167.html#ga3fb358a947f8ceaefddd75bce22cd947">glm::mediump_umat3x2</a></div><div class="ttdeci">tmat3x2&lt; uint, mediump &gt; mediump_umat3x2</div><div class="ttdoc">Medium-precision unsigned integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00259">matrix_integer.hpp:259</a></div></div>
+<div class="ttc" id="a00167_html_ga05064e28b911be1af0503ddf6e6204a3"><div class="ttname"><a href="a00167.html#ga05064e28b911be1af0503ddf6e6204a3">glm::mediump_imat3x3</a></div><div class="ttdeci">tmat3x3&lt; int, mediump &gt; mediump_imat3x3</div><div class="ttdoc">Medium-precision signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00114">matrix_integer.hpp:114</a></div></div>
+<div class="ttc" id="a00167_html_ga3f42dd3d5d94a0fd5706f7ec8dd0c605"><div class="ttname"><a href="a00167.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605">glm::imat2x3</a></div><div class="ttdeci">mediump_imat2x3 imat2x3</div><div class="ttdoc">Signed integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00377">matrix_integer.hpp:377</a></div></div>
+<div class="ttc" id="a00167_html_ga70fa2d05896aa83cbc8c07672a429b53"><div class="ttname"><a href="a00167.html#ga70fa2d05896aa83cbc8c07672a429b53">glm::umat4x2</a></div><div class="ttdeci">mediump_umat4x2 umat4x2</div><div class="ttdoc">Unsigned integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00474">matrix_integer.hpp:474</a></div></div>
+<div class="ttc" id="a00167_html_ga4efd6470c0edf9704d2244fc92dbc2a9"><div class="ttname"><a href="a00167.html#ga4efd6470c0edf9704d2244fc92dbc2a9">glm::highp_imat3</a></div><div class="ttdeci">tmat3x3&lt; int, highp &gt; highp_imat3</div><div class="ttdoc">High-precision signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00040">matrix_integer.hpp:40</a></div></div>
+<div class="ttc" id="a00167_html_ga7d43dd8332000f7f19379efa1b303599"><div class="ttname"><a href="a00167.html#ga7d43dd8332000f7f19379efa1b303599">glm::highp_imat4x2</a></div><div class="ttdeci">tmat4x2&lt; int, highp &gt; highp_imat4x2</div><div class="ttdoc">High-precision signed integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00072">matrix_integer.hpp:72</a></div></div>
+<div class="ttc" id="a00167_html_gae53db595d36f49a299e180302795e3c9"><div class="ttname"><a href="a00167.html#gae53db595d36f49a299e180302795e3c9">glm::highp_imat4x4</a></div><div class="ttdeci">tmat4x4&lt; int, highp &gt; highp_imat4x4</div><div class="ttdoc">High-precision signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00080">matrix_integer.hpp:80</a></div></div>
+<div class="ttc" id="a00167_html_ga7655dfee0d726e80d7a3b72f46d5fd35"><div class="ttname"><a href="a00167.html#ga7655dfee0d726e80d7a3b72f46d5fd35">glm::lowp_imat3x2</a></div><div class="ttdeci">tmat3x2&lt; int, lowp &gt; lowp_imat3x2</div><div class="ttdoc">Low-precision signed integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00160">matrix_integer.hpp:160</a></div></div>
+<div class="ttc" id="a00167_html_ga1a61c706b31aa60fd7012b2b27765983"><div class="ttname"><a href="a00167.html#ga1a61c706b31aa60fd7012b2b27765983">glm::mediump_imat3x2</a></div><div class="ttdeci">tmat3x2&lt; int, mediump &gt; mediump_imat3x2</div><div class="ttdoc">Medium-precision signed integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00110">matrix_integer.hpp:110</a></div></div>
+<div class="ttc" id="a00167_html_ga4cae85566f900debf930c41944b64691"><div class="ttname"><a href="a00167.html#ga4cae85566f900debf930c41944b64691">glm::umat2</a></div><div class="ttdeci">mediump_umat2 umat2</div><div class="ttdoc">Unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00438">matrix_integer.hpp:438</a></div></div>
+<div class="ttc" id="a00167_html_gaa08e27efc514088315ccbaf818f01880"><div class="ttname"><a href="a00167.html#gaa08e27efc514088315ccbaf818f01880">glm::mediump_imat2x4</a></div><div class="ttdeci">tmat2x4&lt; int, mediump &gt; mediump_imat2x4</div><div class="ttdoc">Medium-precision signed integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00106">matrix_integer.hpp:106</a></div></div>
+<div class="ttc" id="a00167_html_gaa4732a240522ad9bc28144fda2fc14ec"><div class="ttname"><a href="a00167.html#gaa4732a240522ad9bc28144fda2fc14ec">glm::imat2x2</a></div><div class="ttdeci">mediump_imat2x2 imat2x2</div><div class="ttdoc">Signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00373">matrix_integer.hpp:373</a></div></div>
+<div class="ttc" id="a00167_html_ga0ffed083b64e4f764db0f446d2c49163"><div class="ttname"><a href="a00167.html#ga0ffed083b64e4f764db0f446d2c49163">glm::mediump_umat2x2</a></div><div class="ttdeci">tmat2x2&lt; uint, mediump &gt; mediump_umat2x2</div><div class="ttdoc">Medium-precision unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00247">matrix_integer.hpp:247</a></div></div>
+<div class="ttc" id="a00167_html_gacf71e9abe57bcfd18b4b003421e306aa"><div class="ttname"><a href="a00167.html#gacf71e9abe57bcfd18b4b003421e306aa">glm::highp_umat3x3</a></div><div class="ttdeci">tmat3x3&lt; uint, highp &gt; highp_umat3x3</div><div class="ttdoc">High-precision unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00213">matrix_integer.hpp:213</a></div></div>
+<div class="ttc" id="a00167_html_ga3d913d70c629aa7ad504739286328f1b"><div class="ttname"><a href="a00167.html#ga3d913d70c629aa7ad504739286328f1b">glm::lowp_imat3x4</a></div><div class="ttdeci">tmat3x4&lt; int, lowp &gt; lowp_imat3x4</div><div class="ttdoc">Low-precision signed integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00168">matrix_integer.hpp:168</a></div></div>
+<div class="ttc" id="a00167_html_gabf8acdd33ce8951051edbca5200898aa"><div class="ttname"><a href="a00167.html#gabf8acdd33ce8951051edbca5200898aa">glm::umat2x2</a></div><div class="ttdeci">mediump_umat2x2 umat2x2</div><div class="ttdoc">Unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00450">matrix_integer.hpp:450</a></div></div>
+<div class="ttc" id="a00167_html_gaf72e6d399c42985db6872c50f53d7eb8"><div class="ttname"><a href="a00167.html#gaf72e6d399c42985db6872c50f53d7eb8">glm::umat4x4</a></div><div class="ttdeci">mediump_umat4x4 umat4x4</div><div class="ttdoc">Unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00482">matrix_integer.hpp:482</a></div></div>
+<div class="ttc" id="a00167_html_ga96b0d26a33b81bb6a60ca0f39682f7eb"><div class="ttname"><a href="a00167.html#ga96b0d26a33b81bb6a60ca0f39682f7eb">glm::imat4</a></div><div class="ttdeci">mediump_imat4 imat4</div><div class="ttdoc">Signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00369">matrix_integer.hpp:369</a></div></div>
+<div class="ttc" id="a00167_html_ga5085e3ff02abbac5e537eb7b89ab63b6"><div class="ttname"><a href="a00167.html#ga5085e3ff02abbac5e537eb7b89ab63b6">glm::umat3</a></div><div class="ttdeci">mediump_umat3 umat3</div><div class="ttdoc">Unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00442">matrix_integer.hpp:442</a></div></div>
+<div class="ttc" id="a00167_html_ga3f8fb92b62e31528886cc728d3404ecc"><div class="ttname"><a href="a00167.html#ga3f8fb92b62e31528886cc728d3404ecc">glm::lowp_imat2x3</a></div><div class="ttdeci">tmat2x3&lt; int, lowp &gt; lowp_imat2x3</div><div class="ttdoc">Low-precision signed integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00152">matrix_integer.hpp:152</a></div></div>
+<div class="ttc" id="a00167_html_gaa86bd9dc8463b46a46ee944948111676"><div class="ttname"><a href="a00167.html#gaa86bd9dc8463b46a46ee944948111676">glm::lowp_umat2x3</a></div><div class="ttdeci">tmat2x3&lt; uint, lowp &gt; lowp_umat2x3</div><div class="ttdoc">Low-precision unsigned integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00301">matrix_integer.hpp:301</a></div></div>
+<div class="ttc" id="a00167_html_ga038f68437155ffa3c2583a15264a8195"><div class="ttname"><a href="a00167.html#ga038f68437155ffa3c2583a15264a8195">glm::imat3</a></div><div class="ttdeci">mediump_imat3 imat3</div><div class="ttdoc">Signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00365">matrix_integer.hpp:365</a></div></div>
+<div class="ttc" id="a00167_html_ga1870da7578d5022b973a83155d386ab3"><div class="ttname"><a href="a00167.html#ga1870da7578d5022b973a83155d386ab3">glm::umat2x3</a></div><div class="ttdeci">mediump_umat2x3 umat2x3</div><div class="ttdoc">Unsigned integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00454">matrix_integer.hpp:454</a></div></div>
+<div class="ttc" id="a00167_html_ga8368cb49cb0bd5ac682a71d1eccc9a8c"><div class="ttname"><a href="a00167.html#ga8368cb49cb0bd5ac682a71d1eccc9a8c">glm::highp_umat4</a></div><div class="ttdeci">tmat4x4&lt; uint, highp &gt; highp_umat4</div><div class="ttdoc">High-precision unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00193">matrix_integer.hpp:193</a></div></div>
+<div class="ttc" id="a00167_html_gae3ca9e28a9d2e5fce5e28593d27e370d"><div class="ttname"><a href="a00167.html#gae3ca9e28a9d2e5fce5e28593d27e370d">glm::lowp_umat4x3</a></div><div class="ttdeci">tmat4x3&lt; uint, lowp &gt; lowp_umat4x3</div><div class="ttdoc">Low-precision unsigned integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00325">matrix_integer.hpp:325</a></div></div>
+<div class="ttc" id="a00167_html_gac8d1db85d62244fd90d240227c7f51ad"><div class="ttname"><a href="a00167.html#gac8d1db85d62244fd90d240227c7f51ad">glm::mediump_umat4x2</a></div><div class="ttdeci">tmat4x2&lt; uint, mediump &gt; mediump_umat4x2</div><div class="ttdoc">Medium-precision unsigned integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00271">matrix_integer.hpp:271</a></div></div>
+<div class="ttc" id="a00167_html_ga7fc1f795f2abd0020c7b5204f4c83033"><div class="ttname"><a href="a00167.html#ga7fc1f795f2abd0020c7b5204f4c83033">glm::lowp_umat3</a></div><div class="ttdeci">tmat3x3&lt; uint, lowp &gt; lowp_umat3</div><div class="ttdoc">Low-precision unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00288">matrix_integer.hpp:288</a></div></div>
+<div class="ttc" id="a00167_html_gac455e55e7cb32e31396a9d4613da046a"><div class="ttname"><a href="a00167.html#gac455e55e7cb32e31396a9d4613da046a">glm::highp_imat2x2</a></div><div class="ttdeci">tmat2x2&lt; int, highp &gt; highp_imat2x2</div><div class="ttdoc">High-precision signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00048">matrix_integer.hpp:48</a></div></div>
+<div class="ttc" id="a00167_html_ga815eb9fdf70edc45687cbcda07e97213"><div class="ttname"><a href="a00167.html#ga815eb9fdf70edc45687cbcda07e97213">glm::highp_umat2x4</a></div><div class="ttdeci">tmat2x4&lt; uint, highp &gt; highp_umat2x4</div><div class="ttdoc">High-precision unsigned integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00205">matrix_integer.hpp:205</a></div></div>
+<div class="ttc" id="a00167_html_ga7d332d462f2c1ad5a65dc580d3d1aa39"><div class="ttname"><a href="a00167.html#ga7d332d462f2c1ad5a65dc580d3d1aa39">glm::mediump_umat4x3</a></div><div class="ttdeci">tmat4x3&lt; uint, mediump &gt; mediump_umat4x3</div><div class="ttdoc">Medium-precision unsigned integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00275">matrix_integer.hpp:275</a></div></div>
+<div class="ttc" id="a00167_html_ga655bfcca624f422aff308dcc99688ce8"><div class="ttname"><a href="a00167.html#ga655bfcca624f422aff308dcc99688ce8">glm::mediump_imat4x4</a></div><div class="ttdeci">tmat4x4&lt; int, mediump &gt; mediump_imat4x4</div><div class="ttdoc">Medium-precision signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00130">matrix_integer.hpp:130</a></div></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00167_html_gac2b0985b576fe0eba47227499aed2b3c"><div class="ttname"><a href="a00167.html#gac2b0985b576fe0eba47227499aed2b3c">glm::mediump_imat3</a></div><div class="ttdeci">tmat3x3&lt; int, mediump &gt; mediump_imat3</div><div class="ttdoc">Medium-precision signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00089">matrix_integer.hpp:89</a></div></div>
+<div class="ttc" id="a00167_html_ga7ecc585b71766cfa96bd54a595bea1fb"><div class="ttname"><a href="a00167.html#ga7ecc585b71766cfa96bd54a595bea1fb">glm::mediump_umat2x3</a></div><div class="ttdeci">tmat2x3&lt; uint, mediump &gt; mediump_umat2x3</div><div class="ttdoc">Medium-precision unsigned integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00251">matrix_integer.hpp:251</a></div></div>
+<div class="ttc" id="a00167_html_ga6e9ce23496d8b08dfc302d4039694b58"><div class="ttname"><a href="a00167.html#ga6e9ce23496d8b08dfc302d4039694b58">glm::imat3x4</a></div><div class="ttdeci">mediump_imat3x4 imat3x4</div><div class="ttdoc">Signed integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00393">matrix_integer.hpp:393</a></div></div>
+<div class="ttc" id="a00167_html_gac23667a99ae1ec649b5e55cd5a05b833"><div class="ttname"><a href="a00167.html#gac23667a99ae1ec649b5e55cd5a05b833">glm::mediump_umat4</a></div><div class="ttdeci">tmat4x4&lt; uint, mediump &gt; mediump_umat4</div><div class="ttdoc">Medium-precision unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00242">matrix_integer.hpp:242</a></div></div>
+<div class="ttc" id="a00167_html_ga892b53e26d36763f380b08a5768dee6b"><div class="ttname"><a href="a00167.html#ga892b53e26d36763f380b08a5768dee6b">glm::lowp_imat2x4</a></div><div class="ttdeci">tmat2x4&lt; int, lowp &gt; lowp_imat2x4</div><div class="ttdoc">Low-precision signed integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00156">matrix_integer.hpp:156</a></div></div>
+<div class="ttc" id="a00167_html_gacce460d54216438bb577bf8c9d68299c"><div class="ttname"><a href="a00167.html#gacce460d54216438bb577bf8c9d68299c">glm::highp_imat3x3</a></div><div class="ttdeci">tmat3x3&lt; int, highp &gt; highp_imat3x3</div><div class="ttdoc">High-precision signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00064">matrix_integer.hpp:64</a></div></div>
+<div class="ttc" id="a00167_html_ga2dce1c00ed50fd09fe349de3713d96db"><div class="ttname"><a href="a00167.html#ga2dce1c00ed50fd09fe349de3713d96db">glm::lowp_umat3x4</a></div><div class="ttdeci">tmat3x4&lt; uint, lowp &gt; lowp_umat3x4</div><div class="ttdoc">Low-precision unsigned integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00317">matrix_integer.hpp:317</a></div></div>
+<div class="ttc" id="a00167_html_ga402d169fc3cdca5f3ea47a358a7b7c67"><div class="ttname"><a href="a00167.html#ga402d169fc3cdca5f3ea47a358a7b7c67">glm::lowp_umat3x3</a></div><div class="ttdeci">tmat3x3&lt; uint, lowp &gt; lowp_umat3x3</div><div class="ttdoc">Low-precision unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00313">matrix_integer.hpp:313</a></div></div>
+<div class="ttc" id="a00167_html_ga24716579cf155f4e042542808f83978c"><div class="ttname"><a href="a00167.html#ga24716579cf155f4e042542808f83978c">glm::mediump_umat4x4</a></div><div class="ttdeci">tmat4x4&lt; uint, mediump &gt; mediump_umat4x4</div><div class="ttdoc">Medium-precision unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00279">matrix_integer.hpp:279</a></div></div>
+<div class="ttc" id="a00167_html_gae7b96c808a36fbe87f41af1c77b7941c"><div class="ttname"><a href="a00167.html#gae7b96c808a36fbe87f41af1c77b7941c">glm::highp_umat2</a></div><div class="ttdeci">tmat2x2&lt; uint, highp &gt; highp_umat2</div><div class="ttdoc">High-precision unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00185">matrix_integer.hpp:185</a></div></div>
+<div class="ttc" id="a00167_html_ga57936a3998e992370e59a223e0ee4fd4"><div class="ttname"><a href="a00167.html#ga57936a3998e992370e59a223e0ee4fd4">glm::umat2x4</a></div><div class="ttdeci">mediump_umat2x4 umat2x4</div><div class="ttdoc">Unsigned integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00458">matrix_integer.hpp:458</a></div></div>
+<div class="ttc" id="a00167_html_ga5b7e9af5024e1a164db6419f67ecfc9a"><div class="ttname"><a href="a00167.html#ga5b7e9af5024e1a164db6419f67ecfc9a">glm::mediump_imat2x3</a></div><div class="ttdeci">tmat2x3&lt; int, mediump &gt; mediump_imat2x3</div><div class="ttdoc">Medium-precision signed integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00102">matrix_integer.hpp:102</a></div></div>
+<div class="ttc" id="a00167_html_ga6edbf193ad6c4309e31262165f2655e7"><div class="ttname"><a href="a00167.html#ga6edbf193ad6c4309e31262165f2655e7">glm::highp_umat3x4</a></div><div class="ttdeci">tmat3x4&lt; uint, highp &gt; highp_umat3x4</div><div class="ttdoc">High-precision unsigned integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00217">matrix_integer.hpp:217</a></div></div>
+<div class="ttc" id="a00167_html_ga5bfe58853451fbc1f1ef6ce1f93c5e31"><div class="ttname"><a href="a00167.html#ga5bfe58853451fbc1f1ef6ce1f93c5e31">glm::lowp_imat2x2</a></div><div class="ttdeci">tmat2x2&lt; int, lowp &gt; lowp_imat2x2</div><div class="ttdoc">Low-precision signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00148">matrix_integer.hpp:148</a></div></div>
+<div class="ttc" id="a00167_html_ga3c035fec7db0d671ec8f9f1f0d05bed0"><div class="ttname"><a href="a00167.html#ga3c035fec7db0d671ec8f9f1f0d05bed0">glm::lowp_imat2</a></div><div class="ttdeci">tmat2x2&lt; int, lowp &gt; lowp_imat2</div><div class="ttdoc">Low-precision signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00135">matrix_integer.hpp:135</a></div></div>
+<div class="ttc" id="a00167_html_gaa9f8144beebdefd85e2a9ac480e7608a"><div class="ttname"><a href="a00167.html#gaa9f8144beebdefd85e2a9ac480e7608a">glm::highp_imat2</a></div><div class="ttdeci">tmat2x2&lt; int, highp &gt; highp_imat2</div><div class="ttdoc">High-precision signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00036">matrix_integer.hpp:36</a></div></div>
+<div class="ttc" id="a00167_html_gac4abd549f2e521c7f40f53b6235c450e"><div class="ttname"><a href="a00167.html#gac4abd549f2e521c7f40f53b6235c450e">glm::mediump_umat2x4</a></div><div class="ttdeci">tmat2x4&lt; uint, mediump &gt; mediump_umat2x4</div><div class="ttdoc">Medium-precision unsigned integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00255">matrix_integer.hpp:255</a></div></div>
+<div class="ttc" id="a00167_html_ga87581417945411f75cb31dd6ca1dba98"><div class="ttname"><a href="a00167.html#ga87581417945411f75cb31dd6ca1dba98">glm::umat4x3</a></div><div class="ttdeci">mediump_umat4x3 umat4x3</div><div class="ttdoc">Unsigned integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00478">matrix_integer.hpp:478</a></div></div>
+<div class="ttc" id="a00167_html_ga1406406e396b56bde3c7c0722f657064"><div class="ttname"><a href="a00167.html#ga1406406e396b56bde3c7c0722f657064">glm::lowp_umat2</a></div><div class="ttdeci">tmat2x2&lt; uint, lowp &gt; lowp_umat2</div><div class="ttdoc">Low-precision unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00284">matrix_integer.hpp:284</a></div></div>
+<div class="ttc" id="a00167_html_ga4860b4b01430bdb70643808c8d3bf5cb"><div class="ttname"><a href="a00167.html#ga4860b4b01430bdb70643808c8d3bf5cb">glm::highp_umat2x2</a></div><div class="ttdeci">tmat2x2&lt; uint, highp &gt; highp_umat2x2</div><div class="ttdoc">High-precision unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00197">matrix_integer.hpp:197</a></div></div>
+<div class="ttc" id="a00167_html_gaa60b19d7cadbaa56bed1e6e0047af147"><div class="ttname"><a href="a00167.html#gaa60b19d7cadbaa56bed1e6e0047af147">glm::highp_umat3</a></div><div class="ttdeci">tmat3x3&lt; uint, highp &gt; highp_umat3</div><div class="ttdoc">High-precision unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00189">matrix_integer.hpp:189</a></div></div>
+<div class="ttc" id="a00167_html_ga5a9d62e44668ca2222f0362f9c99d9cc"><div class="ttname"><a href="a00167.html#ga5a9d62e44668ca2222f0362f9c99d9cc">glm::mediump_umat3x4</a></div><div class="ttdeci">tmat3x4&lt; uint, mediump &gt; mediump_umat3x4</div><div class="ttdoc">Medium-precision unsigned integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00267">matrix_integer.hpp:267</a></div></div>
+<div class="ttc" id="a00167_html_ga1526c62951b04f5cd73f541f7b3b7d8d"><div class="ttname"><a href="a00167.html#ga1526c62951b04f5cd73f541f7b3b7d8d">glm::mediump_imat4x3</a></div><div class="ttdeci">tmat4x3&lt; int, mediump &gt; mediump_imat4x3</div><div class="ttdoc">Medium-precision signed integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00126">matrix_integer.hpp:126</a></div></div>
+<div class="ttc" id="a00167_html_ga73b855cc40e5d8202b7ab38461326d65"><div class="ttname"><a href="a00167.html#ga73b855cc40e5d8202b7ab38461326d65">glm::highp_imat2x4</a></div><div class="ttdeci">tmat2x4&lt; int, highp &gt; highp_imat2x4</div><div class="ttdoc">High-precision signed integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00056">matrix_integer.hpp:56</a></div></div>
+<div class="ttc" id="a00167_html_ga43ed5e4f475b6f4cad7cba78f29c405b"><div class="ttname"><a href="a00167.html#ga43ed5e4f475b6f4cad7cba78f29c405b">glm::imat4x4</a></div><div class="ttdeci">mediump_imat4x4 imat4x4</div><div class="ttdoc">Signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00405">matrix_integer.hpp:405</a></div></div>
+<div class="ttc" id="a00167_html_gad73943020bb49a072317ecfc52d587f0"><div class="ttname"><a href="a00167.html#gad73943020bb49a072317ecfc52d587f0">glm::lowp_umat3x2</a></div><div class="ttdeci">tmat3x2&lt; uint, lowp &gt; lowp_umat3x2</div><div class="ttdoc">Low-precision unsigned integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00309">matrix_integer.hpp:309</a></div></div>
+<div class="ttc" id="a00167_html_ga1582c5dc83e49a7e53bb0b94bef9de54"><div class="ttname"><a href="a00167.html#ga1582c5dc83e49a7e53bb0b94bef9de54">glm::mediump_imat4x2</a></div><div class="ttdeci">tmat4x2&lt; int, mediump &gt; mediump_imat4x2</div><div class="ttdoc">Medium-precision signed integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00122">matrix_integer.hpp:122</a></div></div>
+<div class="ttc" id="a00167_html_ga330140b22a9449caab308f2c69bf4c80"><div class="ttname"><a href="a00167.html#ga330140b22a9449caab308f2c69bf4c80">glm::lowp_imat4x4</a></div><div class="ttdeci">tmat4x4&lt; int, lowp &gt; lowp_imat4x4</div><div class="ttdoc">Low-precision signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00180">matrix_integer.hpp:180</a></div></div>
+<div class="ttc" id="a00167_html_gac351446661e5a8168473ff7b3b5ac3b5"><div class="ttname"><a href="a00167.html#gac351446661e5a8168473ff7b3b5ac3b5">glm::highp_umat2x3</a></div><div class="ttdeci">tmat2x3&lt; uint, highp &gt; highp_umat2x3</div><div class="ttdoc">High-precision unsigned integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00201">matrix_integer.hpp:201</a></div></div>
+<div class="ttc" id="a00167_html_ga9d8faafdca42583d67e792dd038fc668"><div class="ttname"><a href="a00167.html#ga9d8faafdca42583d67e792dd038fc668">glm::imat2x4</a></div><div class="ttdeci">mediump_imat2x4 imat2x4</div><div class="ttdoc">Signed integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00381">matrix_integer.hpp:381</a></div></div>
+<div class="ttc" id="a00167_html_gab8068521c0ad6990373d27d87d333084"><div class="ttname"><a href="a00167.html#gab8068521c0ad6990373d27d87d333084">glm::highp_umat4x4</a></div><div class="ttdeci">tmat4x4&lt; uint, highp &gt; highp_umat4x4</div><div class="ttdoc">High-precision unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00229">matrix_integer.hpp:229</a></div></div>
+<div class="ttc" id="a00167_html_gaabe04f9948d4a213bb1c20137de03e01"><div class="ttname"><a href="a00167.html#gaabe04f9948d4a213bb1c20137de03e01">glm::imat2</a></div><div class="ttdeci">mediump_imat2 imat2</div><div class="ttdoc">Signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00361">matrix_integer.hpp:361</a></div></div>
+<div class="ttc" id="a00167_html_ga8ce7ef51d8b2c1901fa5414deccbc3fa"><div class="ttname"><a href="a00167.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa">glm::imat4x2</a></div><div class="ttdeci">mediump_imat4x2 imat4x2</div><div class="ttdoc">Signed integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00397">matrix_integer.hpp:397</a></div></div>
+<div class="ttc" id="a00167_html_gafe68c1cf2b379a9a11d1a11c9c2f8884"><div class="ttname"><a href="a00167.html#gafe68c1cf2b379a9a11d1a11c9c2f8884">glm::lowp_umat4</a></div><div class="ttdeci">tmat4x4&lt; uint, lowp &gt; lowp_umat4</div><div class="ttdoc">Low-precision unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00292">matrix_integer.hpp:292</a></div></div>
+<div class="ttc" id="a00167_html_ga1f0cea730f6c13b16e511bd2d63507a3"><div class="ttname"><a href="a00167.html#ga1f0cea730f6c13b16e511bd2d63507a3">glm::lowp_umat2x2</a></div><div class="ttdeci">tmat2x2&lt; uint, lowp &gt; lowp_umat2x2</div><div class="ttdoc">Low-precision unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00297">matrix_integer.hpp:297</a></div></div>
+<div class="ttc" id="a00167_html_ga3fdfce509d30bdd7778b8b156cb968df"><div class="ttname"><a href="a00167.html#ga3fdfce509d30bdd7778b8b156cb968df">glm::lowp_imat4x2</a></div><div class="ttdeci">tmat4x2&lt; int, lowp &gt; lowp_imat4x2</div><div class="ttdoc">Low-precision signed integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00172">matrix_integer.hpp:172</a></div></div>
+<div class="ttc" id="a00167_html_ga6a9945878f99294cfde40c6c3a867d69"><div class="ttname"><a href="a00167.html#ga6a9945878f99294cfde40c6c3a867d69">glm::lowp_imat4x3</a></div><div class="ttdeci">tmat4x3&lt; int, lowp &gt; lowp_imat4x3</div><div class="ttdoc">Low-precision signed integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00176">matrix_integer.hpp:176</a></div></div>
+<div class="ttc" id="a00167_html_ga9cd7fa637a4a6788337f45231fad9e1a"><div class="ttname"><a href="a00167.html#ga9cd7fa637a4a6788337f45231fad9e1a">glm::umat3x2</a></div><div class="ttdeci">mediump_umat3x2 umat3x2</div><div class="ttdoc">Unsigned integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00462">matrix_integer.hpp:462</a></div></div>
+<div class="ttc" id="a00167_html_gae7c78ff3fc4309605ab0fa186c8d48ba"><div class="ttname"><a href="a00167.html#gae7c78ff3fc4309605ab0fa186c8d48ba">glm::umat3x4</a></div><div class="ttdeci">mediump_umat3x4 umat3x4</div><div class="ttdoc">Unsigned integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00470">matrix_integer.hpp:470</a></div></div>
+<div class="ttc" id="a00167_html_ga7322b97f1be10c83290ab57ef784d493"><div class="ttname"><a href="a00167.html#ga7322b97f1be10c83290ab57ef784d493">glm::mediump_umat2</a></div><div class="ttdeci">tmat2x2&lt; uint, mediump &gt; mediump_umat2</div><div class="ttdoc">Medium-precision unsigned integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00234">matrix_integer.hpp:234</a></div></div>
+<div class="ttc" id="a00167_html_ga6aacc960f62e8f7d2fe9d32d5050e7a4"><div class="ttname"><a href="a00167.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4">glm::imat3x3</a></div><div class="ttdeci">mediump_imat3x3 imat3x3</div><div class="ttdoc">Signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00389">matrix_integer.hpp:389</a></div></div>
+<div class="ttc" id="a00167_html_gad4809dbfb1bfcf222d7b34a97a8eafe5"><div class="ttname"><a href="a00167.html#gad4809dbfb1bfcf222d7b34a97a8eafe5">glm::mediump_umat3x3</a></div><div class="ttdeci">tmat3x3&lt; uint, mediump &gt; mediump_umat3x3</div><div class="ttdoc">Medium-precision unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00263">matrix_integer.hpp:263</a></div></div>
+<div class="ttc" id="a00167_html_gad3d7b23bdb4ed9b7d53c9db792db9bb4"><div class="ttname"><a href="a00167.html#gad3d7b23bdb4ed9b7d53c9db792db9bb4">glm::lowp_imat4</a></div><div class="ttdeci">tmat4x4&lt; int, lowp &gt; lowp_imat4</div><div class="ttdoc">Low-precision signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00143">matrix_integer.hpp:143</a></div></div>
+<div class="ttc" id="a00167_html_gab3d5c6aaeb5815f8f080305888f6828f"><div class="ttname"><a href="a00167.html#gab3d5c6aaeb5815f8f080305888f6828f">glm::lowp_imat3x3</a></div><div class="ttdeci">tmat3x3&lt; int, lowp &gt; lowp_imat3x3</div><div class="ttdoc">Low-precision signed integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00164">matrix_integer.hpp:164</a></div></div>
+<div class="ttc" id="a00167_html_ga3f8e55e14a6fc61850f8c0df9b4ff655"><div class="ttname"><a href="a00167.html#ga3f8e55e14a6fc61850f8c0df9b4ff655">glm::mediump_imat2</a></div><div class="ttdeci">tmat2x2&lt; int, mediump &gt; mediump_imat2</div><div class="ttdoc">Medium-precision signed integer 2x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00085">matrix_integer.hpp:85</a></div></div>
+<div class="ttc" id="a00167_html_ga1f2cfcf3357db0cdf31fcb15e3c6bafb"><div class="ttname"><a href="a00167.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb">glm::umat3x3</a></div><div class="ttdeci">mediump_umat3x3 umat3x3</div><div class="ttdoc">Unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00466">matrix_integer.hpp:466</a></div></div>
+<div class="ttc" id="a00167_html_ga551ad2e4e0304c67451ffbadeef0d615"><div class="ttname"><a href="a00167.html#ga551ad2e4e0304c67451ffbadeef0d615">glm::mediump_imat4</a></div><div class="ttdeci">tmat4x4&lt; int, mediump &gt; mediump_imat4</div><div class="ttdoc">Medium-precision signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00093">matrix_integer.hpp:93</a></div></div>
+<div class="ttc" id="a00167_html_ga93961d3aac6efa36dc3f9cfa7e9056e6"><div class="ttname"><a href="a00167.html#ga93961d3aac6efa36dc3f9cfa7e9056e6">glm::mediump_umat3</a></div><div class="ttdeci">tmat3x3&lt; uint, mediump &gt; mediump_umat3</div><div class="ttdoc">Medium-precision unsigned integer 3x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00238">matrix_integer.hpp:238</a></div></div>
+<div class="ttc" id="a00167_html_ga742be484e56e08ef637f8ec4ab7c8bb2"><div class="ttname"><a href="a00167.html#ga742be484e56e08ef637f8ec4ab7c8bb2">glm::lowp_umat4x4</a></div><div class="ttdeci">tmat4x4&lt; uint, lowp &gt; lowp_umat4x4</div><div class="ttdoc">Low-precision unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00329">matrix_integer.hpp:329</a></div></div>
+<div class="ttc" id="a00167_html_ga5f5f1e6dc06b72216463a425b2f7613e"><div class="ttname"><a href="a00167.html#ga5f5f1e6dc06b72216463a425b2f7613e">glm::highp_imat2x3</a></div><div class="ttdeci">tmat2x3&lt; int, highp &gt; highp_imat2x3</div><div class="ttdoc">High-precision signed integer 2x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00052">matrix_integer.hpp:52</a></div></div>
+<div class="ttc" id="a00167_html_ga7b6c64600bad79d735fa6bec843b2bb4"><div class="ttname"><a href="a00167.html#ga7b6c64600bad79d735fa6bec843b2bb4">glm::lowp_umat2x4</a></div><div class="ttdeci">tmat2x4&lt; uint, lowp &gt; lowp_umat2x4</div><div class="ttdoc">Low-precision unsigned integer 2x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00305">matrix_integer.hpp:305</a></div></div>
+<div class="ttc" id="a00167_html_ga38bc7bb6494e344185df596deeb4544c"><div class="ttname"><a href="a00167.html#ga38bc7bb6494e344185df596deeb4544c">glm::umat4</a></div><div class="ttdeci">mediump_umat4 umat4</div><div class="ttdoc">Unsigned integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00446">matrix_integer.hpp:446</a></div></div>
+<div class="ttc" id="a00167_html_ga7b33bbe4f12c060892bd3cc8d4cd737f"><div class="ttname"><a href="a00167.html#ga7b33bbe4f12c060892bd3cc8d4cd737f">glm::imat3x2</a></div><div class="ttdeci">mediump_imat3x2 imat3x2</div><div class="ttdoc">Signed integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00385">matrix_integer.hpp:385</a></div></div>
+<div class="ttc" id="a00167_html_ga159ce04cc638ff4db755542cd8f758cb"><div class="ttname"><a href="a00167.html#ga159ce04cc638ff4db755542cd8f758cb">glm::highp_imat4</a></div><div class="ttdeci">tmat4x4&lt; int, highp &gt; highp_imat4</div><div class="ttdoc">High-precision signed integer 4x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00044">matrix_integer.hpp:44</a></div></div>
+<div class="ttc" id="a00167_html_gad4fea24b4100e21ed7742c91e5458d49"><div class="ttname"><a href="a00167.html#gad4fea24b4100e21ed7742c91e5458d49">glm::highp_imat3x4</a></div><div class="ttdeci">tmat3x4&lt; int, highp &gt; highp_imat3x4</div><div class="ttdoc">High-precision signed integer 3x4 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00068">matrix_integer.hpp:68</a></div></div>
+<div class="ttc" id="a00167_html_gab1d8e627b6a0b21c9b5e599a89132d8f"><div class="ttname"><a href="a00167.html#gab1d8e627b6a0b21c9b5e599a89132d8f">glm::highp_umat3x2</a></div><div class="ttdeci">tmat3x2&lt; uint, highp &gt; highp_umat3x2</div><div class="ttdoc">High-precision unsigned integer 3x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00209">matrix_integer.hpp:209</a></div></div>
+<div class="ttc" id="a00167_html_ga0c66b9b7c10a6017a58a03489c8d4c73"><div class="ttname"><a href="a00167.html#ga0c66b9b7c10a6017a58a03489c8d4c73">glm::highp_imat4x3</a></div><div class="ttdeci">tmat4x3&lt; int, highp &gt; highp_imat4x3</div><div class="ttdoc">High-precision signed integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00076">matrix_integer.hpp:76</a></div></div>
+<div class="ttc" id="a00167_html_ga899a376888652fe3c03718641812bb27"><div class="ttname"><a href="a00167.html#ga899a376888652fe3c03718641812bb27">glm::highp_umat4x3</a></div><div class="ttdeci">tmat4x3&lt; uint, highp &gt; highp_umat4x3</div><div class="ttdoc">High-precision unsigned integer 4x3 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00225">matrix_integer.hpp:225</a></div></div>
+<div class="ttc" id="a00167_html_gaaba8a59eac3e5c0b3aaa9b35c1f10292"><div class="ttname"><a href="a00167.html#gaaba8a59eac3e5c0b3aaa9b35c1f10292">glm::highp_umat4x2</a></div><div class="ttdeci">tmat4x2&lt; uint, highp &gt; highp_umat4x2</div><div class="ttdoc">High-precision unsigned integer 4x2 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="a00064_source.html#l00221">matrix_integer.hpp:221</a></div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00065.html b/src/third_party/glm/doc/api/a00065.html
new file mode 100644
index 0000000..fbdb180
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00065.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_interpolation.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_interpolation.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00065_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga9aef292eb5f29bdbb58a53ef4281af92"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga9aef292eb5f29bdbb58a53ef4281af92"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00205.html#ga9aef292eb5f29bdbb58a53ef4281af92">axisAngle</a> (tmat4x4&lt; T, P &gt; const &amp;mat, tvec3&lt; T, P &gt; &amp;axis, T &amp;angle)</td></tr>
+<tr class="separator:ga9aef292eb5f29bdbb58a53ef4281af92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga82d4bc058e9628cb2ea1d4e117a0cf39"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga82d4bc058e9628cb2ea1d4e117a0cf39"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00205.html#ga82d4bc058e9628cb2ea1d4e117a0cf39">axisAngleMatrix</a> (tvec3&lt; T, P &gt; const &amp;axis, T const angle)</td></tr>
+<tr class="separator:ga82d4bc058e9628cb2ea1d4e117a0cf39"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga6b8170aa4cf43caf81400696ebb38afe"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga6b8170aa4cf43caf81400696ebb38afe"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00205.html#ga6b8170aa4cf43caf81400696ebb38afe">extractMatrixRotation</a> (tmat4x4&lt; T, P &gt; const &amp;mat)</td></tr>
+<tr class="separator:ga6b8170aa4cf43caf81400696ebb38afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga45099a92c5c704503565619ac2bcd5c6"><td class="memTemplParams" colspan="2">template&lt;typename T , precision P&gt; </td></tr>
+<tr class="memitem:ga45099a92c5c704503565619ac2bcd5c6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4&lt; T, P &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00205.html#ga45099a92c5c704503565619ac2bcd5c6">interpolate</a> (tmat4x4&lt; T, P &gt; const &amp;m1, tmat4x4&lt; T, P &gt; const &amp;m2, T const delta)</td></tr>
+<tr class="separator:ga45099a92c5c704503565619ac2bcd5c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00205.html">GLM_GTX_matrix_interpolation</a> </p>
+<dl class="section author"><dt>Author</dt><dd>Ghenadii Ursachi (<a href="#" onclick="location.href='mai'+'lto:'+'the'+'.a'+'ste'+'ro'+'th@'+'gm'+'ail'+'.c'+'om'; return false;">the.a<span style="display: none;">.nosp@m.</span>ster<span style="display: none;">.nosp@m.</span>oth@g<span style="display: none;">.nosp@m.</span>mail<span style="display: none;">.nosp@m.</span>.com</a>)</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00065_source.html">matrix_interpolation.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00065_source.html b/src/third_party/glm/doc/api/a00065_source.html
new file mode 100644
index 0000000..00f3069
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00065_source.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_interpolation.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix_interpolation.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00065.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Dependency:</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../glm.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTX_matrix_interpolation extension included&quot;)</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        GLM_FUNC_DECL <span class="keywordtype">void</span> <a class="code" href="a00205.html#ga9aef292eb5f29bdbb58a53ef4281af92">axisAngle</a>(</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                tmat4x4&lt;T, P&gt; <span class="keyword">const</span> &amp; mat,</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                tvec3&lt;T, P&gt; &amp; <a class="code" href="a00172.html#ga0b3e87a13b2708154b72259e50789a19">axis</a>,</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;                T &amp; <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, P&gt; <a class="code" href="a00205.html#ga82d4bc058e9628cb2ea1d4e117a0cf39">axisAngleMatrix</a>(</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                tvec3&lt;T, P&gt; <span class="keyword">const</span> &amp; <a class="code" href="a00172.html#ga0b3e87a13b2708154b72259e50789a19">axis</a>,</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                T <span class="keyword">const</span> <a class="code" href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">angle</a>);</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, P&gt; <a class="code" href="a00205.html#ga6b8170aa4cf43caf81400696ebb38afe">extractMatrixRotation</a>(</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                tmat4x4&lt;T, P&gt; <span class="keyword">const</span> &amp; mat);</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, precision P&gt;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        GLM_FUNC_DECL tmat4x4&lt;T, P&gt; <a class="code" href="a00205.html#ga45099a92c5c704503565619ac2bcd5c6">interpolate</a>(</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;                tmat4x4&lt;T, P&gt; <span class="keyword">const</span> &amp; m1,</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                tmat4x4&lt;T, P&gt; <span class="keyword">const</span> &amp; m2,</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                T <span class="keyword">const</span> delta);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#include &quot;matrix_interpolation.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00172_html_ga0b3e87a13b2708154b72259e50789a19"><div class="ttname"><a href="a00172.html#ga0b3e87a13b2708154b72259e50789a19">glm::axis</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3&lt; T, P &gt; axis(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the q rotation axis. </div></div>
+<div class="ttc" id="a00205_html_ga82d4bc058e9628cb2ea1d4e117a0cf39"><div class="ttname"><a href="a00205.html#ga82d4bc058e9628cb2ea1d4e117a0cf39">glm::axisAngleMatrix</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; axisAngleMatrix(tvec3&lt; T, P &gt; const &amp;axis, T const angle)</div><div class="ttdoc">Build a matrix from axis and angle. </div></div>
+<div class="ttc" id="a00205_html_ga9aef292eb5f29bdbb58a53ef4281af92"><div class="ttname"><a href="a00205.html#ga9aef292eb5f29bdbb58a53ef4281af92">glm::axisAngle</a></div><div class="ttdeci">GLM_FUNC_DECL void axisAngle(tmat4x4&lt; T, P &gt; const &amp;mat, tvec3&lt; T, P &gt; &amp;axis, T &amp;angle)</div><div class="ttdoc">Get the axis and angle of the rotation from a matrix. </div></div>
+<div class="ttc" id="a00172_html_gad4a4448baedb198b2b1e7880d2544dc9"><div class="ttname"><a href="a00172.html#gad4a4448baedb198b2b1e7880d2544dc9">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(tquat&lt; T, P &gt; const &amp;x)</div><div class="ttdoc">Returns the quaternion rotation angle. </div></div>
+<div class="ttc" id="a00205_html_ga6b8170aa4cf43caf81400696ebb38afe"><div class="ttname"><a href="a00205.html#ga6b8170aa4cf43caf81400696ebb38afe">glm::extractMatrixRotation</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; extractMatrixRotation(tmat4x4&lt; T, P &gt; const &amp;mat)</div><div class="ttdoc">Extracts the rotation part of a matrix. </div></div>
+<div class="ttc" id="a00205_html_ga45099a92c5c704503565619ac2bcd5c6"><div class="ttname"><a href="a00205.html#ga45099a92c5c704503565619ac2bcd5c6">glm::interpolate</a></div><div class="ttdeci">GLM_FUNC_DECL tmat4x4&lt; T, P &gt; interpolate(tmat4x4&lt; T, P &gt; const &amp;m1, tmat4x4&lt; T, P &gt; const &amp;m2, T const delta)</div><div class="ttdoc">Build a interpolation of 4 * 4 matrixes. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00066.html b/src/third_party/glm/doc/api/a00066.html
new file mode 100644
index 0000000..93a36b5
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00066.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_inverse.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_inverse.hpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a href="a00066_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:gae0fcc5fc8783291f9702272de428fa0e"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gae0fcc5fc8783291f9702272de428fa0e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00168.html#gae0fcc5fc8783291f9702272de428fa0e">affineInverse</a> (genType const &amp;m)</td></tr>
+<tr class="separator:gae0fcc5fc8783291f9702272de428fa0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gab213cd0e3ead5f316d583f99d6312008"><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
+<tr class="memitem:gab213cd0e3ead5f316d583f99d6312008"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00168.html#gab213cd0e3ead5f316d583f99d6312008">inverseTranspose</a> (genType const &amp;m)</td></tr>
+<tr class="separator:gab213cd0e3ead5f316d583f99d6312008"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00168.html">GLM_GTC_matrix_inverse</a> </p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
+
+<p>Definition in file <a class="el" href="a00066_source.html">matrix_inverse.hpp</a>.</p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00066_source.html b/src/third_party/glm/doc/api/a00066_source.html
new file mode 100644
index 0000000..f140a9a
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00066_source.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_inverse.hpp Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">matrix_inverse.hpp</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a href="a00066.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#pragma once</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// Dependencies</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;../detail/setup.hpp&quot;</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;../matrix.hpp&quot;</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;../mat2x2.hpp&quot;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;../mat3x3.hpp&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;../mat4x4.hpp&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED &amp;&amp; !defined(GLM_EXT_INCLUDED)</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#       pragma message(&quot;GLM: GLM_GTC_matrix_inverse extension included&quot;)</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt; </div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00168.html#gae0fcc5fc8783291f9702272de428fa0e">affineInverse</a>(genType <span class="keyword">const</span> &amp; m);</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> genType&gt;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        GLM_FUNC_DECL genType <a class="code" href="a00168.html#gab213cd0e3ead5f316d583f99d6312008">inverseTranspose</a>(genType <span class="keyword">const</span> &amp; m);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}<span class="comment">//namespace glm</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &quot;matrix_inverse.inl&quot;</span></div>
+<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
+<div class="ttc" id="a00168_html_gab213cd0e3ead5f316d583f99d6312008"><div class="ttname"><a href="a00168.html#gab213cd0e3ead5f316d583f99d6312008">glm::inverseTranspose</a></div><div class="ttdeci">GLM_FUNC_DECL genType inverseTranspose(genType const &amp;m)</div><div class="ttdoc">Compute the inverse transpose of a matrix. </div></div>
+<div class="ttc" id="a00168_html_gae0fcc5fc8783291f9702272de428fa0e"><div class="ttname"><a href="a00168.html#gae0fcc5fc8783291f9702272de428fa0e">glm::affineInverse</a></div><div class="ttdeci">GLM_FUNC_DECL genType affineInverse(genType const &amp;m)</div><div class="ttdoc">Fast matrix inverse for affine matrix. </div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.10
+</small></address>
+</body>
+</html>
diff --git a/src/third_party/glm/doc/api/a00067.html b/src/third_party/glm/doc/api/a00067.html
new file mode 100644
index 0000000..fe62080
--- /dev/null
+++ b/src/third_party/glm/doc/api/a00067.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.10"/>
+<title>0.9.8: matrix_major_storage.hpp File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">0.9.8
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.10 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File&#160;List</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li>  </ul>