aboutsummaryrefslogtreecommitdiff
path: root/src/libraries/glm/gtx/orthonormalize.inl
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
committerFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
commitc068f22329d5cc722622a2183bbb22eef2093df7 (patch)
tree12d56c1aede67988a55e241364606bfbb4dba933 /src/libraries/glm/gtx/orthonormalize.inl
downloadopenparsec-main.tar.xz
openparsec-main.zip
initial importHEADmain
Diffstat (limited to 'src/libraries/glm/gtx/orthonormalize.inl')
-rwxr-xr-xsrc/libraries/glm/gtx/orthonormalize.inl43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/libraries/glm/gtx/orthonormalize.inl b/src/libraries/glm/gtx/orthonormalize.inl
new file mode 100755
index 0000000..559a3ae
--- /dev/null
+++ b/src/libraries/glm/gtx/orthonormalize.inl
@@ -0,0 +1,43 @@
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// OpenGL Mathematics Copyright (c) 2005 - 2012 G-Truc Creation (www.g-truc.net)
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Created : 2005-12-21
+// Updated : 2005-12-21
+// Licence : This source is under MIT License
+// File : glm/gtx/orthonormalize.inl
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+namespace glm
+{
+ template <typename T>
+ GLM_FUNC_QUALIFIER detail::tmat3x3<T> orthonormalize
+ (
+ const detail::tmat3x3<T>& m
+ )
+ {
+ detail::tmat3x3<T> r = m;
+
+ r[0] = normalize(r[0]);
+
+ float d0 = dot(r[0], r[1]);
+ r[1] -= r[0] * d0;
+ r[1] = normalize(r[1]);
+
+ float d1 = dot(r[1], r[2]);
+ d0 = dot(r[0], r[2]);
+ r[2] -= r[0] * d0 + r[1] * d1;
+ r[2] = normalize(r[2]);
+
+ return r;
+ }
+
+ template <typename T>
+ GLM_FUNC_QUALIFIER detail::tvec3<T> orthonormalize
+ (
+ const detail::tvec3<T>& x,
+ const detail::tvec3<T>& y
+ )
+ {
+ return normalize(x - y * dot(y, x));
+ }
+}//namespace glm