aboutsummaryrefslogtreecommitdiff
path: root/src/vec4ops/vec4ops.h
diff options
context:
space:
mode:
authorDavid Doan <daviddoan@Davids-MacBook-Pro-100.local>2023-12-08 15:04:43 -0500
committerDavid Doan <daviddoan@Davids-MacBook-Pro-100.local>2023-12-08 15:04:43 -0500
commit87be193a27a4d6ab583982e6d22eaccf154fff34 (patch)
tree4db10fc80f9077db4aab78ebd288b36ef4ca9368 /src/vec4ops/vec4ops.h
parenta44bcf18656062785c89e8fde25c232431b0d585 (diff)
parent480c22ce9b50caad259e254d0127e99294b4c6ab (diff)
merge
Diffstat (limited to 'src/vec4ops/vec4ops.h')
-rw-r--r--src/vec4ops/vec4ops.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/vec4ops/vec4ops.h b/src/vec4ops/vec4ops.h
new file mode 100644
index 0000000..d1c3ac8
--- /dev/null
+++ b/src/vec4ops/vec4ops.h
@@ -0,0 +1,37 @@
+//
+// Created by Michael Foiani on 12/8/23.
+//
+
+#ifndef PROJECTS_RAY_VEC4OPS_H
+#define PROJECTS_RAY_VEC4OPS_H
+
+#include <glm/glm.hpp>
+
+class Vec4Ops {
+public:
+
+ static glm::mat4 getRotationMatrix4XY(float angleRadians);
+
+ static glm::mat4 getRotationMatrix4YZ(float angleRadians);
+
+ static glm::mat4 getRotationMatrix4ZX(float angleRadians);
+
+ static glm::mat4 getRotationMatrix4XW(float angleRadians);
+
+ static glm::mat4 getRotationMatrix4YW(float angleRadians);
+
+ static glm::mat4 getRotationMatrix4ZW(float angleRadians);
+
+ static glm::vec4 transformPoint4(glm::vec4 point4, glm::mat4 transformDirectionMatrix, glm::vec4 translationPointVector);
+
+ static glm::vec4 inverseTransformPoint4(glm::vec4 point4, glm::mat4 inverseTransformDirectionMatrix,
+ glm::vec4 inverseTranslationPointVector);
+
+ static glm::vec4 cross4(glm::vec4 u, glm::vec4 v, glm::vec4 w);
+
+ static glm::vec4 dot4(glm::vec4 u, glm::vec4 v);
+
+ static glm::mat4 getViewMatrix4(glm::vec4 fromPoint, glm::vec4 toPoint, glm::vec4 upVector, glm::vec4 lookVector);
+};
+
+#endif //PROJECTS_RAY_VEC4OPS_H